From d3c268abbda900e9fd2202fb19154a186183a8e8 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Sun, 20 May 2012 09:42:42 +0000 Subject: [PATCH] utils.c (gnat_write_global_declarations): Put a name on the dummy global variable. * gcc-interface/utils.c (gnat_write_global_declarations): Put a name on the dummy global variable. From-SVN: r187692 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/gcc-interface/utils.c | 6 +++++- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gnat.dg/lto13.adb | 9 +++++++++ gcc/testsuite/gnat.dg/lto13_pkg.adb | 10 ++++++++++ gcc/testsuite/gnat.dg/lto13_pkg.ads | 9 +++++++++ 6 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gnat.dg/lto13.adb create mode 100644 gcc/testsuite/gnat.dg/lto13_pkg.adb create mode 100644 gcc/testsuite/gnat.dg/lto13_pkg.ads 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 + + * gcc-interface/utils.c (gnat_write_global_declarations): Put a name + on the dummy global variable. + 2012-05-19 Eric Botcazou * 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 + + * gnat.dg/lto13.adb: New test. + * gnat.dg/lto13_pkg.ad[sb]: New helper. + 2012-05-18 Eric Botcazou * 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; -- 2.30.2