Message ID | 20171027121847.2dd8906e@vepi2 |
---|---|
State | New |
Headers | show |
Series | [Fortran,v1] Clarify error message of co_reduce | expand |
On Fri, Oct 27, 2017 at 12:19:02PM +0200, Andre Vehreschild wrote: > Hi all, > > as noted on IRC is one of the error message in check.c co_reduce misleading. > The attached patch fixes this. The intention of the error message is to tell > that the type of the argument bound to parameter A is of wrong type and not > that an unspecific argument has a wrong type. > > If no one objects within 24 h I am planning to commit this patch as obvious to > trunk gcc-7. Bootstrapped and regtested on x86_64-linux-gnu/f25. > > Regards, > Andre > -- > Andre Vehreschild * Email: vehre ad gmx dot de > gcc/fortran/ChangeLog: > > 2017-10-27 Andre Vehreschild <vehre@gcc.gnu.org> > > * check.c (gfc_check_co_reduce): Clarify error message. > > diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c > index 681950e..759c15a 100644 > --- a/gcc/fortran/check.c > +++ b/gcc/fortran/check.c > @@ -1731,7 +1731,7 @@ gfc_check_co_reduce (gfc_expr *a, gfc_expr *op, gfc_expr *result_image, > > if (!gfc_compare_types (&a->ts, &sym->result->ts)) > { > - gfc_error ("A argument at %L has type %s but the function passed as " > + gfc_error ("The A argument at %L has type %s but the function passed as " > "OPERATOR at %L returns %s", > &a->where, gfc_typename (&a->ts), &op->where, > gfc_typename (&sym->result->ts)); Andre, Can I suggest that you take a look at scalar_check in check.c and use a similar approach for your error message? gfc_error ("%qs argument of %qs intrinsics at %L has type %s but " "the function passed as OPERATOR at %L returns %s", gfc_current_intrinsic_arg[0]->name, gfc_current_intrinsic, &a->where, gfc_typename (&a->ts), &op->where, gfc_typename (&sym->result->ts)); Note, you'll need to use the correct index in gfc_current...arg[0]->name. Also note, %qs gives a 'quoted' string, which in my xterm is a boldface font.
Hi all, I got no direct objections therefore committed as r254197 to trunk and r254198 to gcc-7. @Steve, I will take a look at what you pointed. - Andre On Fri, 27 Oct 2017 12:19:02 +0200 Andre Vehreschild <vehre@gmx.de> wrote: > Hi all, > > as noted on IRC is one of the error message in check.c co_reduce misleading. > The attached patch fixes this. The intention of the error message is to tell > that the type of the argument bound to parameter A is of wrong type and not > that an unspecific argument has a wrong type. > > If no one objects within 24 h I am planning to commit this patch as obvious to > trunk gcc-7. Bootstrapped and regtested on x86_64-linux-gnu/f25. > > Regards, > Andre
diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c index 681950e..759c15a 100644 --- a/gcc/fortran/check.c +++ b/gcc/fortran/check.c @@ -1731,7 +1731,7 @@ gfc_check_co_reduce (gfc_expr *a, gfc_expr *op, gfc_expr *result_image, if (!gfc_compare_types (&a->ts, &sym->result->ts)) { - gfc_error ("A argument at %L has type %s but the function passed as " + gfc_error ("The A argument at %L has type %s but the function passed as " "OPERATOR at %L returns %s", &a->where, gfc_typename (&a->ts), &op->where, gfc_typename (&sym->result->ts));