Subject: [sv-cc] FW: Errata: LRM 26.4.1.2: Import Fn Arg Direction
From: Duncan, Ralph (ralph_duncan@mentorg.com)
Date: Tue Sep 30 2003 - 14:11:05 PDT
I. PROBLEM DESCRIPTION 
LRM section 26.4.1.2 is inconsistent with the rest of the document,
describing 
DPI import function arguments as being either 'input' or 'output' mode,
and 
omitting 'inout' mode. 
a. The Problemmatic section is LRM section 26.4.1.2 
        1. The title is "input and output arguments" 
        2. It states "Imported functions may have input and output
arguments." 
           and proceeds to describe those two only. 
b. This is inconsistent with 
        1. Section 26.5.1, which describes the effect of calling import
'inout' arguments, 
           as well as 'output' and 'input' arguments. 
        2. Section 26.5.2 which describes the timing semantics of
calling 'output' and 'inout' 
           for imported functions. 
        3. Section D.5.4, entitled "value changes for output and inout
arguments" 
        4. Section D.7.8 which discusses mechanics of passing import
function 'output' and 
           'inout' arguments. 
        5. Formal grammar section A.2.6 where 
           dpi_function_proto => named_function_proto =>
<...>list_of_function_proto_formals <...> => 
           <...> function_proto_formal => tf_inout_declaration 
II. SUGGESTED CHANGES 
a. Change title 26.4.1.2 to "input, output and inout arguments" 
b. Change the first sentence of 26.4.1.2 to read "Imported functions may
have input, output and 
   inout arguments." 
c. Add the following final paragraph to the section: 
   "The imported function may access the initial value of a formal inout
argument.  Changes that the 
   imported function makes to a formal inout argument shall be visible
outside the function." 
Ralph Duncan 
Staff Engineer 
Mentor Graphics 
San Jose, CA 
ralph_duncan@mentor.com 
This archive was generated by hypermail 2b28 : Tue Sep 30 2003 - 14:13:42 PDT