xref: /aosp_15_r20/external/clang/test/CodeGenCXX/static-init-1.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -triple=x86_64-apple-darwin9 -emit-llvm %s -o - | FileCheck %s
2*67e74705SXin Li 
3*67e74705SXin Li extern "C" int printf(...);
4*67e74705SXin Li 
5*67e74705SXin Li static int count;
6*67e74705SXin Li 
func2(int c)7*67e74705SXin Li int func2(int c) { return printf("loading the func2(%d)\n", c); };
func1(int c)8*67e74705SXin Li int func1(int c) { return printf("loading the func1(%d)\n", c); }
9*67e74705SXin Li 
10*67e74705SXin Li static int loader_1 = func1(++count);
11*67e74705SXin Li // CHECK: call i32 @_Z5func1i
12*67e74705SXin Li 
13*67e74705SXin Li int loader_2 = func2(++count);
14*67e74705SXin Li 
15*67e74705SXin Li static int loader_3 = func1(++count);
16*67e74705SXin Li // CHECK: call i32 @_Z5func1i
17*67e74705SXin Li 
main()18*67e74705SXin Li int main() {}
19*67e74705SXin Li 
20*67e74705SXin Li int loader_4 = func2(++count);
21*67e74705SXin Li static int loader_5 = func1(++count);
22*67e74705SXin Li int loader_6 = func2(++count);
23*67e74705SXin Li // CHECK: call i32 @_Z5func1i
24*67e74705SXin Li 
25*67e74705SXin Li // CHECK-NOT: call i32 @_Z5func1i
26