[Bug fortran/80388] ICE in output_constructor_regular_field, at varasm.c:4986

2017-04-14 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80388

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #8 from Dominique d'Humieres  ---


*** This bug has been marked as a duplicate of bug 59910 ***

[Bug fortran/80388] ICE in output_constructor_regular_field, at varasm.c:4986

2017-04-14 Thread dominiq at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80388

--- Comment #7 from dominiq at gcc dot gnu.org ---
Author: dominiq
Date: Fri Apr 14 13:00:02 2017
New Revision: 246929

URL: https://gcc.gnu.org/viewcvs?rev=246929=gcc=rev
Log:
2017-04-14  Dominique d'Humieres  

Backport from trunk
2015-11-18  Steven G. Kargl  

PR fortran/59910
PR fortran/80388
* primary.c (gfc_match_structure_constructor): Reduce a structure
constructor in a DATA statement.

* gfortran.dg/pr59910.f90: New test.


Added:
branches/gcc-5-branch/gcc/testsuite/gfortran.dg/pr59910.f90
Modified:
branches/gcc-5-branch/gcc/fortran/ChangeLog
branches/gcc-5-branch/gcc/fortran/primary.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog

[Bug fortran/80388] ICE in output_constructor_regular_field, at varasm.c:4986

2017-04-13 Thread jvdelisle at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80388

Jerry DeLisle  changed:

   What|Removed |Added

 CC||jvdelisle at gcc dot gnu.org

--- Comment #6 from Jerry DeLisle  ---
(In reply to Dominique d'Humieres from comment #5)
> This has been fixed by revision r230580 (pr59910). If there is no objection,
> I can back port the fix to the gcc5 branch.

Before doing this we need to understand if there will be any more 5 releases.
Looking here: https://gcc.gnu.org/develop.html#timeline it appears there may be
one or two more, guessing from the prior patterns of releases. So if you have
time, OK.

[Bug fortran/80388] ICE in output_constructor_regular_field, at varasm.c:4986

2017-04-13 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80388

--- Comment #5 from Dominique d'Humieres  ---
This has been fixed by revision r230580 (pr59910). If there is no objection, I
can back port the fix to the gcc5 branch.

[Bug fortran/80388] ICE in output_constructor_regular_field, at varasm.c:4986

2017-04-11 Thread Glenn.Hyland at utas dot edu.au
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80388

--- Comment #4 from Glenn Hyland  ---
Thanks. I'm already at the latest gFortran release for my platform "Ubuntu
16.04.2 LTS". Not prepared at this stage to go to a development version of
Ubuntu that would include a newer compiler version.

I'm happy to use the workaround that gives me a working solution, and to make a
note about the potential problem with pre-6.3.1 versions of the compiler.
Thanks for your help.

[Bug fortran/80388] ICE in output_constructor_regular_field, at varasm.c:4986

2017-04-11 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80388

kargl at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P4
 CC||kargl at gcc dot gnu.org
  Known to work||6.3.1, 7.0
  Known to fail||5.4.0

--- Comment #3 from kargl at gcc dot gnu.org ---
The code compiles and gives the correct answer with 
GNU Fortran (GCC) 6.3.1 20170207
GNU Fortran (GCC) 7.0.1 20170407

I doubt that the patch will be back-ported to 5-branch
as there are too few gfortran developers.  Can you 
update to a newer compiler.

[Bug fortran/80388] ICE in output_constructor_regular_field, at varasm.c:4986

2017-04-11 Thread Glenn.Hyland at utas dot edu.au
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80388

--- Comment #2 from Glenn Hyland  ---
Sorry - hit return too early. Example code below (example.f90) generates ICE at
varasm.c:4986 ...

program example

integer, parameter :: r8 = selected_real_kind(14,30)

type test
real (r8) :: computation_accuracy
real (r8), dimension(2) :: values
end type test

type(test) :: temp

data temp / test( 10, (/8, 1/) ) /  ! this gives an ICE

print *, temp

return
end

$ gfortran -c example.f90
example.f90:17:0:

 end
 ^
internal compiler error: in output_constructor_regular_field, at varasm.c:4986
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.


Replacing the data declaration line with ...

data temp / test( 10_r8, (/8_r8, 1_r8/) ) / ! compiles - prints wrong
result

allows the program to be compiled, but gives the wrong result.

$ gfortran -c example.f90
$ gfortran example.o -o example
$ ./example 
   4.9406564584124654E-323   3.9525251667299724E-323   4.9406564584124654E-324

Replacing the data declaration line with ...

data temp / test( 10._r8, (/8._r8, 1._r8/) ) /  ! this is ok

is ok - compiles without error and prints the right result.

$ ./example 
   10.0008.1.

[Bug fortran/80388] ICE in output_constructor_regular_field, at varasm.c:4986

2017-04-11 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80388

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2017-04-11
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
Testcase?  See gcc.gnu.org/bugs/