[Bug fortran/55427] [OOP] ICE with class-array-pointer result

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

janus at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |5.0

[Bug fortran/55427] [OOP] ICE with class-array-pointer result

2016-04-06 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55427

Paul Thomas  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Paul Thomas  ---
>From the ChangeLogs, one of r219801 (pr61275, pr60357) or r219802 (pr64578)
look the most likely to me.

Closing the PR

Paul

[Bug fortran/55427] [OOP] ICE with class-array-pointer result

2016-04-06 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55427

Dominique d'Humieres  changed:

   What|Removed |Added

 CC|dominiq at lps dot ens.fr  |

--- Comment #4 from Dominique d'Humieres  ---
> This is fixed on trunk and GNU Fortran (GCC) 5.1.1 20150618 (Red Hat 5.1.1-4).
> Your example even runs correctly!

The ICE is gone with at least 4.9.3, but this leads to wrong code

 F

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x1026dd7b2
#1  0x1026ddf6e
#2  0x7fff8f042529
#3  0x1026d7b38
#4  0x1026d7cd0
Segmentation fault

> I have added Dominique to the CC list in the hope that he can pin down
> better when it was fixed. He seems to maintain the world's largest collection
> of archaic gcc's :-)

Well this fall in one my blind spots!-( 

The ICE disappeared between revisions r201266 (2013-07-26, ICE) and r201631
(2013-08-09, wrong code). In this range, I see r201284 (pr57285), r201286
(pr57991), r201294 (pr58009), r201328 and r201329 (pr57530), r201521 (pr57306),
and r201526 (pr57987). I did not look in detail at these PRs, but I think it is
related to/duplicate of pr57530.

The wrong code has been fixed between revisions r219797 (2015-01-17, wrong
code) and r219823 (2015-01-18, expected results). In this range, I see r219798
(pr60334), r219801 (pr61275, pr60357), r219802 (pr64578), r219814 (pr55901),
and r219818 (pr57959). I let you pick the candidate.

> This can be closed once we pin down approximately when it was fixed.

[Bug fortran/55427] [OOP] ICE with class-array-pointer result

2016-04-06 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55427

Paul Thomas  changed:

   What|Removed |Added

 CC||dominiq at lps dot ens.fr

--- Comment #3 from Paul Thomas  ---
Dear Valery,

This is fixed on trunk and GNU Fortran (GCC) 5.1.1 20150618 (Red Hat 5.1.1-4).
Your example even runs correctly!

I have added Dominique to the CC list in the hope that he can pin down better
when it was fixed. He seems to maintain the world's largest collection of
archaic gcc's :-)

This can be closed once we pin down approximately when it was fixed.

Cheers

Paul

[Bug fortran/55427] [OOP] ICE with class-array-pointer result

2012-11-21 Thread janus at gcc dot gnu.org


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



janus at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Keywords||ice-on-valid-code

   Last reconfirmed||2012-11-21

 CC||janus at gcc dot gnu.org,

   ||pault at gcc dot gnu.org

 Ever Confirmed|0   |1

Summary|ICE class pointer   |[OOP] ICE with

   ||class-array-pointer result



--- Comment #1 from janus at gcc dot gnu.org 2012-11-21 16:52:56 UTC ---

(In reply to comment #0)

 Is that known?



Not that I know of. Reduced version:





MODULE base_types

  IMPLICIT NONE

  TYPE :: base_type

  END TYPE

contains

  FUNCTION points_to () RESULT (reslt)

CLASS(base_type), DIMENSION(:), POINTER :: reslt

  END FUNCTION

END MODULE



program bug

  use base_types

  implicit none

  CLASS(base_type), POINTER, DIMENSION(:) :: reslt

  reslt = points_to()

end





ICEs with trunk and 4.7.


[Bug fortran/55427] [OOP] ICE with class-array-pointer result

2012-11-21 Thread burnus at gcc dot gnu.org


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



Tobias Burnus burnus at gcc dot gnu.org changed:



   What|Removed |Added



 CC||burnus at gcc dot gnu.org



--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org 2012-11-21 
18:44:45 UTC ---

For trans-expr.c:6350 in gfc_trans_pointer_assignment:



6349  gfc_add_modify (block, lse.expr,

6350   fold_convert (TREE_TYPE (lse.expr),

rse.expr));





TREE_TYPE(LHS) is:

 pointer_type 0x2c29b1f8

type record_type 0x2c29b150 __vtype_base_types_Base_type BLK



And RHS is:

 call_expr 0x2c1986c0

type record_type 0x2c29b930 __class_base_types_Base_type_1_0p type_4

BLK

size integer_cst 0x2c270e20 constant 448