diff options
author | Ed Schonberg <schonberg@adacore.com> | 2014-08-01 10:26:57 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-08-01 10:26:57 +0200 |
commit | de65e0e4ecc02dc04e7ff110ade703f8e4ff03e3 (patch) | |
tree | abd6b38a36f3b52b7e203882cb3098bf6059b99e /gcc | |
parent | 5e01ce126698998f1428c1b2451084ab099600ef (diff) | |
download | gcc-de65e0e4ecc02dc04e7ff110ade703f8e4ff03e3.zip gcc-de65e0e4ecc02dc04e7ff110ade703f8e4ff03e3.tar.gz gcc-de65e0e4ecc02dc04e7ff110ade703f8e4ff03e3.tar.bz2 |
sem_util.adb: Add guard to setting of No_Predicate_On_Actual.
* sem_util.adb: Add guard to setting of No_Predicate_On_Actual.
* sem_ch3.adb: Minor reformatting.
From-SVN: r213422
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/sem_ch3.adb | 8 | ||||
-rw-r--r-- | gcc/ada/sem_util.adb | 9 |
2 files changed, 11 insertions, 6 deletions
diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb index 9e8969f..a22479f 100644 --- a/gcc/ada/sem_ch3.adb +++ b/gcc/ada/sem_ch3.adb @@ -16804,10 +16804,10 @@ package body Sem_Ch3 is procedure Inherit_Predicate_Flags (Subt, Par : Entity_Id) is begin - Set_Has_Static_Predicate_Aspect (Subt, - Has_Static_Predicate_Aspect (Par)); - Set_Has_Dynamic_Predicate_Aspect (Subt, - Has_Dynamic_Predicate_Aspect (Par)); + Set_Has_Static_Predicate_Aspect + (Subt, Has_Static_Predicate_Aspect (Par)); + Set_Has_Dynamic_Predicate_Aspect + (Subt, Has_Dynamic_Predicate_Aspect (Par)); end Inherit_Predicate_Flags; ----------------------- diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 237cc86..7fbf48a 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -793,7 +793,9 @@ package body Sem_Util is return; end if; - if Is_Generic_Formal (Typ) then + if Is_Generic_Formal (Typ) + and then Is_Discrete_Type (Typ) + then Set_No_Predicate_On_Actual (Typ); end if; @@ -821,9 +823,11 @@ package body Sem_Util is Error_Msg_Warn := SPARK_Mode /= On; Error_Msg_FE (Msg & "<<", N, Typ); Error_Msg_F ("\Program_Error [<<", N); + Insert_Action (N, Make_Raise_Program_Error (Sloc (N), Reason => PE_Bad_Predicated_Generic_Type)); + else Error_Msg_FE (Msg & "<<", N, Typ); end if; @@ -6018,7 +6022,8 @@ package body Sem_Util is -- be a static subtype, since otherwise it would have -- been diagnosed as illegal. - elsif Is_Entity_Name (Choice) and then Is_Type (Entity (Choice)) + elsif Is_Entity_Name (Choice) and then + Is_Type (Entity (Choice)) then exit Search when Is_In_Range (Expr, Etype (Choice), Assume_Valid => False); |