7c3e615f01e8f9f587315800fdaf2305ed824568 |
|
13-Jun-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p3-0x.cpp
|
6c5aaed0d4faf9ab8793423529306e7116e9f0fd |
|
26-Mar-2013 |
Douglas Gregor <dgregor@apple.com> |
<rdar://problem/13395022> Strip references when extracting an initializer_list's element type during application of an initialization sequence. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p3-0x.cpp
|
a4dc51b46861eb52626f89183da7610437baba93 |
|
05-Feb-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Add some missing diagnostics for C++11 narrowing conversions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p3-0x.cpp
|
20599392a99956eaac4cf351a0935574090cb6c3 |
|
07-Jul-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR12670: Support for initializing an array of non-aggregate class type from an initializer list. Patch by Olivier Goffart, with extra testcases by Meador Inge and Daniel Lunow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p3-0x.cpp
|