[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:
Ed Schonberg 2020-02-24 13:37:58 -05:00 committed by Pierre-Marie de Rodat
parent 6859ef4893
commit 54025948c0

View File

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