CVS difference for ais/ai-00131.txt
--- ais/ai-00131.txt 1999/02/28 00:53:31 1.7
+++ ais/ai-00131.txt 1999/04/01 22:50:57 1.8
@@ -1,5 +1,6 @@
-!standard B.3 (69) 99-02-23 AI95-00131/07
+!standard B.3 (69) 99-04-01 AI95-00131/08
!class binding interpretation 98-11-05
+!status ARG Approved (with changes) 8-0-1 99-03-24
!status work item 98-11-05
!status work item (revised by Ted Baker) 96-05-05
!status work item (letter ballot was 10-3-0) 96-10-03
@@ -10,7 +11,7 @@
!difficulty Hard
!subject Interface to C -- passing records as parameters of mode 'in'
-!summary 99-02-23
+!summary
The Implementation Advice in B.3(69) is correct as written.
@@ -19,7 +20,7 @@
C_Pass_By_Copy-compatible type T should be passed as a t argument to a C
function, where t is the C struct corresponding to type T.
-!question 96-04-17
+!question
B.3(69) says:
@@ -35,7 +36,7 @@
above Implementation Advice implies that such an 'in' parameter will
correspond to a t* on the C side, rather than a t.
-!recommendation 98-11-05
+!recommendation
The Implementation Advice in B.3(69) is left unchanged (that is, C-compatible
records are passed by reference).
@@ -49,10 +50,10 @@
other words, B.1(13) never applies to convention C_Pass_By_Copy, and there is
no package named Interfaces.C_Pass_By_Copy.
-A type T is eligible for convention C_Pass_By_Copy if and only if T is a
-record type that has no discriminants and that only has components with
-statically constrained subtypes, and each component is C-compatible. (The
-eligibility rules in B.3(15-18) do not apply to convention C_Pass_By_Copy.)
+A type T is eligible for convention C_Pass_By_Copy if T is a record type that
+has no discriminants and that only has components with statically constrained
+subtypes, and each component is C-compatible. (The eligibility rules
+in B.3(15-18) do not apply to convention C_Pass_By_Copy.)
If a type is C_Pass_By_Copy-compatible then it is also C-compatible.
@@ -70,11 +71,11 @@
In particular, an implementation may permit other types as C_Pass_By_Copy-
compatible types (e.g., discriminated records).
-!wording 98-11-05
+!wording
See !recommendation.
-!discussion 99-02-23
+!discussion
It was a mistake to require pass-by-reference for records passed to C
functions. However, at this point, it would be disruptive to change the
Questions? Ask the ACAA Technical Agent