[Bug fortran/88048] [8/9 Regression] ICE in check_data_variable, at fortran/resolve.c:15491
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88048 kargl at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED CC||kargl at gcc dot gnu.org Resolution|--- |FIXED --- Comment #7 from kargl at gcc dot gnu.org --- Fixed on trunk and branch-8.
[Bug fortran/88048] [8/9 Regression] ICE in check_data_variable, at fortran/resolve.c:15491
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88048 --- Comment #6 from kargl at gcc dot gnu.org --- Author: kargl Date: Sun Dec 9 06:29:17 2018 New Revision: 266917 URL: https://gcc.gnu.org/viewcvs?rev=266917=gcc=rev Log: 2018-12-08 Steven G. Kargl PR fortran/88048 * resolve.c (check_data_variable): Named constant cannot be a data object. 2018-12-08 Steven G. Kargl PR fortran/88048 * gfortran.dg/pr88048.f90: New test. Added: branches/gcc-8-branch/gcc/testsuite/gfortran.dg/pr88048.f90 Modified: branches/gcc-8-branch/gcc/fortran/ChangeLog branches/gcc-8-branch/gcc/fortran/resolve.c branches/gcc-8-branch/gcc/testsuite/ChangeLog
[Bug fortran/88048] [8/9 Regression] ICE in check_data_variable, at fortran/resolve.c:15491
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88048 --- Comment #5 from kargl at gcc dot gnu.org --- Author: kargl Date: Sun Dec 9 06:09:47 2018 New Revision: 266916 URL: https://gcc.gnu.org/viewcvs?rev=266916=gcc=rev Log: 2018-12-08 Steven G. Kargl PR fortran/88048 * resolve.c (check_data_variable): Named constant cannot be a data object. 2018-12-08 Steven G. Kargl PR fortran/88048 * gfortran.dg/pr88048.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/pr88048.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/resolve.c trunk/gcc/testsuite/ChangeLog
[Bug fortran/88048] [8/9 Regression] ICE in check_data_variable, at fortran/resolve.c:15491
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88048 --- Comment #4 from kargl at gcc dot gnu.org --- (In reply to G. Steinmetz from comment #1) > Invalid code nearby, down to at least gcc-5 : > > > $ cat z4.f90 > subroutine s(x) >integer, allocatable :: x(:) >data x(1:2) /3, 4/ > end Unrelated bug.
[Bug fortran/88048] [8/9 Regression] ICE in check_data_variable, at fortran/resolve.c:15491
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88048 --- Comment #3 from kargl at gcc dot gnu.org --- (In reply to G. Steinmetz from comment #0) > With invalid code : > > > $ cat z1.f90 > program p >integer, parameter :: a(2) = 1 >data a(2) /a(1)/ >print *, a > end > > > $ gfortran-7 -g -O0 -Wall -Wextra -fcheck=all z1.f90 > $ a.out >1 1 > > > $ gfortran-9-2018 -c z1.f90 > f951: internal compiler error: check_data_variable(): Bad expression Index: gcc/fortran/resolve.c === --- gcc/fortran/resolve.c (revision 266386) +++ gcc/fortran/resolve.c (working copy) @@ -15492,7 +15492,10 @@ check_data_variable (gfc_data_variable *var, locus *wh e = e->value.function.actual->expr; if (e->expr_type != EXPR_VARIABLE) -gfc_internal_error ("check_data_variable(): Bad expression"); +{ + gfc_error ("Expecting definable entity near %L", where); + return false; +} sym = e->symtree->n.sym; @@ -15500,6 +15503,7 @@ check_data_variable (gfc_data_variable *var, locus *wh { gfc_error ("BLOCK DATA element %qs at %L must be in COMMON", sym->name, >declared_at); + return false; } if (e->ref == NULL && sym->as)
[Bug fortran/88048] [8/9 Regression] ICE in check_data_variable, at fortran/resolve.c:15491
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88048 Richard Biener changed: What|Removed |Added Priority|P3 |P4 Target Milestone|--- |8.3
[Bug fortran/88048] [8/9 Regression] ICE in check_data_variable, at fortran/resolve.c:15491
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88048 Dominique d'Humieres changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2018-11-15 Ever confirmed|0 |1 --- Comment #2 from Dominique d'Humieres --- For the tests in comment 0, gcc 4.3.6 gives an error: Error: Cannot assign to a named constant at (1) For the test in comment 1: > Invalid code nearby, down to at least gcc-5 : down to at least 4.3.1.
[Bug fortran/88048] [8/9 Regression] ICE in check_data_variable, at fortran/resolve.c:15491
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88048 --- Comment #1 from G. Steinmetz --- Invalid code nearby, down to at least gcc-5 : $ cat z4.f90 subroutine s(x) integer, allocatable :: x(:) data x(1:2) /3, 4/ end $ gfortran-9-2018 -c z4.f90 f951: internal compiler error: Segmentation fault 0xc88aff crash_signal ../../gcc/toplev.c:325 0x626f50 gfc_get_section_index(gfc_array_ref*, __mpz_struct (*) [1], __mpz_struct (*) [1]) ../../gcc/fortran/data.c:726 0x6b506f check_data_variable ../../gcc/fortran/resolve.c:15562 0x6b54c2 traverse_data_var ../../gcc/fortran/resolve.c:15764 0x6a6f71 resolve_data ../../gcc/fortran/resolve.c:15819 0x6a6f71 resolve_types ../../gcc/fortran/resolve.c:16644 0x6abcec gfc_resolve(gfc_namespace*) ../../gcc/fortran/resolve.c:16733 0x699ab7 resolve_all_program_units ../../gcc/fortran/parse.c:6064 0x699ab7 gfc_parse_file() ../../gcc/fortran/parse.c:6314 0x6e2b7f gfc_be_parse_file ../../gcc/fortran/f95-lang.c:204