From 6a7a3f311b79f95e4a8bb19ffae268d4b5e6f565 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Mon, 15 Sep 2008 20:26:02 +0000 Subject: [PATCH] trans.c (gigi): Declare the name of the compilation unit as the first global name. * gcc-interface/trans.c (gigi): Declare the name of the compilation unit as the first global name. From-SVN: r140373 --- gcc/ada/ChangeLog | 7 ++++++- gcc/ada/gcc-interface/trans.c | 9 ++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index e96313a3248..508684e39a1 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,6 +1,11 @@ +2008-09-15 Eric Botcazou + + * gcc-interface/trans.c (gigi): Declare the name of the compilation + unit as the first global name. + 2008-09-14 Jan Hubicka - * gcc-interface/Make-lang.in (gnac1): Add CFLAGS. + * gcc-interface/Make-lang.in (gnat1): Add CFLAGS. 2008-09-14 Ralf Wildenhues diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index f8265cc6dc7..938408bf8e1 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -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);