diff mbox series

[Ada] Remove couple of recently added dead tests

Message ID 20181114114535.GA74477@adacore.com
State New
Headers show
Series [Ada] Remove couple of recently added dead tests | expand

Commit Message

Pierre-Marie de Rodat Nov. 14, 2018, 11:45 a.m. UTC
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.

Tested on x86_64-pc-linux-gnu, committed on trunk

2018-11-14  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* exp_aggr.adb (Check_Static_Components): Remove dead test.
	(Flatten): Likewise.  Move comment around.
diff mbox series

Patch

--- gcc/ada/exp_aggr.adb
+++ 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;