diff options
author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2012-02-19 16:03:09 +0000 |
---|---|---|
committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2012-02-19 16:03:09 +0000 |
commit | d026dc499c620d0a28f492cbfc86a036c44b936e (patch) | |
tree | 8623654a9b28affb1807caaed6d727287616836d /clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp | |
parent | 4e04dd1979795f7a674479bbf48ee2ead19a3933 (diff) | |
download | bcm5719-llvm-d026dc499c620d0a28f492cbfc86a036c44b936e.tar.gz bcm5719-llvm-d026dc499c620d0a28f492cbfc86a036c44b936e.zip |
Make heap-allocation of std::initializer_list 'work'.
llvm-svn: 150931
Diffstat (limited to 'clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp b/clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp index 55e39922385..2d7ff46ef79 100644 --- a/clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp +++ b/clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp @@ -195,3 +195,23 @@ haslist2::haslist2() // CHECK: call void @_ZN10destroyme2D1Ev // CHECK: call void @_ZN10destroyme1D1Ev } + +void fn10() { + // CHECK: define void @_Z4fn10v + // CHECK: alloca [3 x i32] + // CHECK: call noalias i8* @_Znwm + // CHECK: store i32 1 + // CHECK: store i32 2 + // CHECK: store i32 3 + // CHECK: store i32* + // CHECK: store i{{32|64}} 3 + (void) new std::initializer_list<int> {1, 2, 3}; +} + +void fn11() { + // CHECK: define void @_Z4fn11v + (void) new std::initializer_list<destroyme1> {destroyme1(), destroyme1()}; + // CHECK: call void @_ZN10destroyme1D1Ev + destroyme2 dm2; + // CHECK: call void @_ZN10destroyme2D1Ev +} |