[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