Number | 243
|
Category | errata
|
Synopsis | 10.3.1: Call functions "reentrant", not "recursive"
|
State | lrmdraft
|
Class | errata-simple
|
Arrival-Date | Jan 01 2003
|
Originator | Paul Graham
|
Release | 2001b: 10.3.1
|
Environment |
http://boydtechinc.com/btf/archive/btf_2002/1794.html http://boydtechinc.com/btf/archive/btf_2002/1795.html |
Description |
From Paul Graham, in http://boydtechinc.com/btf/archive/btf_2002/1794.html : The definitions of functions and tasks are unnecessarily divergent. Section 10.2.1 says: The first syntax shall begin with the keyword task, followed by the optional keyword automatic, followed by a name for the task and a semicolon, and ending with the keyword endtask. The keyword automatic declares an automatic task that is reentrant with all the task declarations allocated dynamically for each concurrent task entry. While section 10.3.1 says: The keyword automatic declares a recursive function with all the function declarations allocated dynamically for each recursive call. I think 10.3.1 should use "reentrant" instead of "recursive", since just declaring a function "automatic" does not make it a recursive function. The problem occurs only in 10.3.1, para. 3. Mac also agreed to this change. |
Fix |
In 10.3.1, change "The keyword automatic declares a recursive function with all the function declarations allocated dynamically for each recursive call." TO: "The keyword automatic declares an automatic function that is reentrant with all the function declarations allocated dynamically for each concurrent function call." |
Audit-Trail |
|
Unformatted |
|
Hosted by Boyd Technology