Issue |
149533
|
Summary |
[flang] Runtime failure on list-directed I/O
|
Labels |
flang:runtime
|
Assignees |
|
Reporter |
DanielCChen
|
Consider the following code:
```
implicit none
integer, parameter :: in = 11
real(4) :: nanq_pos, nanq_neg, nans_pos, nans_neg, inf_pos, inf_neg
character(3) :: c1, c2
open(in, file='modeMixNaNInfIO001.dat', action=""
! reset variables
nanq_pos = 0.0; nanq_neg = 0.0; nans_pos = 0.0; nans_neg = 0.0
inf_pos = 0.0; inf_neg = 0.0
c1 = 'xxx'
c2 = 'xxx'
open(in, delim='quote', blank='zero', sign='plus')
read(in, *) nanq_pos, c1, nanq_neg, c2, nans_pos, nans_neg, &
& inf_pos, inf_neg
close(in)
end
```
`modeMixNaNInfIO001.dat` contains
```
+nan(q) xlf -nan(q) 'ibm' +nan(s) -nan(s) +inf -Inf
+nan "xlf" -nan() ibm +nan(s) -nan(s) +infinity -Infinity
nan() "xlf" -nan ibm +nan(s) -nan(s) +infinity -Infinity
```
Flang failed at the execution as
```
> a.out
fatal Fortran runtime error(t.f:23): invalid character (0x28) after list-directed input value, at column 5 in record 1
IOT/Abort trap(coredump)
```
It seems it complains about the `(` in the record.
If I remove all the "(*)" from the `modeMixNaNInfIO001.dat` based on Flang's runtime error message, Flang works fine.
Both gfortran and XLF executes the original code successfully.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs