[PATCH] D31513: [Sema] Add __is_aggregate type-trait and implement LWG 2015

Eric Fiselier via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Mar 30 15:21:08 PDT 2017


EricWF created this revision.

LWG 2911 <http://cplusplus.github.io/LWG/lwg-defects.html#2911> adds `std::is_aggregate` to the library, which requires a new builtin trait. This patch implements `__is_aggregate`.

Additionally this patch implements LWG 2015 <http://cplusplus.github.io/LWG/lwg-defects.html#2015>, which requires than arrays used with [meta.unary.prop] traits have a complete element type.


https://reviews.llvm.org/D31513

Files:
  include/clang/Basic/TokenKinds.def
  include/clang/Basic/TypeTraits.h
  lib/Parse/ParseDeclCXX.cpp
  lib/Parse/ParseExpr.cpp
  lib/Sema/SemaExprCXX.cpp
  test/PCH/cxx-traits.cpp
  test/PCH/cxx-traits.h
  test/SemaCXX/type-traits.cpp
  test/SemaTemplate/instantiate-method.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31513.93553.patch
Type: text/x-patch
Size: 11657 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170330/29ce8351/attachment.bin>


More information about the cfe-commits mailing list