diff options
author | Javier Miranda <miranda@adacore.com> | 2020-03-04 14:22:44 -0500 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-06-11 05:53:37 -0400 |
commit | 8c1bec899afc30d4338a6953ede396bfcdd1dce0 (patch) | |
tree | c54ae48ddeea24461c2829c54d590c7cc737c18e /gcc/ada/exp_ch9.adb | |
parent | 0dd9f1b83fd8349556b5397002e505a873b866aa (diff) | |
download | gcc-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.adb | 4 |
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: |