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)))


Reply via email to