static-init.cpp revision 071c81065a282edba989bcf7c260b5838a59db50
1// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s 2 3// CHECK: @_ZZ1hvE1i = internal global i32 0, align 4 4struct A { 5 A(); 6 ~A(); 7}; 8 9void f() { 10 // CHECK: call void @_ZN1AC1Ev( 11 // CHECK: call i32 @__cxa_atexit(void (i8*)* bitcast (void (%struct.A*)* @_ZN1AD1Ev to void (i8*)*), i8* getelementptr inbounds (%struct.A* @_ZZ1fvE1a, i32 0, i32 0), i8* bitcast (i8** @__dso_handle to i8*)) 12 static A a; 13} 14 15void g() { 16 // CHECK: call noalias i8* @_Znwm(i64 1) 17 // CHECK: call void @_ZN1AC1Ev( 18 static A& a = *new A; 19} 20 21int a(); 22void h() { 23 static const int i = a(); 24} 25