aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEd Schonberg <schonberg@adacore.com>2014-08-01 10:26:57 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2014-08-01 10:26:57 +0200
commitde65e0e4ecc02dc04e7ff110ade703f8e4ff03e3 (patch)
treeabd6b38a36f3b52b7e203882cb3098bf6059b99e /gcc
parent5e01ce126698998f1428c1b2451084ab099600ef (diff)
downloadgcc-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.adb8
-rw-r--r--gcc/ada/sem_util.adb9
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);