CVS difference for ais/ai-00036.txt

Differences between 1.1 and version 1.2
Log of other versions for file ais/ai-00036.txt

--- ais/ai-00036.txt	1998/09/30 00:17:08	1.1
+++ ais/ai-00036.txt	1999/07/29 00:51:01	1.2
@@ -1,11 +1,12 @@
-!standard 02.08    (04)                               96-02-06  AI95-00036/03
+!standard 02.08    (04)                               96-07-28  AI95-00036/04
 !class binding interpretation 95-06-25
+!status Corrigendum 2000 99-07-28
 !status WG9 approved 95-06-14
 !status ARG approved (subject to editorial review) 4-0-5  95-11-01
 !status received 95-06-25
 !subject What are the rules for named notation in pragmas?
 
-!summary 95-06-25
+!summary
 
 A pragma must obey the syntax rules for that particular pragma.
 In particular, arguments written in named notation must not be given
@@ -16,7 +17,7 @@
 pragma, the second argument corresponds to the second, and so on.
 This is true even in the presence of optional arguments.
 
-!question 95-06-25
+!question
 
 The syntax given for pragma Import is
 
@@ -50,14 +51,16 @@
 (by eliding the text in the outer brackets on line (3) and the text in
 the inner brackets on line(4))?
 
-!recommendation 95-06-25
+!recommendation
 
 (See summary.)
 
-!wording 95-06-25
+!wording
 
-!discussion 95-06-25
+(See corrigendum.)
 
+!discussion
+
 As mentioned in 2.8(11.i), it is not the intent to allow reordering,
 even when named notation is used.
 
@@ -72,8 +75,23 @@
    pragma Import (C, Raise_Signal, External_Name => "raise");
 
 since External_Name is the third argument of pragma Import.
+
+!corrigendum B.1(9)
+
+@dinsa
+@xindent<A @fa<pragma> Linker_Options is allowed only at the place of a
+@fa<declarative_item>.>
+@dinst
+@xindent<For pragmas Import and Export, the argument for Link_Name shall not
+be given without the pragma_argument_identifier unless the argument
+for External_Name is given.>
+
+!ACATS test
+
+Create a B-Test to insure that out of order arguments are not allowed in
+Import and Export.
 
-!appendix 95-10-21
+!appendix
 
 !section 2.8(4)
 !section B.1(5)
@@ -204,3 +222,41 @@
 
 
 ****************************************************************
+
+!from Kiyoshi Ishihata 99-06-28
+
+Rationale for corrigendum wording.
+
+Although this AI is discussing the syntax of pragmas in general,
+I believe that the wording change should be limited to Import and
+Export.  Answers to the questions about general syntax of pragmas
+merely confirm the RM.  There are no similar problems in the syntax
+of pragmas other than Import or Export.
+
+Only binding part in this AI is that a single string_expression in
+Import and Export should be interpreted as External_Name rather than
+Link_Name.  The other point of the AI, namely the fact that Link_Name
+cannot be given before External_Name does not need any wording.  It
+can be easily derived from the syntax rule.
+
+Possible combinations of External_Name and Link_Name can be summarized
+as follows.
+
+       External      Link
+(1)      omit        omit
+(2)      omit     positional     inhibited by this AI
+(3)      omit        named
+(4)   positional     omit
+(5)   positional  positional
+(6)   positional     named
+(7)      named       omit
+(8)      named    positional     inhibited by 2.8(4)
+(9)      named       named
+
+My wording inhibits the case (2) only.  The case (8) is already
+inhibited by 2.8(4).  If inhibiting both cases is preferable,
+we can add "without the pragma_argument_identifier" at the end
+of the sentence.
+
+****************************************************************
+

Questions? Ask the ACAA Technical Agent