aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@adacore.com>2017-11-08 13:52:43 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2017-11-08 13:52:43 +0000
commit879e92d0575d29dd6f5de7757c3c0bbc9fb80079 (patch)
tree550d9f247cabd621fd24cde10395c3039745ef49
parente5148da096b0cf5d9d07154361f9005717d88ed9 (diff)
downloadgcc-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
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/sem_util.adb22
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".