1 // RUN: tco %s | FileCheck %s
2 // RUN: %flang_fc1 -emit-llvm %s -o - | FileCheck %s
4 // CHECK: @g_i0 = global i32 0
5 fir.global @g_i0 : i32 {
6 %1 = arith.constant 0 : i32
10 // CHECK: @g_i2 = global i32 2
11 fir.global @g_i2 : i32 {
12 %1 = arith.constant 2 : i32
13 fir.has_value %1 : i32
16 // CHECK: @g_ci5 = constant i32 5
17 fir.global @g_ci5 constant : i32 {
18 %c = arith.constant 5 : i32
19 fir.has_value %c : i32
22 // CHECK: @i_i515 = internal global i32 515
23 fir.global internal @i_i515 (515:i32) : i32
25 // CHECK: @C_i511 = common global i32 0
26 fir.global common @C_i511 (0:i32) : i32
28 // CHECK: @w_i86 = weak global i32 86
29 fir.global weak @w_i86 (86:i32) : i32
31 // CHECK: @str1 = global [6 x i8] c"Hello!"
32 fir.global @str1 : !fir.char<1,6> {
33 %1 = fir.string_lit "Hello!"(6) : !fir.char<1,6>
34 fir.has_value %1 : !fir.char<1,6>
37 // CHECK: @_QEmask = internal global [32 x i32] [i32 1, i32 1
38 fir.global internal @_QEmask : !fir.array<32xi32> {
39 %c0_i32 = arith.constant 1 : i32
40 %0 = fir.undefined !fir.array<32xi32>
41 %2 = fir.insert_on_range %0, %c0_i32 from (0) to (31) : (!fir.array<32xi32>, i32) -> !fir.array<32xi32>
42 fir.has_value %2 : !fir.array<32xi32>
45 // CHECK: @_QEmultiarray = internal global [32 x [32 x i32]]
46 fir.global internal @_QEmultiarray : !fir.array<32x32xi32> {
47 %c0_i32 = arith.constant 1 : i32
48 %0 = fir.undefined !fir.array<32x32xi32>
49 %2 = fir.insert_on_range %0, %c0_i32 from (0,0) to (31,31) : (!fir.array<32x32xi32>, i32) -> !fir.array<32x32xi32>
50 fir.has_value %2 : !fir.array<32x32xi32>
53 // CHECK: @_QEmasklogical = internal global [32768 x i32] [i32 -1, i32 -1,
54 fir.global internal @_QEmasklogical : !fir.array<32768x!fir.logical<4>> {
55 %true = arith.constant true
56 %0 = fir.undefined !fir.array<32768x!fir.logical<4>>
57 %1 = fir.convert %true : (i1) -> !fir.logical<4>
58 %2 = fir.insert_on_range %0, %1 from (0) to (32767) : (!fir.array<32768x!fir.logical<4>>, !fir.logical<4>) -> !fir.array<32768x!fir.logical<4>>
59 fir.has_value %2 : !fir.array<32768x!fir.logical<4>>