Jean Perier 2d46264ca6 [flang] add nested DEC STRUCTURE in DerivedTypeDetails component names
Currently, when a (legacy) DEC structure contained other DEC structure
declarations, the related component names were not added to the
containing DerivedTypeDetails component_names. This lead to bugs in
later phase when visiting the components (like in when lowering the
type to FIR/MLIR).

When an EntityDecl is visited and the scope is a DEC structure, add
the entity to the component names of this DEC structure.

Differential Revision: https://reviews.llvm.org/D154216
2023-06-30 20:25:04 +02:00

22 lines
654 B
Fortran

! Test component name resolution with nested legacy DEC structures.
!RUN: %flang_fc1 -fdebug-dump-symbols %s | FileCheck %s
structure /a/
integer :: a_first_comp
structure /b/ b1, b2(100)
integer :: i
end structure
structure /c/ z
integer :: i
structure /d/ d1, d2(10)
real :: x
end structure
end structure
integer :: a_last_comp
end structure
end
! CHECK: /a/: DerivedType sequence components: a_first_comp,b1,b2,z,a_last_comp
! CHECK: /b/: DerivedType sequence components: i
! CHECK: /c/: DerivedType sequence components: i,d1,d2
! CHECK: /d/: DerivedType sequence components: x