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: gs...@t-online.de
  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)

Reply via email to