CVS difference for ais/ai-00204.txt

Differences between 1.8 and version 1.9
Log of other versions for file ais/ai-00204.txt

--- ais/ai-00204.txt	2003/01/16 01:28:06	1.8
+++ ais/ai-00204.txt	2003/05/23 23:24:45	1.9
@@ -1,8 +1,4 @@
-!standard B.2      (12)                               03-01-15  AI95-00204/03
-!standard B.2      (13)
-!standard B.3      (61/1)
-!standard B.4      (92)
-!standard B.5      (20)
+!standard B.2      (12)                               03-04-15  AI95-00204/04
 !class binding interpretation 99-09-24
 !status work item 99-02-02
 !status received 98-03-27
@@ -16,10 +12,11 @@
 may be provided for any language independently of the others.
 
 Furthermore, support for the interfacing packages (such as Interfaces.Fortran)
-and the convention pragma for a language my be provided independently of each
+and the convention pragma for a language may be provided independently of each
 other.
 
-If a particular package or convention is supported then it must be supported as
+If a particular package or convention is supported then it need not be
+supported in full but any feature that is supported must be supported as
 described in Annex B.
 
 !question
@@ -33,7 +30,7 @@
 
 !wording
 
-Replace paragraphs B.2(12) and B.2(13) which state
+Replace paragraph B.2(12) which states
 
 For each implementation-defined convention identifier, there should be a child
 package of package Interfaces with the corresponding name. This package should
@@ -42,49 +39,26 @@
 interfacing to any language on the given hardware architecture should be
 provided directly in Interfaces.
 
-An implementation supporting an interface to C, COBOL, or Fortran should
-provided the corresponding package or packages described in the following
-clauses.
-
 by the following
-
-Support for interfacing to any foreign language is optional.
-
-A child package of package Interfaces with the name of a convention may be
-provided independently of whether the convention is supported by the pragma
-Convention and vice versa. Such a child package should contain any declarations
-that would be useful for interfacing to the language (implementation)
-represented by the convention. Any declarations useful for interfacing to any
-language on the given hardware architecture should be provided directly in
-Interfaces.
 
-If support is provided for convention C, C_Pass_By_Copy, Fortran or COBOL as an
-argument of pragma Convention then it shall be implemented as described in the
-following clauses. If support is provided for a package Interfaces.C,
-Interfaces.Fortran or Interfaces.COBOL then it shall be implemented together
-with its child packages as described in the following clauses.
-
-Replace paragraph B.3(61/1) by
-
-If an implementation supports the package Interfaces.C and it supports pragma
-Convention with a C convention_identifier for any one C eligible type or with a
-C_Pass_By_Copy convention_identifier for any one C_Pass_By_Copy eligible type,
-then it shall support pragma Convention with a C convention_identifier for all
-C eligible types and it shall support pragma Convention with a C_Pass_By_Copy
-convention_identifier for all C_Pass_By_Copy eligible types (see B.1).
-
-Replace paragraph B.4(92) by
-
-If an implementation supports the package Interfaces.COBOL and it supports
-pragma Convention with a COBOL convention_identifier for any one COBOL eligible
-type then it shall support it for all COBOL eligible types (see B.1).
-
-Replace paragraph B.5(20) by
-
-If an implementation supports the package Interfaces.Fortran and it supports
-pragma Convention with a Fortran convention_identifier for any one Fortran
-eligible type then it shall support it for all Fortran eligible types (see
-B.1).
+Support for interfacing to any foreign language is optional. However, an
+implementation shall not provide any attribute, library unit, or pragma
+having the same name as an attribute, library unit, or pragma (respectively)
+specified in the following clauses of this Annex unless the provided construct
+is either as specified in those clauses or is more limited in capability
+than that required by those clauses. A program that attempts to use an
+unsupported capability of this Annex shall either be identified by the
+implementation before run time or shall raise an exception at run time.
+(This is similar to the requirements regarding the Specialized Needs Annexes,
+see 1.1.3.)
+
+A child package of package Interfaces with the name of a convention may
+be provided independently of whether the convention is supported by the
+pragma Convention and vice versa. Such a child package should contain any
+declarations that would be useful for interfacing to the language
+(implementation) represented by the convention. Any declarations useful
+for interfacing to any language on the given hardware architecture should
+be provided directly in Interfaces.
 
 !discussion
 
