llvm-project/clang/tools/libclang
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
..
ARCMigrate.cpp push_back() loop -> append() for random access iterators. 2015-06-12 15:31:50 +00:00
BuildSystem.cpp Replace TimeValue with TimePoint in BuildSystem.cpp. NFC. 2016-11-09 11:19:39 +00:00
CIndex.cpp [OpenMP] Sema and parsing for 'teams distribute parallel for' pragma 2016-12-09 03:24:30 +00:00
CIndexCXX.cpp [C++11] Use 'nullptr'. Tools edition. 2014-06-08 08:38:04 +00:00
CIndexCodeCompletion.cpp [libclang] Use lambdas instead of explicit structs when storing arguments. 2015-07-25 20:55:44 +00:00
CIndexDiagnostic.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CIndexDiagnostic.h Roll-back r250822. 2015-10-20 13:23:58 +00:00
CIndexHigh.cpp Replace uses of LLVM_FUNCTION_NAME with __func__, this was macro was removed from llvm/Support in r284681 2016-10-20 02:46:22 +00:00
CIndexInclusionStack.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CIndexUSRs.cpp [index] Create different USR if a property is a class property. 2016-07-15 22:18:19 +00:00
CIndexer.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CIndexer.h [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CLog.h Replace uses of LLVM_FUNCTION_NAME with __func__, this was macro was removed from llvm/Support in r284681 2016-10-20 02:46:22 +00:00
CMakeLists.txt Link include-fixer into libclang if clang-tools-extra is checked out. 2016-11-17 15:22:36 +00:00
CXComment.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CXComment.h [cleanup] Re-sort the #include lines using llvm/utils/sort_includes.py 2015-01-14 11:23:58 +00:00
CXCompilationDatabase.cpp [tooling] In CompileCommand, Expose the 'file' that was associated with the command. 2015-09-11 20:43:05 +00:00
CXCursor.cpp Add two new AST nodes to represent initialization of an array in terms of 2016-12-12 02:53:20 +00:00
CXCursor.h Revert r240270 ("Fixed/added namespace ending comments using clang-tidy"). 2015-06-22 23:07:51 +00:00
CXIndexDataConsumer.cpp [index] Rename SymbolSubKind -> SymbolProperty, NFC. 2016-11-11 23:49:55 +00:00
CXIndexDataConsumer.h [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CXLoadedDiagnostic.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CXLoadedDiagnostic.h [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CXSourceLocation.cpp Replace uses of LLVM_FUNCTION_NAME with __func__, this was macro was removed from llvm/Support in r284681 2016-10-20 02:46:22 +00:00
CXSourceLocation.h Revert r240270 ("Fixed/added namespace ending comments using clang-tidy"). 2015-06-22 23:07:51 +00:00
CXStoredDiagnostic.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CXString.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CXString.h libclang: add new StringSet type 2015-11-12 03:57:16 +00:00
CXTranslationUnit.h Revert r240270 ("Fixed/added namespace ending comments using clang-tidy"). 2015-06-22 23:07:51 +00:00
CXType.cpp getObjCEncodingForMethodDecl cannot fail. Simplify. NFC. 2016-11-29 21:57:00 +00:00
CXType.h Header guard canonicalization, clang part. 2014-08-13 16:25:19 +00:00
CursorVisitor.h [index] Expose FriendDecl 2016-11-04 06:29:27 +00:00
Index_Internal.h Header guard canonicalization, clang part. 2014-08-13 16:25:19 +00:00
Indexing.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
libclang.exports [libclang] Add APIs to check the result of an integer expression in CXEvalResult without overflow 2016-12-01 23:41:27 +00:00