]> granicus.if.org Git - clang/commit
A step towards sorting out handling of triviality of special members in C++11.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 16 Nov 2012 00:53:38 +0000 (00:53 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 16 Nov 2012 00:53:38 +0000 (00:53 +0000)
commit426391cd51af86f9d59eceb0fb1c42153eccbb9a
tree3910c65c870ea05293b83fde11897b2c8fcd33c2
parent40b48a1b924fb1f830421da315b5a6a5539a12a9
A step towards sorting out handling of triviality of special members in C++11.

Separate out the notions of 'has a trivial special member' and 'has a
non-trivial special member', and use them appropriately. These are not
opposites of one another (there might be no special member, or in C++11 there
might be a trivial one and a non-trivial one). The CXXRecordDecl predicates
continue to produce incorrect results, but do so in fewer cases now, and
they document the cases where they might be wrong.

No functionality changes are intended here (they will come when the predicates
start producing the right answers...).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168119 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/DeclCXX.h
lib/AST/DeclCXX.cpp
lib/AST/Type.cpp
lib/CodeGen/CGBlocks.cpp
lib/CodeGen/CGDebugInfo.cpp
lib/CodeGen/CGExprAgg.cpp
lib/CodeGen/TargetInfo.cpp
lib/Sema/SemaDecl.cpp
lib/Sema/SemaDeclCXX.cpp
lib/Sema/SemaExpr.cpp