Problem Description
This code:
module nested_scalar_m
use iso_fortran_env, only: real64
implicit none
type :: buffer_t
real(real64), allocatable :: data(:)
end type buffer_t
type :: solver_t
type(buffer_t) :: buf ! <-- scalar derived-type component
end type solver_t
contains
subroutine fill(o, n)
type(solver_t), intent(inout) :: o
integer, intent(in) :: n
integer :: i
do concurrent(i=1:n)
o%buf%data(i) = real(i, real64)
end do
end subroutine fill
end module nested_scalar_m
program mre_dc_device_nested_scalar_record
use nested_scalar_m
use iso_fortran_env, only: real64
implicit none
integer, parameter :: n = 8
type(solver_t) :: o
allocate (o%buf%data(n), source=0.0_real64)
call fill(o, n)
print *, sum(o%buf%data) ! 36.0
end program mre_dc_device_nested_scalar_record
fails to compile with:
warning: Mapping `do concurrent` to OpenMP is still experimental.
error: loc("/lustre/orion/scratch/jg4/csc693/more_benchmarks_dc_ocean/mre_bug2.f90":16:40): /__w/rockrel/rockrel/compiler/amd-llvm/flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp:603: not yet implemented: Nested record types are not supported yet.
LLVM ERROR: aborting
Operating System
SLE, SP7
CPU
AMD EPYC 7763 64-Core Processor
GPU
MI250X
ROCm Version
7.13.0
ROCm Component
flang
Steps to Reproduce
No response
(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
rocminfo --support output
Additional Information
No response
Problem Description
This code:
fails to compile with:
Operating System
SLE, SP7
CPU
AMD EPYC 7763 64-Core Processor
GPU
MI250X
ROCm Version
7.13.0
ROCm Component
flang
Steps to Reproduce
No response
(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
rocminfo --support output
Additional Information
No response