ISSUE 325

Number 325
Category errata
Synopsis 12.4 confused on hierarchy for automatics
State lrmdraft
Class errata-discuss
Arrival-DateApr 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