OSDN Git Service

* gcc-interface/trans.c (gigi): Declare the name of the compilation
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 15 Sep 2008 20:26:02 +0000 (20:26 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 15 Sep 2008 20:26:02 +0000 (20:26 +0000)
unit as the first global name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140373 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/gcc-interface/trans.c

index e96313a..508684e 100644 (file)
@@ -1,6 +1,11 @@
+2008-09-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gigi): Declare the name of the compilation
+       unit as the first global name.
+
 2008-09-14  Jan Hubicka  <jh@suse.cz>
 
-       * gcc-interface/Make-lang.in (gnac1): Add CFLAGS.
+       * gcc-interface/Make-lang.in (gnat1): Add CFLAGS.
 
 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
index f8265cc..938408b 100644 (file)
@@ -387,10 +387,17 @@ gigi (Node_Id gnat_root, int max_gnat_node, int number_name,
     gnat_init_gcc_eh ();
 
   gcc_assert (Nkind (gnat_root) == N_Compilation_Unit);
+
+  /* Declare the name of the compilation unit as the first global
+     name in order to make the middle-end fully deterministic.  */
+  t = create_concat_name (Defining_Entity (Unit (gnat_root)), NULL);
+  first_global_object_name = ggc_strdup (IDENTIFIER_POINTER (t));
+
+  /* Now translate the compilation unit proper.  */
   start_stmt_group ();
   Compilation_Unit_to_gnu (gnat_root);
 
-  /* Now see if we have any elaboration procedures to deal with. */
+  /* Finally see if we have any elaboration procedures to deal with.  */
   for (info = elab_info_list; info; info = info->next)
     {
       tree gnu_body = DECL_SAVED_TREE (info->elab_proc);