CVS difference for ai05s/ai05-0182-1.txt
--- ai05s/ai05-0182-1.txt 2011/02/08 08:21:06 1.3
+++ ai05s/ai05-0182-1.txt 2011/03/17 07:06:29 1.4
@@ -1,5 +1,7 @@
-!standard 3.5(56/2) 10-08-05 AI05-0182-1/02
+!standard 3.5(56/2) 11-03-11 AI05-0182-1/03
!class binding interpretation 09-10-30
+!status Amendment 2012 11-03-11
+!status ARG Approved 7-0-1 10-02-19
!status work item 09-10-30
!status received 09-10-22
!priority Low
@@ -31,14 +33,17 @@
Add after 3.5(56/2) [Implementation Permissions]
An implementation may extend the Wide_Wide_Value, Wide_Value, and Value
-attributes of a character type to allow character literals for nongraphic
-characters and strings starting with "Hex_" for graphic characters and
-those with a character smaller than 16#100#.
+attributes of a character type to accept strings starting with "Hex_"
+(ignoring case) for graphics characters and those with a code
+position smaller than 16#100#, and three character strings of the form
+"'nongraphic character'".
!discussion
The questioner goes on to report that both examples work (do not raise
-Constraint_Error) in GNAT.
+Constraint_Error) in GNAT. (This does not quite appear to be the case; the
+examples raise Constraint_Error for 'Value, but they do work without
+raising an exception for 'Wide_Value -- so the question is still relevant.)
It's clear from the Standard that both of these should raise Constraint_Error;
the first is not an enumeration literal if the center character is a nongraphic
@@ -55,12 +60,18 @@
That seems stupid. Therefore we relax the requirement to allow any value with
the proper syntax (''' & <any character> & ''') and Hex_hhhhhhhh.
-[Editor's note: Should we require or just allow this additional flexibility? I'd
-be in favor of requiring it, but perhaps that is too much.
+!corrigendum 3.5(56/2)
-If this extra flexibility is considered a bad idea, I recommend that we classify
-this question a pathology so that it is never tested - effectively allowing the
-GNAT implementation.]
+@dinsa
+An implementation may extend the Wide_Wide_Value, Wide_Value, Value, Wide_Wide_Image,
+Wide_Image, and Image attributes of a floating point type to support special values
+such as infinities and NaNs.
+@dinst
+An implementation may extend the Wide_Wide_Value, Wide_Value, and Value
+attributes of a character type to accept strings starting with "Hex_"
+(ignoring case) for graphics characters and those with a code
+position smaller than 16#100#, and three character strings of the form
+"'@i<nongraphic character>'".
!ACATS Test
Questions? Ask the ACAA Technical Agent