]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGenCXX/global-llvm-constant.cpp
Vendor import of clang trunk r338150:
[FreeBSD/FreeBSD.git] / test / CodeGenCXX / global-llvm-constant.cpp
1 // RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -o - %s | FileCheck %s
2
3 struct A {
4   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
16 int add(int x, int y) { return x + y; }
17
18 // CHECK: @x2 = {{(dso_local )?}}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 = {{(dso_local )?}}global
31 extern const X2 x2b;
32 const X2 x2b = { { { 1 }, { 2 }, { 3 } } };