[Bug fortran/43366] [OOP][F08] Intrinsic assign to polymorphic variable

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

janus at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |7.0

[Bug fortran/43366] [OOP][F08] Intrinsic assign to polymorphic variable

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

vehre at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |FIXED

--- Comment #20 from vehre at gcc dot gnu.org ---
No regressions reported so far. Closing.

[Bug fortran/43366] [OOP][F08] Intrinsic assign to polymorphic variable

2016-10-24 Thread vehre at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43366

vehre at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|WAITING
 CC||vehre at gcc dot gnu.org
   Assignee|janus at gcc dot gnu.org   |vehre at gcc dot gnu.org

--- Comment #19 from vehre at gcc dot gnu.org ---
Waiting one week for regression reports.

[Bug fortran/43366] [OOP][F08] Intrinsic assign to polymorphic variable

2016-10-22 Thread vehre at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43366

--- Comment #18 from vehre at gcc dot gnu.org ---
Author: vehre
Date: Sat Oct 22 12:33:38 2016
New Revision: 241439

URL: https://gcc.gnu.org/viewcvs?rev=241439=gcc=rev
Log:
gcc/fortran/ChangeLog:

2016-10-22  Andre Vehreschild  

PR fortran/43366
PR fortran/51864
PR fortran/57117
PR fortran/61337
PR fortran/61376
* primary.c (gfc_expr_attr): For transformational functions on classes
get the attrs from the class argument.
* resolve.c (resolve_ordinary_assign): Remove error message due to
feature implementation.  Rewrite POINTER_ASSIGNS to ordinary ones when
the right-hand side is scalar class object (with some restrictions).
* trans-array.c (trans_array_constructor): Create the temporary from
class' inner type, i.e., the derived type.
(build_class_array_ref): Add support for class array's storage of the
class object or the array descriptor in the decl saved descriptor.
(gfc_conv_expr_descriptor): When creating temporaries for class objects
add the class object's handle into the decl saved descriptor.
(structure_alloc_comps): Use the common way to get the _data component.
(gfc_is_reallocatable_lhs): Add notion of allocatable class objects.
* trans-expr.c (gfc_find_and_cut_at_last_class_ref): Remove the only
ref
only when the expression's type is BT_CLASS.
(gfc_trans_class_init_assign): Correctly handle class arrays.
(gfc_trans_class_assign): Joined into gfc_trans_assignment_1.
(gfc_conv_procedure_call): Support for class types as arguments.
(trans_get_upoly_len): For unlimited polymorphics retrieve the _len
component's tree.
(trans_class_vptr_len_assignment): Catch all ways to assign the _vptr
and _len components of a class object correctly.
(pointer_assignment_is_proc_pointer): Identify assignments of
procedure pointers.
(gfc_trans_pointer_assignment): Enhance support for class object
pointer
assignments.
(gfc_trans_scalar_assign): Removed assert.
(trans_class_assignment): Assign to a class object.
(gfc_trans_assignment_1): Treat class objects correctly.
(gfc_trans_assignment): Propagate flags to trans_assignment_1.
* trans-stmt.c (gfc_trans_allocate): Use gfc_trans_assignment now
instead of copy_class_to_class.
* trans-stmt.h: Function prototype removed.
* trans.c (trans_code): Less special casing for class objects.
* trans.h: Added flags to gfc_trans_assignment () prototype.

gcc/testsuite/ChangeLog:

2016-10-22  Andre Vehreschild  

Forgot to add on original commit.
* gfortran.dg/coarray_alloc_comp_2.f08: New test.

2016-10-22  Andre Vehreschild  

PR fortran/43366
PR fortran/57117
PR fortran/61337
* gfortran.dg/alloc_comp_class_5.f03: New test.
* gfortran.dg/class_allocate_21.f90: New test.
* gfortran.dg/class_allocate_22.f90: New test.
* gfortran.dg/realloc_on_assign_27.f08: New test.



Added:
trunk/gcc/testsuite/gfortran.dg/alloc_comp_class_5.f03
trunk/gcc/testsuite/gfortran.dg/class_allocate_21.f90
trunk/gcc/testsuite/gfortran.dg/class_allocate_22.f90
trunk/gcc/testsuite/gfortran.dg/coarray_alloc_comp_2.f08
trunk/gcc/testsuite/gfortran.dg/realloc_on_assign_27.f08
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/primary.c
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/trans-array.c
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans-stmt.c
trunk/gcc/fortran/trans-stmt.h
trunk/gcc/fortran/trans.c
trunk/gcc/fortran/trans.h
trunk/gcc/testsuite/ChangeLog

[Bug fortran/43366] [OOP][F08] Intrinsic assign to polymorphic variable

2013-09-18 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43366

--- Comment #17 from Tobias Burnus burnus at gcc dot gnu.org ---
Author: burnus
Date: Wed Sep 18 18:14:57 2013
New Revision: 202713

URL: http://gcc.gnu.org/viewcvs?rev=202713root=gccview=rev
Log:
2013-09-15  Tobias Burnus  bur...@net-b.de

PR fortran/43366
* primary.c (gfc_variable_attr): Also handle codimension.
* resolve.c (resolve_ordinary_assign): Add invalid-diagnostic
* for
polymorphic assignment.

2013-09-15  Tobias Burnus  bur...@net-b.de

PR fortran/43366
* gfortran.dg/class_39.f03: Update dg-error.
* gfortran.dg/class_5.f03: Ditto.
* gfortran.dg/class_53.f90: Ditto.
* gfortran.dg/realloc_on_assign_20.f90: New.
* gfortran.dg/realloc_on_assign_21.f90: New.
* gfortran.dg/realloc_on_assign_22.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/realloc_on_assign_20.f90
trunk/gcc/testsuite/gfortran.dg/realloc_on_assign_21.f90
trunk/gcc/testsuite/gfortran.dg/realloc_on_assign_22.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/primary.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/class_39.f03
trunk/gcc/testsuite/gfortran.dg/class_5.f03
trunk/gcc/testsuite/gfortran.dg/class_53.f90


[Bug fortran/43366] [OOP][F08] Intrinsic assign to polymorphic variable

2013-08-08 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43366

Bug 43366 depends on bug 46321, which changed state.

Bug 46321 Summary: [OOP] Polymorphic deallocation
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46321

   What|Removed |Added

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