From 572fa852f2f5cba25f70fc49c9bf18493433617c Mon Sep 17 00:00:00 2001 From: Javier Miranda Date: Tue, 12 May 2020 11:01:16 -0400 Subject: [PATCH] [Ada] Ada2020: AI12-0198 potentially unevaluated components of arrays gcc/ada/ * sem_util.adb (Is_Potentially_Unevaluated): Protect reading attribute Etype. --- gcc/ada/sem_util.adb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 9383c5f6d0d..d0bde3344f8 100644 --- 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))) -- 2.30.2