sem_util.adb (Subprogram_Name): Append suffix for overloaded subprograms.
authorArnaud Charlet <charlet@adacore.com>
Wed, 8 Nov 2017 13:52:43 +0000 (13:52 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Wed, 8 Nov 2017 13:52:43 +0000 (13:52 +0000)
2017-11-08  Arnaud Charlet  <charlet@adacore.com>

* sem_util.adb (Subprogram_Name): Append suffix for overloaded
subprograms.

From-SVN: r254529

gcc/ada/ChangeLog
gcc/ada/sem_util.adb

index 912de2376dc559b2d3182c0246d5886fa91b80fb..528988f8ef5282c1c39f2dd2620e4b941f5842b6 100644 (file)
@@ -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
index 79c88648fc2fcd1b86c1e2f25f0d0f2bc2529221..9d55b0a223767e5fc0d9d6f0e3fb2f228f1769e0 100644 (file)
@@ -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".