CVS difference for ais/ai-10284.txt

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

--- ais/ai-10284.txt	2004/09/04 01:13:47	1.2
+++ ais/ai-10284.txt	2004/10/05 22:49:20	1.3
@@ -1,6 +1,8 @@
-!standard 2.09    (02)                              04-07-19  AI95-00284-02/01
-!standard 2.08    (02)
+!standard 2.09    (02)                              04-09-22  AI95-00284-02/02
+!standard J.12    (01)
 !class amendment 04-07-19
+!status Amendment 200Y 04-09-22
+!status ARG Approved 9-0-0  04-09-17
 !status work item 04-07-19
 !status received 04-07-19
 !priority Medium
@@ -26,17 +28,23 @@
 !wording
 
 Add "interface", "overriding" and "synchronized" to the list of
-reserved words in 2.9.
+reserved words in 2.9(2).
 
-Change 2.8(2):
-   pragma ::= pragma identifier [(pragma_argument_association
-                                 {, pragma_argument_association})];
-
-to:
-   pragma ::= pragma pragma_designator [(pragma_argument_association
-                                 {, pragma_argument_association})];
-   pragma_designator ::= identifier | Interface
+Add a new clause to Annex J:
 
+J.12 Pragma Interface
+
+Syntax
+
+In addition to an identifier, the reserved word "interface" is allowed as a
+pragma name, to provide compatibility with a prior edition of the International
+Standard.
+
+AARM Note
+
+All implementations need to at least recognize and ignore this pragma. A
+syntax error is not an acceptable implementation of this pragma.
+
 !discussion
 
 All modern programming languages require that keywords be
@@ -78,8 +86,7 @@
 "Interface" was used in Ada83 as the name of a pragma. Although this
 pragma disappeared from Ada95, many compilers still support it as an
 implementation defined pragma for upward compatibility. In order not
-to outlaw pragma Interface, the syntax of a pragma is changed
-similarly to the syntax of attributes (which can be reserved words).
+to outlaw pragma Interface, it is added to Annex J.
 
 Apart from this special case, let's consider some cases where
 "interface" could be used as an identifier.
@@ -170,8 +177,23 @@
 !example
 
 (See discussion.)
+
+!corrigendum 02.09(2)
+
+@dinsl
+@B<interface>@hr
+@b<overriding>@hr
+@b<synchronized>
+
+!corrigendum J.12(1)
+
+@dinsc
+
+@i<@s8<Syntax>>
 
---!corrigendum 02.09(2)
+In addition to an identifier, the reserved word @b<interface> is allowed as a
+pragma name, to provide compatibility with a prior edition of the International
+Standard.
 
 !ACATS test
 

Questions? Ask the ACAA Technical Agent