aboutsummaryrefslogtreecommitdiff
path: root/ports/llvm/0004-fix-dr-1734.patch
diff options
context:
space:
mode:
Diffstat (limited to 'ports/llvm/0004-fix-dr-1734.patch')
-rw-r--r--ports/llvm/0004-fix-dr-1734.patch14
1 files changed, 14 insertions, 0 deletions
diff --git a/ports/llvm/0004-fix-dr-1734.patch b/ports/llvm/0004-fix-dr-1734.patch
new file mode 100644
index 000000000..adfbe5a13
--- /dev/null
+++ b/ports/llvm/0004-fix-dr-1734.patch
@@ -0,0 +1,14 @@
+diff --git a/llvm/include/llvm/Support/type_traits.h b/llvm/include/llvm/Support/type_traits.h
+index b7d48e8e1ad..53ba24efc00 100644
+--- a/llvm/include/llvm/Support/type_traits.h
++++ b/llvm/include/llvm/Support/type_traits.h
+@@ -177,7 +177,8 @@ class is_trivially_copyable {
+ (has_deleted_copy_assign || has_trivial_copy_assign) &&
+ (has_deleted_copy_constructor || has_trivial_copy_constructor);
+
+-#ifdef HAVE_STD_IS_TRIVIALLY_COPYABLE
++ // due to DR 1734, a type can be std::is_trivially_copyable but not llvm::is_trivially_copyable
++#if 0
+ static_assert(value == std::is_trivially_copyable<T>::value,
+ "inconsistent behavior between llvm:: and std:: implementation of is_trivially_copyable");
+ #endif