mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-17 03:26:48 +00:00

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
22 lines
654 B
Fortran
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
|