Issue 149563
Summary [flang][OpenMP] Crash with DO CONCURRENT lowering
Labels flang
Assignees
Reporter eugeneepshteyn
    (This started happening recently, I will try to at least identify the commit range soon.)
Consider the following test:
```
subroutine test(a)
  character(*) :: a(:)
  logical :: success 
  success = .true.
  do concurrent (i=1:Size(a)) local_init(success)
    a(i) = 'loop'
    if (.not. success) then
      error stop "fail"
    endif
  enddo
end
```
Compiling with `flang -c test.f90` results in the following functions in the backtrace:
```
...
 #5 0x00005cea3a2be38c mlir::Operation::getBlock() llvm-project/flang/../mlir/include/mlir/IR/Operation.h:213:30
 #6 0x00005cea3a2fe631 mlir::OpBuilder::setInsertionPoint(mlir::Operation*) llvm-project/flang/../mlir/include/mlir/IR/Builders.h:405:27
 #7 0x00005cea3b7db736 void Fortran::lower::omp::ReductionProcessor::processReductionArguments<fir::DeclareReductionOp, llvm::SmallVector<fir::ReduceOperationEnum, 12u>>(mlir::Location, Fortran::lower::AbstractConverter&, llvm::SmallVector<fir::ReduceOperationEnum, 12u> const&, llvm::SmallVectorImpl<mlir::Value>&, llvm::SmallVectorImpl<bool>&, llvm::SmallVectorImpl<mlir::Attribute>&, llvm::SmallVectorImpl<Fortran::semantics::Symbol const*> const&) llvm-project/flang/lib/Lower/Support/ReductionProcessor.cpp:650:42
 #8 0x00005cea3a286aad (anonymous namespace)::FirConverter::handleLocalitySpecs((anonymous namespace)::IncrementLoopInfo const&) llvm-project/flang/lib/Lower/Bridge.cpp:2130:24
 #9 0x00005cea3a282f13 (anonymous namespace)::FirConverter::genFIRIncrementLoopBegin(llvm::SmallVector<(anonymous namespace)::IncrementLoopInfo, 8u>&, llvm::SmallVectorImpl<Fortran::parser::CompilerDirective const*>&) llvm-project/flang/lib/Lower/Bridge.cpp:2541:9
#10 0x00005cea3a2812fb (anonymous namespace)::FirConverter::genFIR(Fortran::parser::DoConstruct const&) llvm-project/flang/lib/Lower/Bridge.cpp:2257:17
#11 0x00005cea3a280cb0 auto (anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&, bool)::'lambda'(auto const&)::operator()<Fortran::parser::DoConstruct>(auto const&) const llvm-project/flang/lib/Lower/Bridge.cpp:5635:54
...
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to