diff options
author | Arnaud Charlet <charlet@adacore.com> | 2017-11-08 13:52:43 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2017-11-08 13:52:43 +0000 |
commit | 879e92d0575d29dd6f5de7757c3c0bbc9fb80079 (patch) | |
tree | 550d9f247cabd621fd24cde10395c3039745ef49 /gcc | |
parent | e5148da096b0cf5d9d07154361f9005717d88ed9 (diff) | |
download | gcc-879e92d0575d29dd6f5de7757c3c0bbc9fb80079.zip gcc-879e92d0575d29dd6f5de7757c3c0bbc9fb80079.tar.gz gcc-879e92d0575d29dd6f5de7757c3c0bbc9fb80079.tar.bz2 |
sem_util.adb (Subprogram_Name): Append suffix for overloaded subprograms.
2017-11-08 Arnaud Charlet <charlet@adacore.com>
* sem_util.adb (Subprogram_Name): Append suffix for overloaded
subprograms.
From-SVN: r254529
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/sem_util.adb | 22 |
2 files changed, 27 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 912de23..528988f 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2017-11-08 Arnaud Charlet <charlet@adacore.com> + + * sem_util.adb (Subprogram_Name): Append suffix for overloaded + subprograms. + 2017-11-08 Yannick Moy <moy@adacore.com> * sem_ch8.adb (Use_One_Type, Update_Use_Clause_Chain): Do not report diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 79c8864..9d55b0a 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -23357,6 +23357,28 @@ package body Sem_Util is Append_Entity_Name (Buf, Ent); + -- Append homonym number if needed + + if Nkind (N) in N_Entity and then Has_Homonym (N) then + declare + H : Entity_Id := Homonym (N); + Nr : Nat := 1; + begin + while Present (H) loop + if Scope (H) = Scope (N) then + Nr := Nr + 1; + end if; + + H := Homonym (H); + end loop; + + if Nr > 1 then + Append (Buf, '#'); + Append (Buf, Nr); + end if; + end; + end if; + -- Append source location of Ent to Buf so that the string will -- look like "subp:file:line:col". |