• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // RUN: %clang_cc1 %s -std=c++11 -emit-llvm -o - | FileCheck %s
2 
3 // PR10531.
4 
5 static union {
6   int a = 42;
7   char *b;
8 };
9 
f()10 int f() { return a; }
11 
12 // CHECK: define internal void @__cxx_global_var_init
13 // CHECK-NOT: }
14 // CHECK: call {{.*}}@"[[CONSTRUCT_GLOBAL:.*]]C1Ev"
15 
16 
g()17 int g() {
18   union {
19     int a;
20     int b = 81;
21   };
22   // CHECK: define {{.*}}_Z1gv
23   // CHECK-NOT: }
24   // CHECK: call {{.*}}@"[[CONSTRUCT_LOCAL:.*]]C1Ev"
25   return b;
26 }
27 
28 
29 // CHECK: define {{.*}}@"[[CONSTRUCT_LOCAL]]C2Ev"
30 // CHECK-NOT: }
31 // CHECK: store i32 81
32 
33 // CHECK: define {{.*}}@"[[CONSTRUCT_GLOBAL]]C2Ev"
34 // CHECK-NOT: }
35 // CHECK: store i32 42
36