aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/cxx0x-initializer-array.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGenCXX/cxx0x-initializer-array.cpp')
-rw-r--r--test/CodeGenCXX/cxx0x-initializer-array.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/test/CodeGenCXX/cxx0x-initializer-array.cpp b/test/CodeGenCXX/cxx0x-initializer-array.cpp
index 73bbca13b1..3144e941ef 100644
--- a/test/CodeGenCXX/cxx0x-initializer-array.cpp
+++ b/test/CodeGenCXX/cxx0x-initializer-array.cpp
@@ -53,6 +53,7 @@ namespace array_dtor {
struct S { S(); ~S(); };
using T = S[3];
void f(const T &);
+ void f(T *);
// CHECK: define void @_ZN10array_dtor1gEv(
void g() {
// CHECK: %[[ARRAY:.*]] = alloca [3 x
@@ -68,10 +69,9 @@ namespace array_dtor {
// Destruct loop.
// CHECK: call void @_ZN10array_dtor1SD1Ev(
// CHECK: br i1
+ f(T{});
// CHECK: ret void
-
- f(T{});
}
// CHECK: define void @_ZN10array_dtor1hEv(
void h() {
@@ -91,4 +91,21 @@ namespace array_dtor {
// CHECK: ret void
}
+ // CHECK: define void @_ZN10array_dtor1iEv(
+ void i() {
+ // CHECK: %[[ARRAY:.*]] = alloca [3 x
+ // CHECK: br
+
+ // CHECK: call void @_ZN10array_dtor1SC1Ev(
+ // CHECK: br i1
+
+ // CHECK: call void @_ZN10array_dtor1fEPA3_NS_1SE(
+ // CHECK: br
+
+ // CHECK: call void @_ZN10array_dtor1SD1Ev(
+ // CHECK: br i1
+ f(&T{});
+
+ // CHECK: ret void
+ }
}