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
calls.
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