Author: ericwf
Date: Sat Feb  3 18:22:33 2018
New Revision: 324186

URL: http://llvm.org/viewvc/llvm-project?rev=324186&view=rev
Log:
correct comment about C++03 assignment operators

Modified:
    
libcxx/trunk/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp

Modified: 
libcxx/trunk/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp?rev=324186&r1=324185&r2=324186&view=diff
==============================================================================
--- 
libcxx/trunk/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp
 (original)
+++ 
libcxx/trunk/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp
 Sat Feb  3 18:22:33 2018
@@ -20,10 +20,10 @@
 // Disable the missing braces warning for this reason.
 #include "disable_missing_braces_warning.h"
 
-// FIXME: Clang generates copy assignment operators for types with const 
members
-// in C++03. The generated operator is ill-formed but still present.
-// I'm not sure if this is a Clang bug, but we need to work around it for now.
-#if TEST_STD_VER < 11 && defined(__clang__)
+// In C++03 the copy assignment operator is not deleted when the implicitly
+// generated operator would be ill-formed; like in the case of a struct with a
+// const member.
+#if TEST_STD_VER < 11
 #define TEST_NOT_COPY_ASSIGNABLE(T) ((void)0)
 #else
 #define TEST_NOT_COPY_ASSIGNABLE(T) 
static_assert(!std::is_copy_assignable<T>::value, "")


_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to