Number | 325
|
Category | errata
|
Synopsis | 12.4 confused on hierarchy for automatics
|
State | lrmdraft
|
Class | errata-discuss
|
Arrival-Date | Apr 10 2003
|
Originator | sharp@cadence.com
|
Release | 2001b: 12.4
|
Environment |
|
Description |
12.4 has some confused statements about hierarchical names and automatic tasks and functions. The second paragraph states "Only non-recursively referenced automatic tasks and/or functions create visible branches that can be referenced. Recursively called tasks and functions, declared using the automatic keyword and recursively called from within the same task or function, do not create visible branches that can be referenced." It is irrelevant whether a task or function is called recursively (and this text only describes direct recursion anyway, not indirect recursion or non-recursive reentrance). If it is automatic, its variables cannot be accessed via hierarchical names, period (see 10.2 and 10.3.1). I don't know what this text was trying to describe, but it isn't doing it correctly. The end of the fourth paragraph has the text: "with the exception of items of automatic tasks and automatic task item declarations. These declarations can not be accessed by their hierarchical names." I don't know what the difference is supposed to be between "items of automatic tasks" and "automatic task item declarations". Maybe I am missing some distinction in the terminology, but it looks redundant to me. Meanwhile it doesn't mention automatic functions. |
Fix |
In 12.4: In the second paragraph, REPLACE "Only non-recursively referenced automatic tasks and/or functions create visible branches that can be referenced. Recursively called tasks and functions, declared using the automatic keyword and recursively called from within the same task or function, do not create visible branches that can be referenced. See 10.2.1 and 10.3.1 for a discussion of automatic tasks and functions." WITH "Automatic tasks and functions are exceptions, and do not create visible branches that can be referenced (see 10.2.1, 10.3.1)." In the fourth paragraph, REPLACE "with the exception of items of automatic tasks and automatic task item declarations. These declarations can not be accessed by their hierarchical names." WITH ". Objects declared in automatic tasks and functions are exceptions, and cannot be accessed by hierarchical name references." |
Audit-Trail |
From: Shalom.Bresticker@motorola.com To: sharp@cadence.com Cc: etf-bugs@boyd.com Subject: Re: errata/325: 12.4 confused on hierarchy for automatics Date: Fri, 11 Apr 2003 14:40:11 +0300 (IDT) I looked for the history of these texts. > 12.4 has some confused statements about hierarchical names > and automatic tasks and functions. The second paragraph > states > > "Only non-recursively referenced automatic tasks and/or > functions create visible branches that can be referenced. > Recursively called tasks and functions, declared using the > automatic keyword and recursively called from within the > same task or function, do not create visible branches that > can be referenced." > > It is irrelevant whether a task or function is called > recursively (and this text only describes direct recursion > anyway, not indirect recursion or non-recursive reentrance). > If it is automatic, its variables cannot be accessed via > hierarchical names, period (see 10.2 and 10.3.1). > > I don't know what this text was trying to describe, but > it isn't doing it correctly. This was suggested by Cliff in an email to the BTF on April 23, 1998. I don't have web access right now, so I can't give the URL. I did not understand why he proposed this specific wording. > The end of the fourth paragraph has the text: > > "with the exception of items of automatic tasks and > automatic task item declarations. These declarations can > not be accessed by their hierarchical names." > > I don't know what the difference is supposed to be between > "items of automatic tasks" and "automatic task item > declarations". Maybe I am missing some distinction in the > terminology, but it looks redundant to me. Meanwhile it > doesn't mention automatic functions. This was proposed in an email from Adam Krolnik to the BTF on July 24, 1998. The distinction seems to be that at the time it was proposed to distinguish between automatic tasks and automatic variables. That is, there might be declarations of automatic variables in a non-automatic context. This was later dropped, but the wording was not changed here. In fact, there was an email from a fellow named Steven Sharp on Oct 21, 1999, which fixed the language in Section 10, but seems to have missed parallel language in Section 12. -- Shalom Bresticker Shalom.Bresticker@motorola.com Design & Reuse Methodology Tel: +972 9 9522268 Motorola Semiconductor Israel, Ltd. Fax: +972 9 9522890 POB 2208, Herzlia 46120, ISRAEL Cell: +972 50 441478 From: Steven Sharp <sharp@cadence.com> To: sharp@cadence.com, Shalom.Bresticker@motorola.com Cc: etf-bugs@boyd.com Subject: Re: errata/325: 12.4 confused on hierarchy for automatics Date: Fri, 11 Apr 2003 21:36:01 -0400 (EDT) >> I don't know what this text was trying to describe, but >> it isn't doing it correctly. > >This was suggested by Cliff in an email to the BTF on April 23, 1998. >I don't have web access right now, so I can't give the URL. >I did not understand why he proposed this specific wording. Interesting, since this came up in a discussion I was having with Cliff. He left me to file the erratum. I guess it is unreasonable to expect him to remember the details 5 years later. >In fact, there was an email from a fellow named Steven Sharp on Oct 21, 1999, >which fixed the language in Section 10, but seems to have missed parallel >language in Section 12. Ah well, I hear he's not perfect. Steven Sharp sharp@cadence.com From: Shalom Bresticker <Shalom.Bresticker@motorola.com> To: etf-bugs@boyd.com Cc: Subject: Re: errata/325: 12.4 confused on hierarchy for automatics Date: Sun, 13 Apr 2003 11:31:20 +0300 URLs below: > > "Only non-recursively referenced automatic tasks and/or > > functions create visible branches that can be referenced. > > Recursively called tasks and functions, declared using the > > automatic keyword and recursively called from within the > > same task or function, do not create visible branches that > > can be referenced." > > This was suggested by Cliff in an email to the BTF on April 23, 1998. http://boydtechinc.com/btf/archive/btf_1998/0129.html > > "with the exception of items of automatic tasks and > > automatic task item declarations. These declarations can > > not be accessed by their hierarchical names." > > This was proposed in an email from Adam Krolnik to the BTF on July 24, 1998. http://boydtechinc.com/btf/archive/btf_1998/0278.html > In fact, there was an email from a fellow named Steven Sharp on Oct 21, 1999, > which fixed the language in Section 10, but seems to have missed parallel > language in Section 12. http://boydtechinc.com/btf/archive/btf_1999/0786.html From: Steven Sharp <sharp@cadence.com> To: etf-bugs@boyd.com, Shalom.Bresticker@motorola.com Cc: Subject: Re: errata/325: 12.4 confused on hierarchy for automatics Date: Sun, 13 Apr 2003 12:41:16 -0400 (EDT) OK, it looks like the distinction was that "automatic task items" were items explicitly declared to be automatic in a static task, which were removed. And as Shalom said, I proposed fixes to the exact same wording in section 10, but missed section 12. My replacement still looks OK, though we could change to wording in paragraph 4 that more closely matches section 10. Steven Sharp sharp@cadence.com Fix replaced by Shalom.Bresticker@motorola.com on Sun Nov 30 00:10:18 2003 In 12.4: In the second paragraph, REPLACE "Only non-recursively referenced automatic tasks and/or functions create visible branches that can be referenced. Recursively called tasks and functions, declared using the automatic keyword and recursively called from within the same task or function, do not create visible branches that can be referenced. See 10.2.1 and 10.3.1 for a discussion of automatic tasks and functions." WITH "Automatic tasks and functions are exceptions, and do not create visible branches that can be referenced (see 10.2.1, 10.3.1)." In the fourth paragraph, REPLACE "with the exception of items of automatic tasks and automatic task item declarations. These declarations can not be accessed by their hierarchical names." WITH ". Objects declared in automatic tasks and functions are exceptions, and cannot be accessed by hierarchical name references." |
Unformatted |
|
Hosted by Boyd Technology