https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87923
G. Steinmetz <gs...@t-online.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-invalid-code Summary|[DEC] ICE in |ICE in |gfc_widechar_to_char, at |gfc_widechar_to_char, at |fortran/scanner.c:198 |fortran/scanner.c:198 --- Comment #2 from G. Steinmetz <gs...@t-online.de> --- The problem in general seems to be not DEC specific, there are several more cases. The specifier needs to be a scalar default character. Some variants are detected : $ cat z2.f90 program p character(len=4, kind=4) :: c = 4_'null' open (1, access=char(1000,4)) read (1, *, blank=4_'null') read (1, *, blank=c) end $ gfortran-10-20200202 -c z2.f90 z2.f90:3:19: 3 | open (1, access=char(1000,4)) | 1 Error: ACCESS tag at (1) must be a character string of default kind z2.f90:4:21: 4 | read (1, *, blank=4_'null') | 1 Error: BLANK tag at (1) must be a character string of default kind z2.f90:5:21: 5 | read (1, *, blank=c) | 1 Error: BLANK tag at (1) must be a character string of default kind While following cases actually give an ICE : $ cat z3.f90 program p open (1, blank=char(1000,4)) open (2, decimal=char(1000,4)) open (3, encoding=char(1000,4)) open (4, round=char(1000,4)) open (5, sign=char(1000,4)) end $ cat z4.f90 program p read (1, blank=char(1000,4)) read (1, delim=char(1000,4)) read (1, pad=char(1000,4)) read (1, round=char(1000,4)) read (1, sign=char(1000,4)) end $ cat z5.f90 program p write (1, blank=char(1000,4)) write (1, delim=char(1000,4)) write (1, pad=char(1000,4)) write (1, round=char(1000,4)) write (1, sign=char(1000,4)) end