summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2012-05-20 09:42:42 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2012-05-20 09:42:42 +0000
commita7688838a485be8ae6404f65bfaceb75eb6317c0 (patch)
tree968063c6d6263a490823fbf54ece5f5c6d0ecb96
parent20a8df101b5803e6ecb78f547e9572a481ece23d (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/ada/gcc-interface/utils.c6
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gnat.dg/lto13.adb9
-rw-r--r--gcc/testsuite/gnat.dg/lto13_pkg.adb10
-rw-r--r--gcc/testsuite/gnat.dg/lto13_pkg.ads9
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;