llvm-project/clang/lib/Serialization
Chandler Carruth ad7d404732 Begin tracking trivialness of move constructors and move assignment
operators in C++ record declarations.

This patch starts off by updating a bunch of the standard citations to
refer to the draft 0x standard so that the semantics intended for move
varianst is clear. Where necessary these are duplicated so they'll be
available in doxygen.

It adds bit fields to keep track of the state for the move constructs,
and updates all the code necessary to track this state (I think) as
members are declared for a class. It also wires the state into the
various trait-like accessors in the AST's API, and tests that the type
trait expressions now behave correctly in the presence of move
constructors and move assignment operators.

This isn't complete yet due to these glaring FIXMEs:
1) No synthesis of implicit move constructors or assignment operators.
2) I don't think we correctly enforce the new logic for both copy and
   move trivial checks: that the *selected* copy/move
   constructor/operator is trivial. Currently this requires *all* of them
   to be trivial.
3) Some of the trait logic needs to be folded into the fine-grained
   trivial bits to more closely match the wording of the standard. For
   example, many of the places we currently set a bit to track POD-ness
   could be removed by querying other more fine grained traits on
   demand.

llvm-svn: 130076
2011-04-23 23:10:33 +00:00
..
ASTCommon.cpp Basic, untested implementation for an "unknown any" type requested by LLDB. 2011-04-07 08:22:57 +00:00
ASTCommon.h It's kindof silly that ExtQuals has an ASTContext&, and we can use that 2010-12-10 11:01:00 +00:00
ASTReader.cpp Teach the AST reader and writer to preserve the __DEPRECATED bit in 2011-04-23 20:05:38 +00:00
ASTReaderDecl.cpp Begin tracking trivialness of move constructors and move assignment 2011-04-23 23:10:33 +00:00
ASTReaderStmt.cpp For 2011-04-22 05:29:30 +00:00
ASTWriter.cpp Begin tracking trivialness of move constructors and move assignment 2011-04-23 23:10:33 +00:00
ASTWriterDecl.cpp We regard a function as 'unused' from the codegen perspective, so our warnings diverge from 2011-04-19 19:51:10 +00:00
ASTWriterStmt.cpp For 2011-04-22 05:29:30 +00:00
CMakeLists.txt Fix CMake build. 2011-03-09 21:12:34 +00:00
ChainedIncludesSource.cpp Make ChainedIncludesSource an ExternalSemaSource, otherwise initialization of the ASTReader is incomplete, leading to errors like not realizing std::type_info is already defined. 2011-03-31 19:29:24 +00:00
GeneratePCH.cpp Allow resolving headers from a PCH even after headers+PCH were moved to another path. 2011-02-15 17:54:22 +00:00
Makefile Reintroduce the serialization library, with fixed dependencies. 2010-08-17 20:43:28 +00:00