| // RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -o - %s | FileCheck %s | |
| struct A { | |
| A() { x = 10; } | |
| int x; | |
| }; | |
| const A x; | |
| // CHECK: @_ZL1x = internal global | |
| struct X { | |
| int (*fp)(int, int); | |
| }; | |
| int add(int x, int y) { return x + y; } | |
| // CHECK: @x2 = {{(dso_local )?}}constant | |
| extern const X x2; | |
| const X x2 = { &add }; | |
| struct X1 { | |
| mutable int i; | |
| }; | |
| struct X2 { | |
| X1 array[3]; | |
| }; | |
| // CHECK: @x2b = {{(dso_local )?}}global | |
| extern const X2 x2b; | |
| const X2 x2b = { { { 1 }, { 2 }, { 3 } } }; |