@@ -107,6 +81,12 @@
 
 Similar rules apply to other foreign languages.
 
+In summary, the intent is that the foreign language interfacing features of
+this annex be treated as the Specialized Needs Annexes in that the features are
+optional but if provided must be provided correctly. Note that this does not
+apply to all the features of this annex such as the package Interfaces itself.
+
+
 !corrigendum B.02(12)
 
 @drepl
@@ -117,7 +97,16 @@
 interfacing to any language on the given hardware architecture should be
 provided directly in Interfaces.
 @dby
-Support for interfacing to any foreign language is optional.
+Support for interfacing to any foreign language is optional. However, an
+implementation shall not provide any attribute, library unit, or pragma
+having the same name as an attribute, library unit, or pragma (respectively)
+specified in the following clauses of this Annex unless the provided construct
+is either as specified in those clauses or is more limited in capability
+than that required by those clauses. A program that attempts to use an
+unsupported capability of this Annex shall either be identified by the
+implementation before run time or shall raise an exception at run time.
+(This is similar to the requirements regarding the Specialized Needs Annexes,
+see 1.1.3.)
 
 A child package of package Interfaces with the name of a convention may be
 provided independently of whether the convention is supported by the pragma
@@ -127,55 +116,6 @@
 language on the given hardware architecture should be provided directly in
 Interfaces.
 
-!corrigendum B.02(13)
-
-@drepl
-An implementation supporting an interface to C, COBOL, or Fortran should
-provided the corresponding package or packages described in the following
-clauses.
-@dby
-If support is provided for convention C, C_Pass_By_Copy, Fortran or COBOL as an
-argument of pragma Convention then it shall be implemented as described in the
-following clauses. If support is provided for a package Interfaces.C,
-Interfaces.Fortran or Interfaces.COBOL then it shall be implemented together
-with its child packages as described in the following clauses.
-
-!corrigendum B.03(61/1)
-
-@drepl
-An implementation shall support pragma Convention with a C
-@fa<@i<convention>_identifier> for a C-eligible type (see B.1). An
-implementation shall support pragma Convention with a C_Pass_By_Copy
-@fa<@i<convention>_identifier> for a C_Pass_By_Copy-eligible type.
-@dby
-If an implementation supports the package Interfaces.C and it supports pragma
-Convention with a C @fa<@i<convention>_identifier> for any one C eligible type
-or with a C_Pass_By_Copy @fa<@i<convention>_identifier> for any one
-C_Pass_By_Copy eligible type, then it shall support pragma Convention with a C
-@fa<@i<convention>_identifier> for all C eligible types and it shall support
-pragma Convention with a C_Pass_By_Copy @fa<@i<convention>_identifier> for all
-C_Pass_By_Copy eligible types (see B.1).
-
-!corrigendum B.04(92)
-
-@drepl
-An implementation shall support pragma Convention with a COBOL
-@fa<@i<convention>_identifier> for a COBOL-eligible type (see B.1).
-@dby
-If an implementation supports the package Interfaces.COBOL and it supports
-pragma Convention with a COBOL @fa<@i<convention>_identifier> for any one COBOL
-eligible type then it shall support it for all COBOL eligible types (see B.1).
-
-!corrigendum B.05(20)
-
-@drepl
-An implementation shall support pragma Convention with a Fortran
-@fa<@i<convention>_identifier> for a Fortran-eligible type (see B.1).
-@dby
-If an implementation supports the package Interfaces.Fortran and it supports
-pragma Convention with a Fortran @fa<@i<convention>_identifier> for any one
-Fortran eligible type then it shall support it for all Fortran eligible types
-(see B.1).
 
 !ACATS test
 

Questions? Ask the ACAA Technical Agent