https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126156
Bug ID: 126156
Summary: ICE Segmentation fault in fortran parser
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: mjires at gcc dot gnu.org
Target Milestone: ---
Compiling reduced gcc/testsuite/gfortran.dg/pr117763.f90 results in ICE.
The ICE is present at least since 2015.
Alternative reduction:
$ cat pr117763.f90
character(LEN)
forall(set
end
Bisects to unrelated r13-3711.
$ cat pr117763.f90
module iso_varying_string
type, public :: varying_string
end type varying_string
end module iso_varying_string
module model_data
use iso_varying_string, string_t => varying_string
type :: field_data_t
integer :: pdg = type(string_t)
end type field_data_t
end module model_data
$ gfortran pr117763.f90
f951: internal compiler error: Segmentation fault
0x27e5575 internal_error(char const*, ...)
/home/mjires/git/GCC/master/gcc/diagnostic-global-context.cc:787
0x10eda37 crash_signal
/home/mjires/git/GCC/master/gcc/toplev.cc:325
0x9095b0 resolve_actual_arglist
/home/mjires/git/GCC/master/gcc/fortran/resolve.cc:2107
0x902e6e resolve_function
/home/mjires/git/GCC/master/gcc/fortran/resolve.cc:3479
0x903034 gfc_resolve_expr(gfc_expr*)
/home/mjires/git/GCC/master/gcc/fortran/resolve.cc:8285
0x87b23e gfc_reduce_init_expr(gfc_expr*)
/home/mjires/git/GCC/master/gcc/fortran/expr.cc:3454
0x87b321 gfc_match_init_expr(gfc_expr**)
/home/mjires/git/GCC/master/gcc/fortran/expr.cc:3502
0x860d21 variable_decl
/home/mjires/git/GCC/master/gcc/fortran/decl.cc:3265
0x860d21 gfc_match_data_decl()
/home/mjires/git/GCC/master/gcc/fortran/decl.cc:7044
0x8d8ab9 match_word
/home/mjires/git/GCC/master/gcc/fortran/parse.cc:105
0x8d9b07 decode_statement
/home/mjires/git/GCC/master/gcc/fortran/parse.cc:471
0x8e1d89 next_free
/home/mjires/git/GCC/master/gcc/fortran/parse.cc:1693
0x8e1d89 next_statement
/home/mjires/git/GCC/master/gcc/fortran/parse.cc:1926
0x8e32c9 parse_derived
/home/mjires/git/GCC/master/gcc/fortran/parse.cc:4003
0x8e32c9 parse_spec
/home/mjires/git/GCC/master/gcc/fortran/parse.cc:4575
0x8e6876 parse_module
/home/mjires/git/GCC/master/gcc/fortran/parse.cc:7464
0x8e7c00 gfc_parse_file()
/home/mjires/git/GCC/master/gcc/fortran/parse.cc:7788
0x93cc0c gfc_be_parse_file
/home/mjires/git/GCC/master/gcc/fortran/f95-lang.cc:249
/home/mjires/built/master/libexec/gcc/x86_64-pc-linux-gnu/17.0.0/f951
pr117763.f90 -quiet -dumpdir a- -dumpbase pr117763.f90 -dumpbase-ext .f90
-mtune=generic -march=x86-64 -fintrinsic-modules-path
/home/mjires/built/master/lib/gcc/x86_64-pc-linux-gnu/17.0.0/finclude
-fpre-include=/usr/include/finclude/math-vector-fortran.h -o /tmp/ccHKHcWg.s
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
$ gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/home/mjires/built/master/libexec/gcc/x86_64-pc-linux-gnu/17.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /home/mjires/git/GCC/master/configure
--prefix=/home/mjires/built/master --disable-bootstrap
--enable-languages=c,c++,fortran,lto --disable-multilib --disable-libsanitizer
--enable-checking
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 17.0.0 20260707 (experimental) (GCC)