// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s | |
struct X { | |
X(); | |
~X(); | |
}; | |
struct Y { | |
Y(); | |
~Y(); | |
}; | |
// CHECK: define void @_Z1fiPPKc( | |
void f(int argc, const char* argv[]) { | |
// CHECK: call void @_ZN1XC1Ev | |
X x; | |
// CHECK: call i8* @llvm.stacksave( | |
const char *argv2[argc]; | |
// CHECK: call void @_ZN1YC1Ev | |
Y y; | |
for (int i = 0; i != argc; ++i) | |
argv2[i] = argv[i]; | |
// CHECK: call void @_ZN1YD1Ev | |
// CHECK: call void @llvm.stackrestore | |
// CHECK: call void @_ZN1XD1Ev | |
// CHECK: ret void | |
} |