https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102417
Bug ID: 102417
Summary: Wrong error message about character length with
-std=f2018
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: [email protected]
Target Milestone: ---
An embedded AC together with option -std=f2018 (or f2008 etc.)
produces a misleading error message. Typespec is explicitly given.
Affects versions down to at least r5.
That unique error message comes from line 1888 in decl.c.
Issue is eventually related to pr102315.
$ cat z1.f90
program p
character :: x = 'a'
character(4) :: y(3)
y = [[character(4) :: x, 'b', 'c']]
print *, y
end
$ gfortran-12-20210919 -c z1.f90 -std=f2018 -Wall
z1.f90:4:27:
4 | y = [[character(4) :: x, 'b', 'c']]
| 1
Warning: CHARACTER expression at (1) is being truncated (4/1)
[-Wcharacter-truncation]
z1.f90:4:27: Error: The CHARACTER elements of the array constructor at (1) must
have the same length (4/1)
z1.f90:4:32:
4 | y = [[character(4) :: x, 'b', 'c']]
| 1
Warning: CHARACTER expression at (1) is being truncated (4/1)
[-Wcharacter-truncation]
z1.f90:4:32: Error: The CHARACTER elements of the array constructor at (1) must
have the same length (4/1)