[libcxx] r324164 - Work around Clang bug introduced in r324062
Eric Fiselier via cfe-commits
cfe-commits at lists.llvm.org
Fri Feb 2 17:45:35 PST 2018
Author: ericwf
Date: Fri Feb 2 17:45:35 2018
New Revision: 324164
URL: http://llvm.org/viewvc/llvm-project?rev=324164&view=rev
Log:
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.
Modified:
libcxx/trunk/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.fail.cpp
Modified: libcxx/trunk/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.fail.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.fail.cpp?rev=324164&r1=324163&r2=324164&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.fail.cpp (original)
+++ libcxx/trunk/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.fail.cpp Fri Feb 2 17:45:35 2018
@@ -21,5 +21,10 @@ int main()
std::basic_fstream<char, std::char_traits<wchar_t> > f;
// expected-error-re at ios:* {{static_assert failed{{.*}} "traits_type::char_type must be the same type as CharT"}}
// expected-error-re at 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 at ostream:* 0-1 {{exception specification of overriding function is more lax than base version}}
}
More information about the cfe-commits
mailing list