llvm-project/clang/lib/Serialization
Richard Smith 410306bf6e Add two new AST nodes to represent initialization of an array in terms of
initialization of each array element:

 * ArrayInitLoopExpr is a prvalue of array type with two subexpressions:
   a common expression (an OpaqueValueExpr) that represents the up-front
   computation of the source of the initialization, and a subexpression
   representing a per-element initializer
 * ArrayInitIndexExpr is a prvalue of type size_t representing the current
   position in the loop

This will be used to replace the creation of explicit index variables in lambda
capture of arrays and copy/move construction of classes with array elements,
and also C++17 structured bindings of arrays by value (which inexplicably allow
copying an array by value, unlike all of C++'s other array declarations).

No uses of these nodes are introduced by this change, however.

llvm-svn: 289413
2016-12-12 02:53:20 +00:00
..
ASTCommon.cpp C++ Modules TS: Add parsing and some semantic analysis support for 2016-09-08 23:14:54 +00:00
ASTCommon.h PR29097: add an update record when we instantiate the default member 2016-08-24 21:25:37 +00:00
ASTReader.cpp [modules] Add optional out-param to ASTReader::ReadAST for imported submodules. 2016-12-09 21:45:49 +00:00
ASTReaderDecl.cpp [modules] Fix assert if multiple update records provide a definition for a 2016-10-26 02:31:56 +00:00
ASTReaderInternals.h Remove move constructors that are identical to the generated default move ctor. 2016-10-21 18:55:07 +00:00
ASTReaderStmt.cpp Add two new AST nodes to represent initialization of an array in terms of 2016-12-12 02:53:20 +00:00
ASTWriter.cpp [OpenCL] Refactor read_only/write_only pipes. 2016-12-01 11:30:49 +00:00
ASTWriterDecl.cpp Reinstate r284008 reverted in r284081, with two fixes: 2016-10-14 21:41:24 +00:00
ASTWriterStmt.cpp Add two new AST nodes to represent initialization of an array in terms of 2016-12-12 02:53:20 +00:00
CMakeLists.txt Introduce module file extensions to piggy-back data onto module files. 2015-11-03 18:33:07 +00:00
GeneratePCH.cpp C++ Modules TS: add frontend support for building pcm files from module 2016-08-26 00:14:38 +00:00
GlobalModuleIndex.cpp Bitcode: Decouple block info block state from reader. 2016-11-08 04:17:11 +00:00
Module.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
ModuleFileExtension.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
ModuleManager.cpp [VFS] Replace TimeValue usage with std::chrono 2016-11-09 10:52:22 +00:00
MultiOnDiskHashTable.h [NFC] Header cleanup 2016-07-18 19:02:11 +00:00