]> granicus.if.org Git - clang/commit
Hoist all of the type-specific trait logic for __is_standard_layout into
authorChandler Carruth <chandlerc@gmail.com>
Sat, 30 Apr 2011 09:17:49 +0000 (09:17 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sat, 30 Apr 2011 09:17:49 +0000 (09:17 +0000)
commit636a617cc6021a4366380b3ce673f4472f3d99db
treef0b747364b0ef1909ef809e07a106db9e86e1341
parenta8225449421e8c1e996a7c48300521028946482a
Hoist all of the type-specific trait logic for __is_standard_layout into
a Type method isStandardLayoutType, to keep our user API matching the
type trait builtins as closely as possible. Also, implement it in terms
of other Type APIs rather than in terms of other type traits. This
models the implementation on that of isLiteralType and isTrivialType.
There remain some common problems with these traits still, so this is
a bit of a WIP. However, we can now fix all of these traits at the same
time and in a consistent manner.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130602 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/Type.h
lib/AST/Type.cpp
lib/Sema/SemaExprCXX.cpp