https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70029
--- Comment #6 from Jason Merrill <jason at gcc dot gnu.org> --- The problem is that decl_attributes uses build_type_attribute_qual_variant, which uses build_qualified_type, which doesn't understand C++ type variants and blithely returns an attribute-qualified type which isn't ref-qualified like the original type. One way to address this would be to add a langhook for check_qualified_type. Otherwise the front end would need to stop representing exception specifications and ref-qualifiers as type variants.