Previously, 32-bit types (integer, real, logical, complex) were printed without the (kind=4) suffix in DWARF debug type names, while other sizes always included the kind suffix. This inconsistency is now removed by always appending (kind=X) to all basic type names, making the format uniform across all type sizes. Fixes https://github.com/llvm/llvm-project/issues/119478.
13 lines
541 B
Fortran
13 lines
541 B
Fortran
! RUN: %flang_fc1 -emit-llvm -debug-info-kind=standalone %s -o - | FileCheck %s
|
|
|
|
! Test that complex return type is correctly represented in debug.
|
|
complex function fn(a)
|
|
complex, intent(in) :: a
|
|
fn = a
|
|
end function
|
|
|
|
! CHECK-DAG: ![[CMPLX:.*]] = !DIBasicType(name: "complex(kind=4)", size: 64, encoding: DW_ATE_complex_float)
|
|
! CHECK-DAG: ![[SR_TY:.*]] = !DISubroutineType(cc: DW_CC_normal, types: ![[TYPES:.*]])
|
|
! CHECK-DAG: ![[TYPES]] = !{![[CMPLX]], ![[CMPLX]]}
|
|
! CHECK-DAG: !DISubprogram(name: "fn"{{.*}}type: ![[SR_TY]]{{.*}})
|