diff options
author | Richard Guenther <rguenther@suse.de> | 2011-12-16 14:31:14 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-12-16 14:31:14 +0000 |
commit | 271d01dfbb534e2311e43ec78442d43d95d12586 (patch) | |
tree | 6f7c9bd279782ca84437224b4fd99e0288beede2 | |
parent | 002aad3fca5c5c3401be97d3088a81bc7bd1b196 (diff) | |
download | gcc-271d01dfbb534e2311e43ec78442d43d95d12586.zip gcc-271d01dfbb534e2311e43ec78442d43d95d12586.tar.gz gcc-271d01dfbb534e2311e43ec78442d43d95d12586.tar.bz2 |
re PR bootstrap/51572 (LTO bootstrap failed with bootstrap-profiled)
2011-12-16 Richard Guenther <rguenther@suse.de>
PR lto/51572
* dwarf2out.c (gen_type_die_with_usage): Use the context of
the TYPE_DECL as well if it is file-scope.
* gcc.dg/lto/pr51572-1_0.c: New testcase.
From-SVN: r182401
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/lto/pr51572-1_0.c | 9 |
4 files changed, 23 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 44e31b5..94ebbc4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-12-16 Richard Guenther <rguenther@suse.de> + + PR lto/51572 + * dwarf2out.c (gen_type_die_with_usage): Use the context of + the TYPE_DECL as well if it is file-scope. + 2011-12-15 DJ Delorie <dj@redhat.com> * config/rl78/rl78.md (return): Rename to rl78_return. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 768ecaf..d5f469c 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -18842,8 +18842,9 @@ gen_type_die_with_usage (tree type, dw_die_ref context_die, /* Use the DIE of the containing namespace as the parent DIE of the type description DIE we want to generate. */ - if (DECL_CONTEXT (TYPE_NAME (type)) - && TREE_CODE (DECL_CONTEXT (TYPE_NAME (type))) == NAMESPACE_DECL) + if (DECL_FILE_SCOPE_P (TYPE_NAME (type)) + || (DECL_CONTEXT (TYPE_NAME (type)) + && TREE_CODE (DECL_CONTEXT (TYPE_NAME (type))) == NAMESPACE_DECL)) context_die = get_context_die (DECL_CONTEXT (TYPE_NAME (type))); TREE_ASM_WRITTEN (type) = 1; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c38491b..21b44c6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-12-16 Richard Guenther <rguenther@suse.de> + + PR lto/51572 + * gcc.dg/lto/pr51572-1_0.c: New testcase. + 2011-12-15 Jason Merrill <jason@redhat.com> PR c++/51458 diff --git a/gcc/testsuite/gcc.dg/lto/pr51572-1_0.c b/gcc/testsuite/gcc.dg/lto/pr51572-1_0.c new file mode 100644 index 0000000..dfe5297 --- /dev/null +++ b/gcc/testsuite/gcc.dg/lto/pr51572-1_0.c @@ -0,0 +1,9 @@ +/* { dg-lto-do link } */ +/* { dg-lto-options { { -flto -g } } } */ + +typedef int T; +void fn (void) +{ + static T t; +} +int main() {} |