Work around Clang bug introduced in r324062

When Clang encounters an already invalid class declaration, it can
emit incorrect diagnostics about the exception specification on
some of its members. This patch temporarily works around that
incorrect diagnostic.

The clang bug was introduced in r324062.

llvm-svn: 324164
This commit is contained in:
Eric Fiselier 2018-02-03 01:45:35 +00:00
parent 5f345049f3
commit 9b5ff7a6bc
1 changed files with 5 additions and 0 deletions

View File

@ -21,5 +21,10 @@ int main()
std::basic_fstream<char, std::char_traits<wchar_t> > f;
// expected-error-re@ios:* {{static_assert failed{{.*}} "traits_type::char_type must be the same type as CharT"}}
// expected-error-re@streambuf:* {{static_assert failed{{.*}} "traits_type::char_type must be the same type as CharT"}}
// FIXME: As of commit r324062 Clang incorrectly generates a diagnostic about mismatching
// exception specifications for types which are already invalid for one reason or another.
// For now we tolerate this diagnostic.
// expected-error@ostream:* 0-1 {{exception specification of overriding function is more lax than base version}}
}