[Bug fortran/56929] [OOP] [F08] ICE on dummy argument child class with coarray inside parent

2016-11-16 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56929

janus at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.9.0

[Bug fortran/56929] [OOP] [F08] ICE on dummy argument child class with coarray inside parent

2013-04-13 Thread damian at rouson dot net


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56929



--- Comment #5 from Damian Rouson damian at rouson dot net 2013-04-13 
15:53:51 UTC ---

Thanks for the amazingly fast response!  Possibly this sets a record: 11.5

hours from submitting the report to the application of a patch to the trunk. 

Any chance this patch can also be applied to the 4.8 branch?


[Bug fortran/56929] [OOP] [F08] ICE on dummy argument child class with coarray inside parent

2013-04-12 Thread burnus at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56929



Tobias Burnus burnus at gcc dot gnu.org changed:



   What|Removed |Added



   Keywords||ice-on-valid-code

 CC|bur...@net-b.de |burnus at gcc dot gnu.org

Summary|[4.8/4.9 Regression] [OOP]  |[OOP] [F08] ICE on dummy

   |[F08] ICE on dummy argument |argument child class with

   |child class with coarray|coarray inside parent

   |inside parent   |



--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org 2013-04-12 
09:20:57 UTC ---

The following patch fixes that ICE - but it introduces a follow-up ICE:



   error: cannot convert to a pointer type



in gcc/convert.c:81's convert_to_pointer for a component_ref of

child-src-parent-dummy





--- a/gcc/fortran/trans-array.c

+++ b/gcc/fortran/trans-array.c

@@ -7323,3 +7323,3 @@ duplicate_allocatable (tree dest, tree src, tree type,

int rank,



-  if (rank == 0)

+  if (!GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (dest)))

 {

@@ -7350,3 +7350,9 @@ duplicate_allocatable (tree dest, tree src, tree type,

int rank,

   gfc_init_block (block);

-  nelems = get_full_array_size (block, src, rank);

+

+  if (rank)

+   nelems = get_full_array_size (block, src, rank);

+  else

+   /* Coarray scalar.  */

+   nelems = gfc_index_one_node;

+

   tmp = fold_convert (gfc_array_index_type,


[Bug fortran/56929] [OOP] [F08] ICE on dummy argument child class with coarray inside parent

2013-04-12 Thread burnus at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56929



--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2013-04-12 
17:56:39 UTC ---

Author: burnus

Date: Fri Apr 12 17:55:48 2013

New Revision: 197930



URL: http://gcc.gnu.org/viewcvs?rev=197930root=gccview=rev

Log:

2013-04-12  Tobias Burnus  bur...@net-b.de



PR fortran/56929

* trans-array.c (duplicate_allocatable): Fix handling

of scalar coarrays.



2013-04-12  Tobias Burnus  bur...@net-b.de



PR fortran/56929

* gfortran.dg/coarray/alloc_comp_2.f90: New.





Added:

trunk/gcc/testsuite/gfortran.dg/coarray/alloc_comp_2.f90

Modified:

trunk/gcc/fortran/ChangeLog

trunk/gcc/fortran/trans-array.c

trunk/gcc/testsuite/ChangeLog


[Bug fortran/56929] [OOP] [F08] ICE on dummy argument child class with coarray inside parent

2013-04-12 Thread burnus at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56929



Tobias Burnus burnus at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED



--- Comment #4 from Tobias Burnus burnus at gcc dot gnu.org 2013-04-12 
17:57:08 UTC ---

FIXED on the trunk (4.9).



Thanks for the report!