[Ada] Crash on dispatching conditional entry call
authorJavier Miranda <miranda@adacore.com>
Wed, 4 Mar 2020 19:22:44 +0000 (14:22 -0500)
committerPierre-Marie de Rodat <derodat@adacore.com>
Thu, 11 Jun 2020 09:53:37 +0000 (05:53 -0400)
commit8c1bec899afc30d4338a6953ede396bfcdd1dce0
treec54ae48ddeea24461c2829c54d590c7cc737c18e
parent0dd9f1b83fd8349556b5397002e505a873b866aa
[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.
gcc/ada/exp_ch9.adb
gcc/ada/sem_ch12.adb
gcc/ada/sem_util.adb
gcc/ada/sem_util.ads