From 64a87aa5dbb2a62a042a2449e30c0fdddd8009e8 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Wed, 14 Nov 2018 11:42:26 +0000 Subject: [PATCH] [Ada] Remove couple of recently added dead tests N_Quantified_Expression and N_Iterated_Component_Association are unrelated nodes that cannot appear in the same context: the former can appear wherever an expression node is acceptable whereas the latter can appear only as an element of a component association list. So a test combining both most likely contains a dead arm and this change removes a couple of them. No functional changes. 2018-11-14 Eric Botcazou gcc/ada/ * exp_aggr.adb (Check_Static_Components): Remove dead test. (Flatten): Likewise. Move comment around. From-SVN: r266133 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/exp_aggr.adb | 14 ++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index ba6055d0827..742379be676 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2018-11-14 Eric Botcazou + + * exp_aggr.adb (Check_Static_Components): Remove dead test. + (Flatten): Likewise. Move comment around. + 2018-11-14 Hristian Kirtchev * sem_ch6.adb (Analyze_Null_Procedure): Capture Ghost and diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb index 1928cb9be3c..7fc7a87f91a 100644 --- a/gcc/ada/exp_aggr.adb +++ b/gcc/ada/exp_aggr.adb @@ -4367,8 +4367,7 @@ package body Exp_Aggr is elsif Nkind (Expression (Expr)) /= N_Aggregate or else not Compile_Time_Known_Aggregate (Expression (Expr)) or else Expansion_Delayed (Expression (Expr)) - or else Nkind_In (Expr, N_Iterated_Component_Association, - N_Quantified_Expression) + or else Nkind (Expr) = N_Iterated_Component_Association then Static_Components := False; exit; @@ -4521,16 +4520,15 @@ package body Exp_Aggr is -- If we have an others choice, fill in the missing elements -- subject to the limit established by Max_Others_Replicate. - -- If the expression involves a construct that generates - -- a loop, we must generate individual assignments and - -- no flattening is possible. if Nkind (Choice) = N_Others_Choice then Rep_Count := 0; - if Nkind_In (Expression (Elmt), - N_Iterated_Component_Association, - N_Quantified_Expression) + -- If the expression involves a construct that generates + -- a loop, we must generate individual assignments and + -- no flattening is possible. + + if Nkind (Expression (Elmt)) = N_Quantified_Expression then return False; end if; -- 2.30.2