[PATCH] D135238: [clang] adds copy-constructible type-trait builtins

Erich Keane via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 6 06:22:41 PDT 2022


erichkeane added a comment.

Please make sure these are going to be OK with libc++ here.  "Triviality" is a bit of a hard nut, the standards have re-defined what they mean quite a few times, so this ends up being pretty worthless if it doesn't match the 'version' of this check that the library is trying to look at.



================
Comment at: clang/include/clang/Basic/TokenKinds.def:528
+TYPE_TRAIT_1(__is_nothrow_copy_constructible, IsNothrowCopyConstructible, KEYCXX)
+TYPE_TRAIT_1(__is_trivially_copy_constructible, IsTriviallyCopyConstructible, KEYCXX)
 TYPE_TRAIT_2(__reference_binds_to_temporary, ReferenceBindsToTemporary, KEYCXX)
----------------
So this one is a whole 'thing'.  The Clang definition of 'trivially copy constructible' is a few DRs behind.  We should probably discuss this with libcxx to make sure use of this wouldn't be broken.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D135238/new/

https://reviews.llvm.org/D135238



More information about the cfe-commits mailing list