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