aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
diff options
context:
space:
mode:
authorValentin Clement <clementval@gmail.com>2023-01-25 18:38:34 +0100
committerValentin Clement <clementval@gmail.com>2023-01-25 18:39:03 +0100
commitb1a34b242fb96ddedf34045d415cbb807534d733 (patch)
tree2735eaa113cd40f3443399208f21ed6a485cbc24 /llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
parentfbb003378b9cfda0f129396a9c92a53fce6d883c (diff)
downloadllvm-b1a34b242fb96ddedf34045d415cbb807534d733.zip
llvm-b1a34b242fb96ddedf34045d415cbb807534d733.tar.gz
llvm-b1a34b242fb96ddedf34045d415cbb807534d733.tar.bz2
[flang] Fix element indexing in derived type default initialization
Derived type default initialization was not taking the step into consideration. ``` module dt_init type p1 integer :: a end type type, extends(p1) :: p2 integer :: b = 10 end type contains subroutine init_dt(z) class(p1), intent(out) :: z(:) select type(z) type is (p2) print*,z end select end subroutine end module program test use dt_init type(p2) :: t(6) = [ p2(1,2),p2(3,4),p2(5,6),p2(7,8),p2(9,10),p2(11,12) ] print*,t call init_dt(t(::2)) print*,t end program ``` Without the fix, the three first elements are initialized ``` 1 2 3 4 5 6 7 8 9 10 11 12 1 10 5 10 9 10 1 10 3 10 5 10 7 8 9 10 11 12 ``` Where it should be element number 1,3,5 ``` 1 2 3 4 5 6 7 8 9 10 11 12 1 10 5 10 9 10 1 10 3 4 5 10 7 8 9 10 11 12 ``` Reviewed By: klausler Differential Revision: https://reviews.llvm.org/D142527
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMapping.cpp')
0 files changed, 0 insertions, 0 deletions