diff options
author | Jason Merrill <jason@redhat.com> | 2017-09-08 18:39:17 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2017-09-08 18:39:17 -0400 |
commit | 27c825c5cca3243f293aee29a4abeb22242d4d2b (patch) | |
tree | d4c20252428e4348fc569284133594067d73b3c8 /gcc/tree.c | |
parent | b2c5d6f1d2a71374bcd8277a0697490582bc03a8 (diff) | |
download | gcc-27c825c5cca3243f293aee29a4abeb22242d4d2b.zip gcc-27c825c5cca3243f293aee29a4abeb22242d4d2b.tar.gz gcc-27c825c5cca3243f293aee29a4abeb22242d4d2b.tar.bz2 |
PR c++/70029 - ICE with ref-qualifier and -flto
PR c++/70029 - ICE with ref-qualifier and -flto
gcc/
* langhooks.h (struct lang_hooks_for_types): Add
copy_lang_qualifiers.
* attribs.c (build_type_attribute_qual_variant): Use it.
* langhooks-def.h (LANG_HOOKS_COPY_LANG_QUALIFIERS): Default to
NULL.
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it.
* tree.c (verify_type): Re-enable TYPE_CANONICAL main variant check.
gcc/cp/
* tree.c (cxx_copy_lang_qualifiers): New.
* cp-tree.h: Declare it.
* cp-objcp-common.h: Define LANG_HOOKS_COPY_LANG_QUALIFIERS.
From-SVN: r251911
Diffstat (limited to 'gcc/tree.c')
-rw-r--r-- | gcc/tree.c | 4 |
1 files changed, 1 insertions, 3 deletions
@@ -13220,9 +13220,7 @@ verify_type (const_tree t) debug_tree (ct); error_found = true; } - /* FIXME: this is violated by the C++ FE as discussed in PR70029, when - FUNCTION_*_QUALIFIED flags are set. */ - if (0 && TYPE_MAIN_VARIANT (t) == t && ct && TYPE_MAIN_VARIANT (ct) != ct) + if (TYPE_MAIN_VARIANT (t) == t && ct && TYPE_MAIN_VARIANT (ct) != ct) { error ("TYPE_CANONICAL of main variant is not main variant"); debug_tree (ct); |