[Transforms] Silence a warning in SROA.cpp (NFC)
[llvm-project.git] / flang / test / Fir / global.fir
blob598fcb3da60c9b3fec15fe1cede9e4d2a33b420d
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
7   fir.has_value %1 : 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>>