[libcxx] r324186 - correct comment about C++03 assignment operators
Eric Fiselier via cfe-commits
cfe-commits at lists.llvm.org
Sat Feb 3 18:22:33 PST 2018
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, "")
More information about the cfe-commits
mailing list