diff options
author | Jason Merrill <jason@redhat.com> | 2013-05-30 15:20:19 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2013-05-30 15:20:19 -0400 |
commit | cc059bdd149ced1b66f912c54c8f435379abb4ad (patch) | |
tree | 62928da9ada44844becbd3d8830a73cbe49ba91e /gcc/cp | |
parent | 3a6a88c863a752e70e9a013ae89c87a3d7efe39b (diff) | |
download | gcc-cc059bdd149ced1b66f912c54c8f435379abb4ad.zip gcc-cc059bdd149ced1b66f912c54c8f435379abb4ad.tar.gz gcc-cc059bdd149ced1b66f912c54c8f435379abb4ad.tar.bz2 |
re PR c++/57404 ([C++11] ICE: SIGSEGV in cp_classify_record with -g)
PR c++/57404
* cp-lang.c (cp_classify_record): Handle structs without
TYPE_LANG_SPECIFIC.
From-SVN: r199456
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/cp-lang.c | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 6ccc776..ae2c174 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,9 @@ 2013-05-30 Jason Merrill <jason@redhat.com> + PR c++/57404 + * cp-lang.c (cp_classify_record): Handle structs without + TYPE_LANG_SPECIFIC. + PR c++/52377 * class.c (common_enclosing_class): New. * cp-tree.h: Declare it. diff --git a/gcc/cp/cp-lang.c b/gcc/cp/cp-lang.c index 47a6004..a7fa8e4 100644 --- a/gcc/cp/cp-lang.c +++ b/gcc/cp/cp-lang.c @@ -127,7 +127,8 @@ cxx_dwarf_name (tree t, int verbosity) static enum classify_record cp_classify_record (tree type) { - if (CLASSTYPE_DECLARED_CLASS (type)) + if (TYPE_LANG_SPECIFIC (type) + && CLASSTYPE_DECLARED_CLASS (type)) return RECORD_IS_CLASS; return RECORD_IS_STRUCT; |