2018-07-16 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* exp_ch4.adb (Expand_Set_Membership): Use New_Copy_Tree to perform a
deep copy of the left operand when building each conjuct of the
expanded membership operation, to avoid sharing nodes between them.
This sharing interferes with the unnesting machinery and is generally
undesirable.
From-SVN: r262727
+2018-07-16 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Set_Membership): Use New_Copy_Tree to perform a
+ deep copy of the left operand when building each conjuct of the
+ expanded membership operation, to avoid sharing nodes between them.
+ This sharing interferes with the unnesting machinery and is generally
+ undesirable.
+
2018-07-16 Ed Schonberg <schonberg@adacore.com>
* exp_unst.adb (Visit_Node): Handle 'Address references that are
function Make_Cond (Alt : Node_Id) return Node_Id is
Cond : Node_Id;
- L : constant Node_Id := New_Copy (Lop);
+ L : constant Node_Id := New_Copy_Tree (Lop);
R : constant Node_Id := Relocate_Node (Alt);
begin