diff options
-rw-r--r-- | gcc/ada/ChangeLog | 14 | ||||
-rw-r--r-- | gcc/ada/gnatbind.adb | 3 | ||||
-rw-r--r-- | gcc/ada/sem_attr.adb | 8 |
3 files changed, 23 insertions, 2 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 9c04df5..4e3e9f2 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,17 @@ +2013-04-12 Ed Schonberg <schonberg@adacore.com> + + * sem_attr.adb (Check_Stream_Attribute): If restriction + No_Default_Stream_Attributes is active, it is illegal to use a + predefined elementary type stream attribute either by itself, + or more importantly as part of the attribute subprogram for a + composite type. However, if the broader restriction No_Streams + is active, then stream operations are not generated, and there + is no error. + +2013-04-12 Robert Dewar <dewar@adacore.com> + + * gnatbind.adb: Minor reformatting. + 2013-04-12 Bob Duff <duff@adacore.com> * sem_attr.adb (Analyze_Access_Attribute): Treat P'Access like a diff --git a/gcc/ada/gnatbind.adb b/gcc/ada/gnatbind.adb index b332b13..63e7c14 100644 --- a/gcc/ada/gnatbind.adb +++ b/gcc/ada/gnatbind.adb @@ -176,6 +176,9 @@ procedure Gnatbind is Max_Storage_At_Blocking => True, -- Not checkable at compile time + -- The following three should not be partition-wide, so the + -- following tests are junk to be removed eventually ??? + No_Specification_Of_Aspect => True, -- Requires a parameter value, not a count diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index 770be4e..a71cdd1 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -1746,9 +1746,13 @@ package body Sem_Attr is -- AI05-0057: if restriction No_Default_Stream_Attributes is active, -- it is illegal to use a predefined elementary type stream attribute -- either by itself, or more importantly as part of the attribute - -- subprogram for a composite type. + -- subprogram for a composite type. However, if the broader + -- restriction No_Streams is active, stream operations are not + -- generated, and there is no error. - if Restriction_Active (No_Default_Stream_Attributes) then + if Restriction_Active (No_Default_Stream_Attributes) + and then not Restriction_Active (No_Streams) + then declare T : Entity_Id; |