diff options
author | Bob Duff <duff@adacore.com> | 2021-02-05 13:06:13 -0500 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2021-06-15 06:19:21 -0400 |
commit | b2339160162e80fd854a9caaaf0d3dd0207ede8e (patch) | |
tree | ad5819f1c593b806bdc9e966be886675bc069478 /gcc | |
parent | f1e93d3f1ad9091e0c986e6e014738a53f10a50e (diff) | |
download | gcc-b2339160162e80fd854a9caaaf0d3dd0207ede8e.zip gcc-b2339160162e80fd854a9caaaf0d3dd0207ede8e.tar.gz gcc-b2339160162e80fd854a9caaaf0d3dd0207ede8e.tar.bz2 |
[Ada] Fix bug in if_expressions introduced by var-size nodes changes
gcc/ada/
* gen_il-gen.adb (Setter_Needs_Parent): Add missing
Then_Actions. Fix self-contradictory comment.
* exp_util.adb (Insert_Actions): Minor comment improvments.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/exp_util.adb | 9 | ||||
-rw-r--r-- | gcc/ada/gen_il-gen.adb | 11 |
2 files changed, 9 insertions, 11 deletions
diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb index c6c8d6c..1189870 100644 --- a/gcc/ada/exp_util.adb +++ b/gcc/ada/exp_util.adb @@ -7203,8 +7203,8 @@ package body Exp_Util is -- Actions belong to the then expression, temporarily place -- them as Then_Actions of the if expression. They will be - -- moved to the proper place later when the if expression - -- is expanded. + -- moved to the proper place later when the if expression is + -- expanded. elsif N = ThenX then if Present (Then_Actions (P)) then @@ -7217,10 +7217,7 @@ package body Exp_Util is return; - -- Actions belong to the else expression, temporarily place - -- them as Else_Actions of the if expression. They will be - -- moved to the proper place later when the if expression - -- is expanded. + -- Else_Actions is treated the same as Then_Actions above elsif N = ElseX then if Present (Else_Actions (P)) then diff --git a/gcc/ada/gen_il-gen.adb b/gcc/ada/gen_il-gen.adb index 3666289..cffbf2a 100644 --- a/gcc/ada/gen_il-gen.adb +++ b/gcc/ada/gen_il-gen.adb @@ -479,13 +479,14 @@ package body Gen_IL.Gen is Node_Field_Types_Used, Entity_Field_Types_Used : Type_Set; Setter_Needs_Parent : Field_Set := - (Actions | Expression | Else_Actions => True, others => False); + (Actions | Expression | Then_Actions | Else_Actions => True, + others => False); -- Set of fields where the setter should set the Parent. True for -- syntactic fields of type Node_Id and List_Id, but with some - -- exceptions. Expression and Else_Actions are syntactic AND semantic, - -- and the Parent is needed. Default_Expression is also both, but the - -- Parent is not needed. Else_Actions is not syntactic, but the Parent - -- is needed. + -- exceptions. Expression is syntactic AND semantic, and the Parent + -- is needed. Default_Expression is also both, but the Parent is not + -- needed. Then_Actions and Else_Actions are not syntactic, but the + -- Parent is needed. procedure Check_Completeness; -- Check that every type and field has been declared |