You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A reproducer is here:
SUBROUTINE mysub()
INTEGER :: ns, ne
REAL(KIND=8), ALLOCATABLE, DIMENSION(:, :, :) :: ar1, ar2
REAL(KIND=8), DIMENSION(20) :: d
!$OMP PARALLEL PRIVATE(n,ns,ne,ar1,ar2)
d(ns:ne) = &
(/(DOT_PRODUCT(ar1(:, n, n), ar2(:, n, n)),n=ns, ne)/)
!$OMP END PARALLEL
END SUBROUTINE
Invocation and crash message:
$flang -O1 -fopenmp tm1.f90
flang-20: warning: OpenMP support in flang is still experimental [-Wexperimental-option]
flang: /home/shivaram/llvm_trunk/llvm-project/llvm/include/llvm/ADT/STLExtras.h:1289: ReferenceT llvm::detail::indexed_accessor_range_base<DerivedT, BaseT, T, PointerT, ReferenceT>::operator[](size_t) const [with DerivedT = mlir::OperandRange; BaseT = mlir::OpOperand*; T = mlir::Value; PointerT = mlir::Value; ReferenceT = mlir::Value; size_t = long unsigned int]: Assertion `Index < size() && "invalid index for value range"' failed.
at -O0 the testcase compiles. at O1 and above, the crash is observed.