Commit 28ce22e6 by Janus Weil

re PR fortran/69495 (unused-label warning does not tell which flag triggered it)

2016-11-05  Janus Weil  <janus@gcc.gnu.org>
	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR fortran/69495
	* invoke.texi: Mention -Wpedantic as an alias of -pedantic.
	* check.c (gfc_check_transfer): Mention responsible flag in warning
	message.
	* frontend-passes.c (do_warn_function_elimination): Ditto.
	* resolve.c (resolve_elemental_actual): Ditto.
	(resolve_operator): Ditto.
	(warn_unused_fortran_label): Ditto.
	* trans-common.c (translate_common): Ditto.


2016-11-05  Janus Weil  <janus@gcc.gnu.org>
	    Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/69495
	* gfortran.dg/elemental_optional_args_6.f90: Use -Wpedantic flag.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>

From-SVN: r241870
parent d233ee5f
2016-11-05 Janus Weil <janus@gcc.gnu.org>
Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR fortran/69495
* invoke.texi: Mention -Wpedantic as an alias of -pedantic.
* check.c (gfc_check_transfer): Mention responsible flag in warning
message.
* frontend-passes.c (do_warn_function_elimination): Ditto.
* resolve.c (resolve_elemental_actual): Ditto.
(resolve_operator): Ditto.
(warn_unused_fortran_label): Ditto.
* trans-common.c (translate_common): Ditto.
2016-11-05 Paul Thomas <pault@gcc.gnu.org> 2016-11-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/67564 PR fortran/67564
......
...@@ -5187,7 +5187,8 @@ gfc_check_transfer (gfc_expr *source, gfc_expr *mold, gfc_expr *size) ...@@ -5187,7 +5187,8 @@ gfc_check_transfer (gfc_expr *source, gfc_expr *mold, gfc_expr *size)
return true; return true;
if (source_size < result_size) if (source_size < result_size)
gfc_warning (0, "Intrinsic TRANSFER at %L has partly undefined result: " gfc_warning (OPT_Wsurprising,
"Intrinsic TRANSFER at %L has partly undefined result: "
"source size %ld < result size %ld", &source->where, "source size %ld < result size %ld", &source->where,
(long) source_size, (long) result_size); (long) source_size, (long) result_size);
......
...@@ -747,10 +747,12 @@ do_warn_function_elimination (gfc_expr *e) ...@@ -747,10 +747,12 @@ do_warn_function_elimination (gfc_expr *e)
if (e->expr_type != EXPR_FUNCTION) if (e->expr_type != EXPR_FUNCTION)
return; return;
if (e->value.function.esym) if (e->value.function.esym)
gfc_warning (0, "Removing call to function %qs at %L", gfc_warning (OPT_Wfunction_elimination,
"Removing call to function %qs at %L",
e->value.function.esym->name, &(e->where)); e->value.function.esym->name, &(e->where));
else if (e->value.function.isym) else if (e->value.function.isym)
gfc_warning (0, "Removing call to function %qs at %L", gfc_warning (OPT_Wfunction_elimination,
"Removing call to function %qs at %L",
e->value.function.isym->name, &(e->where)); e->value.function.isym->name, &(e->where));
} }
/* Callback function for the code walker for doing common function /* Callback function for the code walker for doing common function
......
...@@ -749,8 +749,10 @@ Check the code for syntax errors, but do not actually compile it. This ...@@ -749,8 +749,10 @@ Check the code for syntax errors, but do not actually compile it. This
will generate module files for each module present in the code, but no will generate module files for each module present in the code, but no
other output file. other output file.
@item -pedantic @item -Wpedantic
@itemx -pedantic
@opindex @code{pedantic} @opindex @code{pedantic}
@opindex @code{Wpedantic}
Issue warnings for uses of extensions to Fortran 95. Issue warnings for uses of extensions to Fortran 95.
@option{-pedantic} also applies to C-language constructs where they @option{-pedantic} also applies to C-language constructs where they
occur in GNU Fortran source files, such as use of @samp{\e} in a occur in GNU Fortran source files, such as use of @samp{\e} in a
......
...@@ -2140,7 +2140,8 @@ resolve_elemental_actual (gfc_expr *expr, gfc_code *c) ...@@ -2140,7 +2140,8 @@ resolve_elemental_actual (gfc_expr *expr, gfc_code *c)
&& (set_by_optional || arg->expr->rank != rank) && (set_by_optional || arg->expr->rank != rank)
&& !(isym && isym->id == GFC_ISYM_CONVERSION)) && !(isym && isym->id == GFC_ISYM_CONVERSION))
{ {
gfc_warning (0, "%qs at %L is an array and OPTIONAL; IF IT IS " gfc_warning (OPT_Wpedantic,
"%qs at %L is an array and OPTIONAL; IF IT IS "
"MISSING, it cannot be the actual argument of an " "MISSING, it cannot be the actual argument of an "
"ELEMENTAL procedure unless there is a non-optional " "ELEMENTAL procedure unless there is a non-optional "
"argument with the same rank (12.4.1.5)", "argument with the same rank (12.4.1.5)",
...@@ -3811,7 +3812,8 @@ resolve_operator (gfc_expr *e) ...@@ -3811,7 +3812,8 @@ resolve_operator (gfc_expr *e)
else else
msg = "Inequality comparison for %s at %L"; msg = "Inequality comparison for %s at %L";
gfc_warning (0, msg, gfc_typename (&op1->ts), &op1->where); gfc_warning (OPT_Wcompare_reals, msg,
gfc_typename (&op1->ts), &op1->where);
} }
} }
...@@ -15393,12 +15395,13 @@ warn_unused_fortran_label (gfc_st_label *label) ...@@ -15393,12 +15395,13 @@ warn_unused_fortran_label (gfc_st_label *label)
switch (label->referenced) switch (label->referenced)
{ {
case ST_LABEL_UNKNOWN: case ST_LABEL_UNKNOWN:
gfc_warning (0, "Label %d at %L defined but not used", label->value, gfc_warning (OPT_Wunused_label, "Label %d at %L defined but not used",
&label->where); label->value, &label->where);
break; break;
case ST_LABEL_BAD_TARGET: case ST_LABEL_BAD_TARGET:
gfc_warning (0, "Label %d at %L defined but cannot be used", gfc_warning (OPT_Wunused_label,
"Label %d at %L defined but cannot be used",
label->value, &label->where); label->value, &label->where);
break; break;
......
...@@ -1149,13 +1149,13 @@ translate_common (gfc_common_head *common, gfc_symbol *var_list) ...@@ -1149,13 +1149,13 @@ translate_common (gfc_common_head *common, gfc_symbol *var_list)
if (warn_align_commons) if (warn_align_commons)
{ {
if (strcmp (common->name, BLANK_COMMON_NAME)) if (strcmp (common->name, BLANK_COMMON_NAME))
gfc_warning (0, gfc_warning (OPT_Walign_commons,
"Padding of %d bytes required before %qs in " "Padding of %d bytes required before %qs in "
"COMMON %qs at %L; reorder elements or use " "COMMON %qs at %L; reorder elements or use "
"-fno-align-commons", (int)offset, "-fno-align-commons", (int)offset,
s->sym->name, common->name, &common->where); s->sym->name, common->name, &common->where);
else else
gfc_warning (0, gfc_warning (OPT_Walign_commons,
"Padding of %d bytes required before %qs in " "Padding of %d bytes required before %qs in "
"COMMON at %L; reorder elements or use " "COMMON at %L; reorder elements or use "
"-fno-align-commons", (int)offset, "-fno-align-commons", (int)offset,
......
2016-11-05 Janus Weil <janus@gcc.gnu.org>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/69495
* gfortran.dg/elemental_optional_args_6.f90: Use -Wpedantic flag.
2016-11-05 Paul Thomas <pault@gcc.gnu.org> 2016-11-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/67564 PR fortran/67564
......
! { dg-do run } ! { dg-do run }
! { dg-options "-Wpedantic" }
! !
! PR fortran/53692 ! PR fortran/53692
! !
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment