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