]> gcc.gnu.org Git - gcc.git/commitdiff
atree.adb (Visit_Itype): Create a new name for the generated itype...
authorArnaud Charlet <charlet@gcc.gnu.org>
Wed, 8 Dec 2004 11:25:03 +0000 (12:25 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 8 Dec 2004 11:25:03 +0000 (12:25 +0100)
* atree.adb (Visit_Itype): Create a new name for the generated itype,
because the back-end may otherwise treat it as a redefinition of the
old symbol.

From-SVN: r91875

gcc/ada/atree.adb

index daf0641cfe644da261a6c7308f3ae02581d5689c..f8fef8ce8ed3f364756a25814eedd62947ba8416 100644 (file)
@@ -39,6 +39,7 @@ pragma Style_Checks (All_Checks);
 --  bodies) and the C file a-atree.c (for remaining non-inlined bodies).
 
 with Debug;   use Debug;
+with Namet;   use Namet;
 with Nlists;  use Nlists;
 with Elists;  use Elists;
 with Output;  use Output;
@@ -809,6 +810,7 @@ package body Atree is
 
       procedure Debug_Extend_Node;
       --  Debug routine for debug flag N
+      pragma Inline (Debug_Extend_Node);
 
       procedure Debug_Extend_Node is
       begin
@@ -827,8 +829,6 @@ package body Atree is
          end if;
       end Debug_Extend_Node;
 
-      pragma Inline (Debug_Extend_Node);
-
    begin
       pragma Assert (not (Has_Extension (Node)));
       Result := Allocate_Initialize_Node (Node, With_Extension => True);
@@ -1585,6 +1585,16 @@ package body Atree is
 
          New_Itype := New_Copy (Old_Itype);
 
+         --  The new Itype has all the attributes of the old one, and
+         --  we just copy the contents of the entity. However, the back-end
+         --  needs different names for debugging purposes, so we create a
+         --  new internal name by appending the letter 'c' (copy) to the
+         --  name of the original.
+
+         Get_Name_String (Chars (Old_Itype));
+         Add_Char_To_Name_Buffer ('c');
+         Set_Chars (New_Itype, Name_Enter);
+
          --  If our associated node is an entity that has already been copied,
          --  then set the associated node of the copy to point to the right
          --  copy. If we have copied an Itype that is itself the associated
This page took 0.072408 seconds and 5 git commands to generate.