diff options
author | Samuel Tardieu <sam@rfc1149.net> | 2007-11-28 20:46:18 +0000 |
---|---|---|
committer | Samuel Tardieu <sam@gcc.gnu.org> | 2007-11-28 20:46:18 +0000 |
commit | 5a21849883efce34b55216109644da8ab8b16fcd (patch) | |
tree | 82a9d4e41ce310ca835c0e4af4cb5c7030eb85c8 /gcc/ada | |
parent | 9c5a3a8d78b8767ae6120216a55b39d9dc552b4b (diff) | |
download | gcc-5a21849883efce34b55216109644da8ab8b16fcd.zip gcc-5a21849883efce34b55216109644da8ab8b16fcd.tar.gz gcc-5a21849883efce34b55216109644da8ab8b16fcd.tar.bz2 |
re PR ada/32792 (Assert_Failure sinfo.adb:1730)
gcc/ada/
PR ada/32792
* sem_attr.adb (Analyze_Attribute, Attribute_Integer_Value clause):
Signal an error when attribute argument is a fixed-point value of
an unknown type.
gcc/testsuite/
PR ada/32792
* gnat.dg/specs/integer_value.ads: New test.
From-SVN: r130497
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/sem_attr.adb | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 7b7383c..c763515 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -17,6 +17,11 @@ * snames.ads (Attribute_Class_Array): Moved from sem-attr.ads. + PR ada/32792 + * sem_attr.adb (Analyze_Attribute, Attribute_Integer_Value clause): + Signal an error when attribute argument is a fixed-point value of + an unknown type. + 2007-11-26 Andreas Krebbel <krebbel1@de.ibm.com> PR 34081/C++ diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index 9821b6f..1a0b0c8 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -2975,6 +2975,15 @@ package body Sem_Attr is Check_E1; Check_Integer_Type; Resolve (E1, Any_Fixed); + + -- Signal an error if argument type is not a specific fixed-point + -- subtype. An error has been signalled already if the argument + -- was not of a fixed-point type. + + if Etype (E1) = Any_Fixed and then not Error_Posted (E1) then + Error_Attr ("argument of % must be of a fixed-point type", E1); + end if; + Set_Etype (N, P_Base_Type); ----------- |