// RUN: fir-opt --add-debug-info --mlir-print-debuginfo %s | FileCheck %s module { fir.global @_QMhelperEpar : !fir.box>> { %0 = fir.zero_bits !fir.ptr> %c0 = arith.constant 0 : index %1 = fir.shape %c0, %c0 : (index, index) -> !fir.shape<2> %2 = fir.embox %0(%1) : (!fir.ptr>, !fir.shape<2>) -> !fir.box>> fir.has_value %2 : !fir.box>> } loc(#loc1) fir.global @_QMhelperEpar2 : !fir.box>> { %0 = fir.zero_bits !fir.ptr> %c0 = arith.constant 0 : index %1 = fir.shape %c0 : (index) -> !fir.shape<1> %2 = fir.embox %0(%1) : (!fir.ptr>, !fir.shape<1>) -> !fir.box>> fir.has_value %2 : !fir.box>> } loc(#loc2) fir.global @_QMhelperEpsc : !fir.box> { %0 = fir.zero_bits !fir.ptr %1 = fir.embox %0 : (!fir.ptr) -> !fir.box> fir.has_value %1 : !fir.box> } loc(#loc3) fir.global @_QMmEpstr : !fir.box>> { %0 = fir.zero_bits !fir.ptr> %1 = fir.embox %0 : (!fir.ptr>) -> !fir.box>> fir.has_value %1 : !fir.box>> } loc(#loc4) } #loc1 = loc("test.f90":5:1) #loc2 = loc("test.f90":6:1) #loc3 = loc("test.f90":7:1) #loc4 = loc("test.f90":8:1) // CHECK-DAG: #[[INT_TY:.*]] = #llvm.di_basic_type // CHECK-DAG: #[[ARR1_TY:.*]] = #llvm.di_composite_type, elements = #llvm.di_subrange, lowerBound = #llvm.di_expression<{{.*}}>, #llvm.di_subrange, lowerBound = #llvm.di_expression<{{.*}}>>> // CHECK-DAG: #[[ARR2_TY:.*]] = #llvm.di_composite_type, elements = #llvm.di_subrange, lowerBound = #llvm.di_expression<{{.*}}>>> // CHECK-DAG: #[[PTR_TY:.*]] = #llvm.di_derived_type // CHECK-DAG: #llvm.di_global_variable<{{.*}}name = "par"{{.*}}type = #[[ARR1_TY]]{{.*}}> // CHECK-DAG: #llvm.di_global_variable<{{.*}}name = "par2"{{.*}}type = #[[ARR2_TY]]{{.*}}> // CHECK-DAG: #llvm.di_global_variable<{{.*}}name = "psc"{{.*}}type = #[[PTR_TY]]{{.*}}>