diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-05-20 09:42:42 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-05-20 09:42:42 +0000 |
commit | a7688838a485be8ae6404f65bfaceb75eb6317c0 (patch) | |
tree | 968063c6d6263a490823fbf54ece5f5c6d0ecb96 | |
parent | 20a8df101b5803e6ecb78f547e9572a481ece23d (diff) | |
download | gcc-a7688838a485be8ae6404f65bfaceb75eb6317c0.tar.gz |
* gcc-interface/utils.c (gnat_write_global_declarations): Put a name
on the dummy global variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187692 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/utils.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/lto13.adb | 9 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/lto13_pkg.adb | 10 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/lto13_pkg.ads | 9 |
6 files changed, 43 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 096225a3b80..744f6eb89b9 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2012-05-20 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils.c (gnat_write_global_declarations): Put a name + on the dummy global variable. + 2012-05-19 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/decl.c (Has_Thiscall_Convention): New macro. diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c index ce480208f99..36012a6ed91 100644 --- a/gcc/ada/gcc-interface/utils.c +++ b/gcc/ada/gcc-interface/utils.c @@ -5586,8 +5586,12 @@ gnat_write_global_declarations (void) if (!VEC_empty (tree, types_used_by_cur_var_decl)) { struct varpool_node *node; + char *label; + + ASM_FORMAT_PRIVATE_NAME (label, first_global_object_name, 0); dummy_global - = build_decl (BUILTINS_LOCATION, VAR_DECL, NULL_TREE, void_type_node); + = build_decl (BUILTINS_LOCATION, VAR_DECL, get_identifier (label), + void_type_node); TREE_STATIC (dummy_global) = 1; TREE_ASM_WRITTEN (dummy_global) = 1; node = varpool_node (dummy_global); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 697090fb151..0e4edf5ca2e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2012-05-20 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/lto13.adb: New test. + * gnat.dg/lto13_pkg.ad[sb]: New helper. + 2012-05-18 Eric Botcazou <ebotcazou@adacore.com> * gnat.dg/specs/lto12.ads: New test. diff --git a/gcc/testsuite/gnat.dg/lto13.adb b/gcc/testsuite/gnat.dg/lto13.adb new file mode 100644 index 00000000000..7c7fe16043f --- /dev/null +++ b/gcc/testsuite/gnat.dg/lto13.adb @@ -0,0 +1,9 @@ +-- { dg-do link } +-- { dg-options "-g -flto" { target lto } } + +with Lto13_Pkg; use Lto13_Pkg; + +procedure Lto13 is +begin + Proc; +end; diff --git a/gcc/testsuite/gnat.dg/lto13_pkg.adb b/gcc/testsuite/gnat.dg/lto13_pkg.adb new file mode 100644 index 00000000000..f8b5057a15e --- /dev/null +++ b/gcc/testsuite/gnat.dg/lto13_pkg.adb @@ -0,0 +1,10 @@ +package body Lto13_Pkg is + + procedure Proc is + begin + raise Constraint_Error; + end; + + type T is null record; + +end Lto13_Pkg; diff --git a/gcc/testsuite/gnat.dg/lto13_pkg.ads b/gcc/testsuite/gnat.dg/lto13_pkg.ads new file mode 100644 index 00000000000..ce91d1c018c --- /dev/null +++ b/gcc/testsuite/gnat.dg/lto13_pkg.ads @@ -0,0 +1,9 @@ +package Lto13_Pkg is + + procedure Proc; + +private + + type T; + +end Lto13_Pkg; |