llvm-project/clang/tools
Richard Smith cc1b96d356 PR12086, PR15117
Introduce CXXStdInitializerListExpr node, representing the implicit
construction of a std::initializer_list<T> object from its underlying array.
The AST representation of such an expression goes from an InitListExpr with a
flag set, to a CXXStdInitializerListExpr containing a MaterializeTemporaryExpr
containing an InitListExpr (possibly wrapped in a CXXBindTemporaryExpr).

This more detailed representation has several advantages, the most important of
which is that the new MaterializeTemporaryExpr allows us to directly model
lifetime extension of the underlying temporary array. Using that, this patch
*drastically* simplifies the IR generation of this construct, provides IR
generation support for nested global initializer_list objects, fixes several
bugs where the destructors for the underlying array would accidentally not get
invoked, and provides constant expression evaluation support for
std::initializer_list objects.

llvm-svn: 183872
2013-06-12 22:31:48 +00:00
..
arcmt-test these now depend on the bitcode reader too. 2013-01-19 18:28:24 +00:00
c-arcmt-test libclang: Update comment about USEDLIBS in c-*-test/Makefile. 2013-01-22 04:11:33 +00:00
c-index-test libclang: add a function to check whether a member function is pure virtual 2013-05-17 18:38:35 +00:00
clang-check clang-check: add missing space in Makefile 2013-06-06 13:24:44 +00:00
clang-format Make it possible to assign clang-format-buffer to a keybinding. 2013-06-11 12:00:24 +00:00
diag-build Add new tool 'diag-build' for showing enabled warnings in a project. 2012-06-18 21:31:37 +00:00
diagtool Nuke SetUpBuildDumpLog. 2013-01-20 01:58:28 +00:00
driver Use the global functions instead of the Program methods. 2013-06-12 20:44:26 +00:00
libclang PR12086, PR15117 2013-06-12 22:31:48 +00:00
scan-build [analyzer] Add --override-compiler option to scan-build. 2013-05-31 02:31:07 +00:00
scan-view [analyzer] scan-view: don't ever serve absolute paths. 2013-04-29 17:23:06 +00:00
CMakeLists.txt Add clang-format binary to cfe. 2013-03-20 09:53:23 +00:00
Makefile Add clang-format to the corresponding Makefile. 2013-03-22 11:43:51 +00:00