[Ada] Spurious error on instantiations with Taft_Amendment types and tasks
2020-06-09 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * exp_ch9.adb (Build_Master_Renaming): Make name in renaming declaration unique by adding a numeric suffix, to prevent accidental name conflict when several instantiations of a package containing an access_to_incomplete type that designate tasks appear in the same scope.
This commit is contained in:
parent
6859ef4893
commit
54025948c0
@ -3469,10 +3469,13 @@ package body Exp_Ch9 is
|
||||
|
||||
-- Generate:
|
||||
-- <Ptr_Typ>M : Master_Id renames _Master;
|
||||
-- and add a numeric suffix to the name to ensure that it is
|
||||
-- unique in case other access types in nested constructs
|
||||
-- are homonyms of this one.
|
||||
|
||||
Master_Id :=
|
||||
Make_Defining_Identifier (Loc,
|
||||
New_External_Name (Chars (Ptr_Typ), 'M'));
|
||||
New_External_Name (Chars (Ptr_Typ), 'M', -1));
|
||||
|
||||
Master_Decl :=
|
||||
Make_Object_Renaming_Declaration (Loc,
|
||||
|
Loading…
Reference in New Issue
Block a user