https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91782
anlauf at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |anlauf at gcc dot gnu.org
--- Comment #3 from anlauf at gcc dot gnu.org ---
I am now getting the following results for the testcase in comment#0:
gfortran 8.4.1, 9.3.1:
aaa
aaa
aaa
97 97 97
1 1 1
10.2.1 as of 20210116:
pr91782-z1.f90:7:20:
7 | print *, ichar(([(x(1:i), i=1,3)]))
| 1
Error: Argument of ICHAR at (1) must be of length one
pr91782-z1.f90:7:20:
7 | print *, ichar(([(x(1:i), i=1,3)]))
| 1
Error: Argument of ICHAR at (1) must be of length one
11 trunk:
pr91782-z1.f90:4:23:
4 | print *, ['abc'(1:1), 'abc'(1:2), 'abc'(1:3)]
| 1
Error: Different CHARACTER lengths (1/2) in array constructor at (1)
pr91782-z1.f90:7:20:
7 | print *, ichar(([(x(1:i), i=1,3)]))
| 1
Error: Argument of ICHAR at (1) must be of length one
pr91782-z1.f90:7:20:
7 | print *, ichar(([(x(1:i), i=1,3)]))
| 1
Error: Argument of ICHAR at (1) must be of length one
I think the new error for line 4 is a consequence of the patch applied for
pr93340.
What is left is apparently the following issue:
program p
integer :: i
character(3), parameter :: x = 'abc'
print *, [x(1:1), x(1:2), x(1:3)]
print *, [(x(1:i), i=1,3)] ! this one gives no warning
end
which prints:
aaa
aaa
but it is rejected with -std=f2018:
pr91782-z1.f90:4:19:
4 | print *, [x(1:1), x(1:2), x(1:3)]
| 1
Error: The CHARACTER elements of the array constructor at (1) must have the
same length (2/1)
pr91782-z1.f90:4:27:
4 | print *, [x(1:1), x(1:2), x(1:3)]
| 1
Error: The CHARACTER elements of the array constructor at (1) must have the
same length (3/1)