[Bug fortran/88048] [8/9 Regression] ICE in check_data_variable, at fortran/resolve.c:15491

2018-12-08 Thread kargl at gcc dot gnu.org
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

2018-12-08 Thread kargl at gcc dot gnu.org
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

2018-12-08 Thread kargl at gcc dot gnu.org
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

2018-11-30 Thread kargl at gcc dot gnu.org
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

2018-11-30 Thread kargl at gcc dot gnu.org
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

2018-11-16 Thread rguenth at gcc dot gnu.org
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

2018-11-15 Thread dominiq at lps dot ens.fr
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

2018-11-15 Thread gs...@t-online.de
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