diff options
author | Jason Merrill <jason@redhat.com> | 2011-05-22 00:40:55 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2011-05-22 00:40:55 -0400 |
commit | 5b018c651a9ba855b19e60ad354c21400cc343a2 (patch) | |
tree | e22fe7615ee1389c780a25cb850770d52956f4b2 /gcc | |
parent | b42bf620b07490e672d5930fd68378adec3f1a8b (diff) | |
download | gcc-5b018c651a9ba855b19e60ad354c21400cc343a2.zip gcc-5b018c651a9ba855b19e60ad354c21400cc343a2.tar.gz gcc-5b018c651a9ba855b19e60ad354c21400cc343a2.tar.bz2 |
re PR c++/49092 (ice in tree_add_const_value_attribute)
PR c++/49092
* dwarf2out.c (tree_add_const_value_attribute_for_decl): Check for
static storage duration.
From-SVN: r174024
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/debug/const5.C | 13 |
4 files changed, 26 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 80233d7..789f258 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-05-21 Jason Merrill <jason@redhat.com> + + PR c++/49092 + * dwarf2out.c (tree_add_const_value_attribute_for_decl): Check for + static storage duration. + 2011-05-21 Eric Botcazou <ebotcazou@adacore.com> * config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index b85a55e..55453a3 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -17719,7 +17719,9 @@ tree_add_const_value_attribute_for_decl (dw_die_ref var_die, tree decl) if (!decl || (TREE_CODE (decl) != VAR_DECL - && TREE_CODE (decl) != CONST_DECL)) + && TREE_CODE (decl) != CONST_DECL) + || (TREE_CODE (decl) == VAR_DECL + && !TREE_STATIC (decl))) return false; if (TREE_READONLY (decl) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 61afdb0..ccc34a7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2011-05-21 Jason Merrill <jason@redhat.com> + + * g++.dg/debug/const5.C: New. + 2011-05-20 Jason Merrill <jason@redhat.com> * g++.dg/cpp0x/constexpr-static7.C: Extend. diff --git a/gcc/testsuite/g++.dg/debug/const5.C b/gcc/testsuite/g++.dg/debug/const5.C new file mode 100644 index 0000000..e5387ea --- /dev/null +++ b/gcc/testsuite/g++.dg/debug/const5.C @@ -0,0 +1,13 @@ +// PR c++/49092 + +struct A +{ + A(); +}; + +int i; + +A::A() +{ + const int j = i; +} |