https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82719

Paul Thomas <pault at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pault at gcc dot gnu.org
           Assignee|unassigned at gcc dot gnu.org      |pault at gcc dot gnu.org

--- Comment #4 from Paul Thomas <pault at gcc dot gnu.org> ---
Created attachment 42756
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42756&action=edit
Patch for PRs 82605/606/622/719/720

I am a bit to busy to separate all the different fixes and so here is a
composite:

2017-11-30  Paul Thomas  <pa...@gcc.gnu.org>

        PR fortran/82605
        * resolve.c (get_pdt_constructor): Initialize 'cons' to NULL.
        (resolve_pdt): Correct typo in prior comment. Emit an error if
        any parameters are deferred and the object is neither pointer
        nor allocatable.

        PR fortran/82606
        * decl.c (gfc_get_pdt_instance): Continue if the parameter sym
        is not present or has no name. Select the parameter by name
        of component, rather than component order. Remove all the other
        manipulations of 'tail' when building the pdt instance.
        (gfc_match_formal_arglist): Emit and error if a star is picked
        up in a PDT decl parameter list.

        PR fortran/82622
        * trans-array.c (set_loop_bounds): If a GFC_SS_COMPONENT has an
        info->end, use it rather than falling through to
        gcc_unreachable.
        (structure_alloc_comps): Check that param->name is non-null
        before comparing with the component name.
        * trans-decl.c (gfc_get_symbol_decl): Do not use the static
        initializer for PDT symbols.
        (gfc_init_default_dt): Do nothing for PDT symbols.
        * trans-io.c (transfer_array_component): Parameterized array
        components use the descriptor ubound since the shape is not
        available.

        PR fortran/82719
        PR fortran/82720
        * trans-expr.c (gfc_conv_component_ref): Do not use the charlen
        backend_decl of pdt strings. Use the hidden component instead.
        * trans-io.c (transfer_expr): Do not do IO on "hidden" string
        lengths. Use the hidden string length for pdt string transfers
        by adding it to the se structure. When finished nullify the
        se string length.

2017-11-30  Paul Thomas  <pa...@gcc.gnu.org>

        PR fortran/82605
        * gfortran.dg/pdt_4.f03 : Incorporate the new error.

        PR fortran/82606
        * gfortran.dg/pdt_19.f03 : New test.
        * gfortran.dg/pdt_21.f03 : New test.

        PR fortran/82622
        * gfortran.dg/pdt_20.f03 : New test.
        * gfortran.dg/pdt_22.f03 : New test.

        PR fortran/82719
        PR fortran/82720
        * gfortran.dg/pdt_23.f03 : New test.

Paul

Reply via email to