[PATCH] PR fortran/91513 -- Fix poorly worded error message

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH] PR fortran/91513 -- Fix poorly worded error message

Steve Kargl
In PR fortran/91513, Damian Rouson points out that the Fortran
does contain the words "impure variable".  Damian and I spent
an afternoon together a few weeks ago where I gave Damian a
world wind view of how I see gcc/fortran and go about debugging
problems.  Damian and I both have full schedules, but I was
hoping he would submit the patch to the list.  My time of
fixing gfortran bugs is running out, so ...

OK to commit?

2019-09-29  Damian Rouson  <[hidden email]>

        PR fortran/91513
        * resolve.c (resolve_ordinary_assign): Improved error message.

2019-09-29  Damian Rouson  <[hidden email]>

        PR fortran/91513
        * gfortran.dg/impure_assignment_2.f90: Update dg-error regex.

--
Steve

pr91513.diff (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] PR fortran/91513 -- Fix poorly worded error message

Steve Kargl
On Fri, Oct 11, 2019 at 09:56:15PM -0700, Steve Kargl wrote:
> In PR fortran/91513, Damian Rouson points out that the Fortran
> does contain the words "impure variable".

Geez. That is a messed up sentence.

In PR fortran/91513, Damian Rouson points out that the Fortran
*standard* does *not* contain the words "impure variable.

(It's late, and I'm tired!)

>  Damian and I spent
> an afternoon together a few weeks ago where I gave Damian a
> world wind view of how I see gcc/fortran and go about debugging
> problems.  Damian and I both have full schedules, but I was
> hoping he would submit the patch to the list.  My time of
> fixing gfortran bugs is running out, so ...
>
> OK to commit?
>
> 2019-09-29  Damian Rouson  <[hidden email]>
>
> PR fortran/91513
> * resolve.c (resolve_ordinary_assign): Improved error message.
>
> 2019-09-29  Damian Rouson  <[hidden email]>
>
> PR fortran/91513
> * gfortran.dg/impure_assignment_2.f90: Update dg-error regex.
>
> --
> Steve

> Index: gcc/fortran/resolve.c
> ===================================================================
> --- gcc/fortran/resolve.c (revision 276269)
> +++ gcc/fortran/resolve.c (working copy)
> @@ -10774,9 +10774,12 @@ resolve_ordinary_assign (gfc_code *code, gfc_namespace
>   "component in a PURE procedure",
>   &rhs->where);
>    else
> -    gfc_error ("The impure variable at %L is assigned to "
> - "a derived type variable with a POINTER "
> - "component in a PURE procedure (12.6)",
> +  /* F2008, C1283 (4).  */
> +    gfc_error ("In a pure subprogram an INTENT(IN) dummy argument "
> + "shall not be used as the expr at %L of an intrinsic "
> + "assignment statement in which the variable is of a "
> + "derived type if the derived type has a pointer "
> + "component at any level of component selection.",
>   &rhs->where);
>    return rval;
>   }
> Index: gcc/testsuite/gfortran.dg/impure_assignment_2.f90
> ===================================================================
> --- gcc/testsuite/gfortran.dg/impure_assignment_2.f90 (revision 276269)
> +++ gcc/testsuite/gfortran.dg/impure_assignment_2.f90 (working copy)
> @@ -40,7 +40,7 @@ CONTAINS
>    PURE FUNCTION give_next3(node)
>       TYPE(node_type), intent(in) :: node
>       TYPE(node_type) :: give_next
> -     give_next = node ! { dg-error "impure variable" }
> +     give_next = node ! { dg-error "pure subprogram" }
>    END FUNCTION
>  END MODULE pr20863
>  


--
Steve
20170425 https://www.youtube.com/watch?v=VWUpyCsUKR4
20161221 https://www.youtube.com/watch?v=IbCHE-hONow
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] PR fortran/91513 -- Fix poorly worded error message

Janne Blomqvist-3
On Sat, Oct 12, 2019 at 7:58 AM Steve Kargl
<[hidden email]> wrote:

>
> On Fri, Oct 11, 2019 at 09:56:15PM -0700, Steve Kargl wrote:
> > In PR fortran/91513, Damian Rouson points out that the Fortran
> > does contain the words "impure variable".
>
> Geez. That is a messed up sentence.
>
> In PR fortran/91513, Damian Rouson points out that the Fortran
> *standard* does *not* contain the words "impure variable.
>
> (It's late, and I'm tired!)
>
> >  Damian and I spent
> > an afternoon together a few weeks ago where I gave Damian a
> > world wind view of how I see gcc/fortran and go about debugging
> > problems.  Damian and I both have full schedules, but I was
> > hoping he would submit the patch to the list.  My time of
> > fixing gfortran bugs is running out, so ...
> >
> > OK to commit?
> >
> > 2019-09-29  Damian Rouson  <[hidden email]>
> >
> >       PR fortran/91513
> >       * resolve.c (resolve_ordinary_assign): Improved error message.
> >
> > 2019-09-29  Damian Rouson  <[hidden email]>
> >
> >       PR fortran/91513
> >       * gfortran.dg/impure_assignment_2.f90: Update dg-error regex.
> >
> > --
> > Steve

Ok



--
Janne Blomqvist