[Bug fortran/78395] [OOP] error on polymorphic assignment

2016-11-30 Thread vehre at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78395

vehre at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #10 from vehre at gcc dot gnu.org ---
Well, recent gcc-6 errors out without ICE. No need to backport. Closing.

[Bug fortran/78395] [OOP] error on polymorphic assignment

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

janus at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |7.0

[Bug fortran/78395] [OOP] error on polymorphic assignment

2016-11-18 Thread vehre at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78395

--- Comment #7 from vehre at gcc dot gnu.org ---
(In reply to janus from comment #2)
> (In reply to janus from comment #1)
> > gfortran 6.2.0 says:
> > 
> >v6 = 3 * v4%get_t2() ! This line is the one which causes ICE
> >   1
> > Error: Assignment to an allocatable polymorphic variable at (1) is not yet
> > supported
> 
> It seems this error message was removed on trunk by Andre's r241439.

Well, that error message was not only removed, but the feature reported missing
was implemented.

While doing so, I happened to find a piece of code dealing with
typebound-procedures, that when removed did not cause any regression. I
therefore assume, that it just was not tested in the testsuite and will have a
look what I can do about it.

[Bug fortran/78395] [OOP] error on polymorphic assignment

2016-11-18 Thread vehre at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78395

vehre at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |vehre at gcc dot gnu.org

--- Comment #8 from vehre at gcc dot gnu.org ---
(In reply to janus from comment #3)
> Somewhat reduced test case (without all the abstract stuff):

> program minimal
>   use types_mod
>   implicit none
> 
>   class(t1), allocatable :: v4
>   class(t2), allocatable :: v6
> 
>   allocate(v4, source=t1(4)) ! Also fails if I use `allocate(t1 :: v4)`

allocate(v6) ! is missing here, right ??!!??

>   v6 = 3 * v4%get_t2() ! This line is the one which causes ICE
> 
> end

Patch in regtesting.

[Bug fortran/78395] [OOP] error on polymorphic assignment

2016-11-20 Thread vehre at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78395

--- Comment #9 from vehre at gcc dot gnu.org ---
Author: vehre
Date: Sun Nov 20 14:21:43 2016
New Revision: 242637

URL: https://gcc.gnu.org/viewcvs?rev=242637&root=gcc&view=rev
Log:
gcc/testsuite/ChangeLog:

2016-11-20  Andre Vehreschild  

PR fortran/78395
* gfortran.dg/typebound_operator_21.f03: New test.

gcc/fortran/ChangeLog:

2016-11-20  Andre Vehreschild  

PR fortran/78395
* resolve.c (resolve_typebound_function): Prevent stripping of refs,
when the base-expression is a class' typed one.


Added:
trunk/gcc/testsuite/gfortran.dg/typebound_operator_21.f03
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog