-
- Downloads
re PR fortran/29785 (Fortran 2003: POINTER Rank Remapping)
2010-08-19 Daniel Kraft <d@domob.eu> PR fortran/29785 PR fortran/45016 * trans.h (struct gfc_se): New flag `byref_noassign'. * trans-array.h (gfc_conv_shift_descriptor_lbound): New method. (gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods. * expr.c (gfc_check_pointer_assign): Allow bounds and rank remapping and check for compile-time errors with those. * trans-decl.c (trans_associate_var): Use new routine `gfc_conv_shift_descriptor_lbound' instead of doing it manually. * trans-array.c (gfc_conv_shift_descriptor_lbound): New method. (gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods. (gfc_array_init_size): Use new `gfc_conv_array_extent_dim'. (gfc_conv_expr_descriptor): Handle new flag `byref_noassign'. * trans-expr.c (gfc_trans_pointer_assignment): Handle bounds and rank remapping for assignment. 2010-08-19 Daniel Kraft <d@domob.eu> PR fortran/29785 PR fortran/45016 * gfortran.dg/pointer_assign_5.f90: Remove 'not implemented' error. * gfortran.dg/pointer_remapping_1.f90: New test. * gfortran.dg/pointer_remapping_2.f03: New test. * gfortran.dg/pointer_remapping_3.f08: New test. * gfortran.dg/pointer_remapping_4.f03: New test. * gfortran.dg/pointer_remapping_5.f08: New test. * gfortran.dg/pointer_remapping_6.f08: New test. From-SVN: r163377
Showing
- gcc/fortran/ChangeLog 18 additions, 0 deletionsgcc/fortran/ChangeLog
- gcc/fortran/expr.c 74 additions, 12 deletionsgcc/fortran/expr.c
- gcc/fortran/trans-array.c 132 additions, 51 deletionsgcc/fortran/trans-array.c
- gcc/fortran/trans-array.h 7 additions, 0 deletionsgcc/fortran/trans-array.h
- gcc/fortran/trans-decl.c 3 additions, 30 deletionsgcc/fortran/trans-decl.c
- gcc/fortran/trans-expr.c 179 additions, 13 deletionsgcc/fortran/trans-expr.c
- gcc/fortran/trans.h 7 additions, 0 deletionsgcc/fortran/trans.h
- gcc/testsuite/ChangeLog 12 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gfortran.dg/pointer_assign_5.f90 3 additions, 2 deletionsgcc/testsuite/gfortran.dg/pointer_assign_5.f90
- gcc/testsuite/gfortran.dg/pointer_remapping_1.f90 19 additions, 0 deletionsgcc/testsuite/gfortran.dg/pointer_remapping_1.f90
- gcc/testsuite/gfortran.dg/pointer_remapping_2.f03 20 additions, 0 deletionsgcc/testsuite/gfortran.dg/pointer_remapping_2.f03
- gcc/testsuite/gfortran.dg/pointer_remapping_3.f08 35 additions, 0 deletionsgcc/testsuite/gfortran.dg/pointer_remapping_3.f08
- gcc/testsuite/gfortran.dg/pointer_remapping_4.f03 33 additions, 0 deletionsgcc/testsuite/gfortran.dg/pointer_remapping_4.f03
- gcc/testsuite/gfortran.dg/pointer_remapping_5.f08 37 additions, 0 deletionsgcc/testsuite/gfortran.dg/pointer_remapping_5.f08
- gcc/testsuite/gfortran.dg/pointer_remapping_6.f08 29 additions, 0 deletionsgcc/testsuite/gfortran.dg/pointer_remapping_6.f08
Loading
Please register or sign in to comment