// RUN: fir-opt --add-debug-info --mlir-print-debuginfo %s | FileCheck %s module { fir.type_info @_QTtest_type nofinal : !fir.type<_QTtest_type{a:i32,b:!fir.box>>}> dispatch_table { fir.dt_entry "test_proc", @_QPtest_proc } loc(#loc1) func.func private @_QPtest_proc(%arg0: !fir.class>>}>>) func.func @test() { %0 = fir.address_of(@_QFEx) : !fir.ref>>}>>>> %1 = fircg.ext_declare %0 {uniq_name = "_QFEx"} : (!fir.ref>>}>>>>) -> !fir.ref>>}>>>> loc(#loc3) %2 = fir.address_of(@_QFEy) : !fir.ref>>}>>>> %3 = fircg.ext_declare %2 {uniq_name = "_QFEy"} : (!fir.ref>>}>>>>) -> !fir.ref>>}>>>> loc(#loc4) %4 = fir.address_of(@_QFEz) : !fir.ref> %5 = fircg.ext_declare %4 {uniq_name = "_QFEz"} : (!fir.ref>) -> !fir.ref> loc(#loc4) %6 = fir.address_of(@_QFEt) : !fir.ref>> %7 = fircg.ext_declare %6 {uniq_name = "_QFEt"} : (!fir.ref>>) -> !fir.ref>> loc(#loc4) return } loc(#loc2) } #loc1 = loc("./simple.f90":2:1) #loc2 = loc("./simple.f90":10:1) #loc3 = loc("./simple.f90":15:1) #loc4 = loc("./simple.f90":22:1) // CHECK-DAG: #[[TY1:.*]] = #llvm.di_composite_type<{{.*}}name = "test_type"{{.*}}> // CHECK-DAG: #[[TY2:.*]] = #llvm.di_derived_type // CHECK-DAG: #[[TY3:.*]] = #llvm.di_derived_type // CHECK-DAG: #llvm.di_subroutine_type // CHECK-DAG: #llvm.di_local_variable<{{.*}}name = "x"{{.*}}type = #[[TY2]]> // CHECK-DAG: #llvm.di_local_variable<{{.*}}name = "y"{{.*}}type = #[[TY2]]> // CHECK-DAG: #llvm.di_local_variable<{{.*}}name = "z"{{.*}}type = #[[TY3]]> // CHECK-DAG: #llvm.di_local_variable<{{.*}}name = "t"{{.*}}type = #[[TY3]]>