Issue |
143582
|
Summary |
[flang] Unlimited polymorphic argument for intrnsic MERGE caused FIR verification failure
|
Labels |
flang:fir-hlfir
|
Assignees |
|
Reporter |
DanielCChen
|
Consider the following code:
```
type base
real :: r1
end type
contains
SUBROUTINE Sub(Arg1, Arg2)
!CLASS(base) :: Arg1(:, :), Arg2(:, :) !! Workaround
CLASS(*) :: Arg1(:, :), Arg2(:, :)
LOGICAL :: Mask(2, 2) = .true.
SELECT TYPE ( V=>MERGE(Arg1, Arg2, Mask) )
CLASS DEFAULT
print*, "in class default"
END SELECT
END SUBROUTINE
end
```
Flang fails at the compile time with
```
error: loc("/home/cdchen/temp/SltArrFuncPolyPtr.f":11:3): nonscalar intrinsic argument
LLVM ERROR: aborting
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /home/cdchen/FLANG/build/bin/flang -fc1 -triple powerpc64-ibm-aix7.2.0.0 -emit-obj -ffree-form -fcolor-diagnostics -mrelocation-model pic -pic-level 2 -target-cpu pwr7 -resource-dir /home/cdchen/FLANG/build/lib/clang/21 -mframe-pointer=all -o /tmp/SltArrFuncPolyPtr-81bc14.o -x f95 SltArrFuncPolyPtr.f
flang-21: error: unable to execute command: IOT/Abort trap
flang-21: error: flang frontend command failed due to signal (use -v to see invocation)
flang version 21.0.0git (g...@github.com:DanielCChen/llvm-project.git b896d262ebc530a92327b912b2bd5ac3b0bb0e56)
Target: powerpc64-ibm-aix7.2.0.0
Thread model: posix
InstalledDir: /home/cdchen/FLANG/build/bin
Build config: +assertions
flang-21: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
flang-21: note: diagnostic msg: /tmp/SltArrFuncPolyPtr-0a9010
flang-21: note: diagnostic msg: /tmp/SltArrFuncPolyPtr-0a9010.sh
flang-21: note: diagnostic msg:
```
If I use the workaround marked in the code, it compiles successfully.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs