1 // RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -o - %s | FileCheck %s
2
3 struct A {
AA4 A() { x = 10; }
5 int x;
6 };
7
8 const A x;
9
10 // CHECK: @_ZL1x = internal global
11
12 struct X {
13 int (*fp)(int, int);
14 };
15
add(int x,int y)16 int add(int x, int y) { return x + y; }
17
18 // CHECK: @x2 = constant
19 extern const X x2;
20 const X x2 = { &add };
21
22 struct X1 {
23 mutable int i;
24 };
25
26 struct X2 {
27 X1 array[3];
28 };
29
30 // CHECK: @x2b = global
31 extern const X2 x2b;
32 const X2 x2b = { { { 1 }, { 2 }, { 3 } } };
33