CVS difference for ai05s/ai05-0229-1.txt
--- ai05s/ai05-0229-1.txt 2011/08/17 00:24:12 1.20
+++ ai05s/ai05-0229-1.txt 2011/09/29 06:34:03 1.21
@@ -1,4 +1,4 @@
-!standard 1.1.3(17) 11-08-05 AI05-0229-1/12
+!standard 1.1.3(17) 11-09-27 AI05-0229-1/13
!standard 2.9(18)
!standard 2.8(29/2)
!standard 3.6.2(11)
@@ -714,7 +714,7 @@
Replace E.2.3(16):
A pragma All_Calls_Remote sets the All_Calls_Remote representation aspect of the
-library unit to which it applies to the value True. If the All_Calls_Remote
+library unit to which the pragma applies to the value True. If the All_Calls_Remote
aspect of a library unit is True, the library unit shall be a remote call
interface.
@@ -1479,7 +1479,7 @@
Replace the first sentence of 6.1(20/3) with:
A subprogram_declaration or a generic_subprogram_declaration requires a completion
-[Redundant: unless the Import aspect (see B.1) is True for the declaration; the completion will be
+[Redundant: unless the Import aspect (see B.1) is True for the declaration; the completion shall be
a body or a renaming_declaration (see 8.5)].
AARM Proof: When the Import aspect is True for any entity, no completion is allowed (see B.1).
@@ -1507,8 +1507,8 @@
with Import => True, Convention => Assembler Link_Name => "CPU_ID";
-- see B.1
-In 3.6.2(11), replace "a pragma Convention(Fortran, ...);" with "aspect Convention specifying
-convention_identifier Fortran".
+In 3.6.2(11), replace "a pragma Convention(Fortran, ...);" with "aspect Convention is specified to have
+convention_identifier Fortran for".
Delete B.3.2(12); in B.3.2(10-11), add "with Convention => Intrinsic" to each declaration.
@@ -2337,7 +2337,7 @@
@dby
A @fa<subprogram_declaration> or a @fa<generic_subprogram_declaration> requires
a completion: unless the Import aspect (see B.1) is True for the declaration; the
-completion will be a body or a @fa<renaming_declaration> (see 8.5).
+completion shall be a body or a @fa<renaming_declaration> (see 8.5).
A completion is not allowed for an
@fa<abstract_subprogram_declaration> (see 3.9.3), a
@fa<null_procedure_declaration> (see 6.7), or an
@@ -2362,7 +2362,7 @@
in a @fa<pragma> Convention, Import, or Export.
@dby
Of these four conventions, only Ada and Intrinsic are allowed as a @I<convention_>identifier
-in the specification of aspect Convention.
+in the specification of a Convention aspect.
!corrigendum 6.3.2(2)
@@ -3764,7 +3764,7 @@
interface.
@dby
A pragma All_Calls_Remote sets the All_Calls_Remote representation aspect of the
-library unit to which it applies to the value True. If the All_Calls_Remote
+library unit to which the pragma applies to the value True. If the All_Calls_Remote
aspect of a library unit is True, the library unit shall be a remote call
interface.
@@ -3868,7 +3868,7 @@
If COBOL (respectively, C) is widely supported in the target environment, implementations supporting
the Information Systems Annex should provide the child package Interfaces.COBOL (respectively,
Interfaces.C) specified in Annex B and should support a convention_identifier of COBOL (respectively,
-C) in the Convention aspect (see Annex B), thus allowing Ada programs to interface with programs
+C) for the Convention aspect (see Annex B), thus allowing Ada programs to interface with programs
written in that language.
@@ -3910,7 +3910,7 @@
If Fortran (respectively, C) is widely supported in the target environment, implementations supporting
the Information Systems Annex should provide the child package Interfaces.Fortran (respectively,
Interfaces.C) specified in Annex B and should support a convention_identifier of Fortran (respectively,
-C) in the Convention aspect (see Annex B), thus allowing Ada programs to interface with programs
+C) for the Convention aspect (see Annex B), thus allowing Ada programs to interface with programs
written in that language.
@@ -8322,6 +8322,48 @@
****************************************************************
+!topic Language Defined Aspects
+!reference Ada 2012 RM L
+!from Christoph Grein 2011-07-14
+!keywords pragma aspect
+!discussion
+We have Annex L Language Defined Pragmas.
+
+Since aspects now replace many pragmas, shouldn't that now be Annex L Language
+Defined Aspects and Pragmas?
+
+It's difficult to see which aspects are allowed for a given declaration.
+For instance, which aspects are allowed on generic_instantiation? This annex should
+help solve this problem.
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Monday, July 18, 2011 8:00 PM
+
+...
+> We have Annex L Language Defined Pragmas.
+>
+> Since aspects now replace many pragmas, shouldn't that now be Annex L
+> Language Defined Aspects and Pragmas?
+
+No.
+
+> It's difficult to see which aspects are allowed for a given declaration.
+> For instance, which aspects are allowed on generic_instantiation? This
+> annex should help solve this problem.
+
+Right idea, wrong annex, and the need was long since realized by the ARG (see
+AI05-0229-1 for details). The contents of the annex were written months ago by Bob Duff.
+As noted in the page describing this draft, not all of the contents of AI05-0212-1 or
+AI05-0229-1 made it into draft 12. I just haven't put that annex into the standard as
+it will require significant programming effort for the formatter tool (and substantial
+work placing the individual commands into the RM source files) and it seemed that it was
+a better use of my limited time to get the majority of the normative text into draft 12
+rather than spending most of the time on a non-normative annex.
+
+****************************************************************
+
From: Randy Brukardt
Sent: Wednesday, August 10, 2011 8:44 PM
@@ -8362,7 +8404,7 @@
From: Randy Brukardt
Sent: Thursday, August 11, 2011 12:14 AM
-.11.1 prattles on and on with exceptions for pragmas that are completions.
+3.11.1 prattles on and on with exceptions for pragmas that are completions.
With the various aspect changes, there are no longer any such
(language-defined) pragmas. Pragma Import sets aspect Import; a completion
@@ -8441,3 +8483,4 @@
If it ain't broke, don't fix it. Very broke.
****************************************************************
+
Questions? Ask the ACAA Technical Agent