|
1 | 1 | // RUN: tco -o - %s | FileCheck %s
|
2 | 2 |
|
| 3 | +!type_defined_elsewhere = type !fir.type<_QMsome_moduleTtype_defined_elsewhere{j:i32}> |
| 4 | +fir.global internal @_QFfooEx2 : !fir.box<!fir.heap<!type_defined_elsewhere>> { |
| 5 | + %0 = fir.zero_bits !fir.heap<!type_defined_elsewhere> |
| 6 | + %1 = fir.embox %0 : (!fir.heap<!type_defined_elsewhere>) -> !fir.box<!fir.heap<!type_defined_elsewhere>> |
| 7 | + fir.has_value %1 : !fir.box<!fir.heap<!type_defined_elsewhere>> |
| 8 | +} |
| 9 | +// CHECK: @_QMsome_moduleE.dt.type_defined_elsewhere = extern_weak global i8 |
| 10 | +// CHECK: @_QFfooEx2 = internal global { %_QMsome_moduleTtype_defined_elsewhere*, i64, i32, i8, i8, i8, i8, i8*, [1 x i64] } |
| 11 | +// CHECK-SAME: { %_QMsome_moduleTtype_defined_elsewhere* null, i64 ptrtoint (i32* getelementptr (i32, i32* null, i32 1) to i64), |
| 12 | +// CHECK-SAME: i32 20180515, i8 0, i8 34, i8 2, i8 1, i8* @_QMsome_moduleE.dt.type_defined_elsewhere, [1 x i64] undef } |
| 13 | + |
3 | 14 | !sometype = type !fir.type<_QFfooTsometype{num:i32,values:!fir.box<!fir.ptr<!fir.array<?x?xf32>>>}>
|
4 | 15 | fir.global internal @_QFfooE.dt.sometype : i8
|
5 | 16 | fir.global internal @_QFfooEx : !fir.box<!fir.heap<!sometype>> {
|
6 | 17 | %0 = fir.zero_bits !fir.heap<!sometype>
|
7 | 18 | %1 = fir.embox %0 : (!fir.heap<!sometype>) -> !fir.box<!fir.heap<!sometype>>
|
8 | 19 | fir.has_value %1 : !fir.box<!fir.heap<!sometype>>
|
9 | 20 | }
|
10 |
| - |
11 | 21 | // CHECK: @_QFfooEx = internal global { %_QFfooTsometype*, i64, i32, i8, i8, i8, i8, i8*, [1 x i64] }
|
12 | 22 | // CHECK-SAME: { %_QFfooTsometype* null, i64 ptrtoint (%_QFfooTsometype* getelementptr (%_QFfooTsometype, %_QFfooTsometype* null, i32 1) to i64),
|
13 | 23 | // CHECK-SAME: i32 20180515, i8 0, i8 34, i8 2, i8 1, i8* @_QFfooE.dt.sometype, [1 x i64] undef }
|
0 commit comments