diff options
author | Ed Schonberg <schonberg@adacore.com> | 2020-02-24 13:37:58 -0500 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-06-09 04:09:00 -0400 |
commit | 54025948c0a4cad05cc22fe67d104e5e3ac9b0de (patch) | |
tree | 1cc8433adce51ad92a0e20c794139707fba3137e /gcc | |
parent | 6859ef489341d436ebf2fd5d41282c4f68b0283d (diff) | |
download | gcc-54025948c0a4cad05cc22fe67d104e5e3ac9b0de.zip gcc-54025948c0a4cad05cc22fe67d104e5e3ac9b0de.tar.gz gcc-54025948c0a4cad05cc22fe67d104e5e3ac9b0de.tar.bz2 |
[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.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/exp_ch9.adb | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ada/exp_ch9.adb b/gcc/ada/exp_ch9.adb index 36baf6f..2efa6d1 100644 --- a/gcc/ada/exp_ch9.adb +++ b/gcc/ada/exp_ch9.adb @@ -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, |