https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103023
Bug ID: 103023
Summary: ICE (Segmentation fault) with !$OMP DECLARE SIMD(func)
linear(ref(u))
Product: gcc
Version: 11.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: bartoldeman at users dot sourceforge.net
Target Milestone: ---
Created attachment 51717
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51717&action=edit
Test case for crash
For the following Fortran code gfortran gives a SIGSEGV (tested GCC 9.3,10.3
locally, 11.2 and trunk on Godbolt)
subroutine func(u,ndim)
!$OMP DECLARE SIMD(func) linear(ref(u))
integer, intent(in) :: ndim
double precision, intent(in) :: u(ndim)
end subroutine func
Here's the output for 10.3:
$ gfortran -c -fopenmp-simd openfun2.f90
openfun2.f90:1:15:
1 | subroutine func(u,ndim)
| 1
internal compiler error: Segmentation fault
0xc147cf crash_signal
../../gcc/toplev.c:328
0x948ae6 size_binop_loc(unsigned int, tree_code, tree_node*, tree_node*)
../../gcc/fold-const.c:1906
0x7b8258 gfc_trans_omp_clauses
../../gcc/fortran/trans-openmp.c:2324
0x7bb168 gfc_trans_omp_declare_simd(gfc_namespace*)
../../gcc/fortran/trans-openmp.c:5838
0x77b767 gfc_create_function_decl(gfc_namespace*, bool)
../../gcc/fortran/trans-decl.c:3069
0x77b767 gfc_generate_function_code(gfc_namespace*)
../../gcc/fortran/trans-decl.c:6744
0x6f679e translate_all_program_units
../../gcc/fortran/parse.c:6306
0x6f679e gfc_parse_file()
../../gcc/fortran/parse.c:6567
0x74dfbf gfc_be_parse_file
../../gcc/fortran/f95-lang.c:210
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.