1
1
// Global variables of intergal types
2
- // RUN: %clang_cc1 -std=c++20 -triple x86_64-unknown-linux-gnu -fclangir -emit-llvm %s -o - | FileCheck %s
2
+ // RUN: %clang_cc1 -std=c++20 -triple x86_64-unknown-linux-gnu -fclangir -emit-llvm %s -o - | FileCheck %s
3
3
4
- // Note: Currently unsupported features include default zero-initialization
5
- // and alignment. The fact that "external" is only printed for globals
6
- // without an initializer is a quirk of the LLVM AsmWriter.
4
+ // Note: Currently unsupported features include alignment..
7
5
8
6
char c;
9
- // CHECK: @c = external dso_local global i8
7
+ // CHECK: @c = dso_local global i8 0
10
8
11
9
signed char sc;
12
- // CHECK: @sc = external dso_local global i8
10
+ // CHECK: @sc = dso_local global i8 0
13
11
14
12
unsigned char uc;
15
- // CHECK: @uc = external dso_local global i8
13
+ // CHECK: @uc = dso_local global i8 0
16
14
17
15
short ss;
18
- // CHECK: @ss = external dso_local global i16
16
+ // CHECK: @ss = dso_local global i16 0
19
17
20
18
unsigned short us = 100 ;
21
19
// CHECK: @us = dso_local global i16 100
@@ -24,82 +22,82 @@ int si = 42;
24
22
// CHECK: @si = dso_local global i32 42
25
23
26
24
unsigned ui;
27
- // CHECK: @ui = external dso_local global i32
25
+ // CHECK: @ui = dso_local global i32 0
28
26
29
27
long sl;
30
- // CHECK: @sl = external dso_local global i64
28
+ // CHECK: @sl = dso_local global i64 0
31
29
32
30
unsigned long ul;
33
- // CHECK: @ul = external dso_local global i64
31
+ // CHECK: @ul = dso_local global i64 0
34
32
35
33
long long sll;
36
- // CHECK: @sll = external dso_local global i64
34
+ // CHECK: @sll = dso_local global i64 0
37
35
38
36
unsigned long long ull = 123456 ;
39
37
// CHECK: @ull = dso_local global i64 123456
40
38
41
39
__int128 s128;
42
- // CHECK: @s128 = external dso_local global i128
40
+ // CHECK: @s128 = dso_local global i128 0
43
41
44
42
unsigned __int128 u128;
45
- // CHECK: @u128 = external dso_local global i128
43
+ // CHECK: @u128 = dso_local global i128 0
46
44
47
45
wchar_t wc;
48
- // CHECK: @wc = external dso_local global i32
46
+ // CHECK: @wc = dso_local global i32 0
49
47
50
48
char8_t c8;
51
- // CHECK: @c8 = external dso_local global i8
49
+ // CHECK: @c8 = dso_local global i8 0
52
50
53
51
char16_t c16;
54
- // CHECK: @c16 = external dso_local global i16
52
+ // CHECK: @c16 = dso_local global i16 0
55
53
56
54
char32_t c32;
57
- // CHECK: @c32 = external dso_local global i32
55
+ // CHECK: @c32 = dso_local global i32 0
58
56
59
57
_BitInt (20 ) sb20;
60
- // CHECK: @sb20 = external dso_local global i20
58
+ // CHECK: @sb20 = dso_local global i20 0
61
59
62
60
unsigned _BitInt (48 ) ub48;
63
- // CHECK: @ub48 = external dso_local global i48
61
+ // CHECK: @ub48 = dso_local global i48 0
64
62
65
63
bool boolfalse = false ;
66
64
// CHECK: @boolfalse = dso_local global i8 0
67
65
68
66
_Float16 f16;
69
- // CHECK: @f16 = external dso_local global half
67
+ // CHECK: @f16 = dso_local global half
70
68
71
69
__bf16 bf16;
72
- // CHECK: @bf16 = external dso_local global bfloat
70
+ // CHECK: @bf16 = dso_local global bfloat
73
71
74
72
float f;
75
- // CHECK: @f = external dso_local global float
73
+ // CHECK: @f = dso_local global float 0.000000e+00
76
74
77
75
double d = 1.25 ;
78
76
// CHECK: @d = dso_local global double 1.250000e+00
79
77
80
78
long double ld;
81
- // CHECK: @ld = external dso_local global x86_fp80
79
+ // CHECK: @ld = dso_local global x86_fp80 0xK00
82
80
83
81
__float128 f128;
84
- // CHECK: @f128 = external dso_local global fp128
82
+ // CHECK: @f128 = dso_local global fp128 0xL00
85
83
86
84
void *vp;
87
- // CHECK: @vp = external dso_local global ptr{{$}}
85
+ // CHECK: @vp = dso_local global ptr null
88
86
89
87
int *ip = 0 ;
90
88
// CHECK: @ip = dso_local global ptr null
91
89
92
90
double *dp;
93
- // CHECK: @dp = external dso_local global ptr{{$}}
91
+ // CHECK: @dp = dso_local global ptr null
94
92
95
93
char **cpp;
96
- // CHECK: @cpp = external dso_local global ptr{{$}}
94
+ // CHECK: @cpp = dso_local global ptr null
97
95
98
96
void (*fp)();
99
- // CHECK: @fp = external dso_local global ptr{{$}}
97
+ // CHECK: @fp = dso_local global ptr null
100
98
101
99
int (*fpii)(int ) = 0 ;
102
100
// CHECK: @fpii = dso_local global ptr null
103
101
104
102
void (*fpvar)(int , ...);
105
- // CHECK: @fpvar = external dso_local global ptr{{$}}
103
+ // CHECK: @fpvar = dso_local global ptr null
0 commit comments