This patch fixes a regression in the SPARK testsuite.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* sem_util.adb (Is_Potentially_Unevaluated): Protect reading
attribute Etype.
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -17805,6 +17805,8 @@ package body Sem_Util is
N_Or_Else,
N_Quantified_Expression)
and then not (Nkind (Par) = N_Aggregate
+ and then Present (Etype (Par))
+ and then Etype (Par) /= Any_Composite
and then Is_Array_Type (Etype (Par)))
loop
Expr := Par;
@@ -17871,6 +17873,7 @@ package body Sem_Util is
return True;
elsif Nkind (Choice) = N_Identifier
+ and then Present (Etype (Choice))
and then Present (Scalar_Range (Etype (Choice)))
and then
Non_Static_Or_Null_Range (Scalar_Range (Etype (Choice)))