aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch9.adb
diff options
context:
space:
mode:
authorJavier Miranda <miranda@adacore.com>2020-03-04 14:22:44 -0500
committerPierre-Marie de Rodat <derodat@adacore.com>2020-06-11 05:53:37 -0400
commit8c1bec899afc30d4338a6953ede396bfcdd1dce0 (patch)
treec54ae48ddeea24461c2829c54d590c7cc737c18e /gcc/ada/exp_ch9.adb
parent0dd9f1b83fd8349556b5397002e505a873b866aa (diff)
downloadgcc-8c1bec899afc30d4338a6953ede396bfcdd1dce0.zip
gcc-8c1bec899afc30d4338a6953ede396bfcdd1dce0.tar.gz
gcc-8c1bec899afc30d4338a6953ede396bfcdd1dce0.tar.bz2
[Ada] Crash on dispatching conditional entry call
2020-06-11 Javier Miranda <miranda@adacore.com> gcc/ada/ * exp_ch9.adb (Expand_N_Conditional_Entry_Call): Replace call to New_Copy_List by calls to the new routine New_Copy_Separate_List. * sem_util.ads (New_Copy_Separate_List, New_Copy_Separate_Tree): New routines. * sem_util.adb (New_Copy_Separate_List, New_Copy_Separate_Tree): New routines. (New_Copy_Tree): Extend the machinery that detects syntactic nodes to handle lists of indentifiers with field More_Ids; otherwise such nodes are erroneously handled as semantic nodes. Copy aspect specifications attached to nodes. * sem_ch12.adb (Copy_Generic_Node): Protect reading attribute Etype.
Diffstat (limited to 'gcc/ada/exp_ch9.adb')
-rw-r--r--gcc/ada/exp_ch9.adb4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/ada/exp_ch9.adb b/gcc/ada/exp_ch9.adb
index 4c2af03..49d3c1f 100644
--- a/gcc/ada/exp_ch9.adb
+++ b/gcc/ada/exp_ch9.adb
@@ -8124,7 +8124,7 @@ package body Exp_Ch9 is
-- <else-statements>
-- end if;
- N_Stats := New_Copy_List_Tree (Statements (Alt));
+ N_Stats := New_Copy_Separate_List (Statements (Alt));
Prepend_To (N_Stats,
Make_Implicit_If_Statement (N,
@@ -8168,7 +8168,7 @@ package body Exp_Ch9 is
-- <dispatching-call>;
-- <triggering-statements>
- Lim_Typ_Stmts := New_Copy_List_Tree (Statements (Alt));
+ Lim_Typ_Stmts := New_Copy_Separate_List (Statements (Alt));
Prepend_To (Lim_Typ_Stmts, New_Copy_Tree (Blk));
-- Generate: