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>
PR fortran/67564
......
......@@ -5187,7 +5187,8 @@ gfc_check_transfer (gfc_expr *source, gfc_expr *mold, gfc_expr *size)
return true;
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,
(long) source_size, (long) result_size);
......
......@@ -747,10 +747,12 @@ do_warn_function_elimination (gfc_expr *e)
if (e->expr_type != EXPR_FUNCTION)
return;
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));
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));
}
/* 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
will generate module files for each module present in the code, but no
other output file.
@item -pedantic
@item -Wpedantic
@itemx -pedantic
@opindex @code{pedantic}
@opindex @code{Wpedantic}
Issue warnings for uses of extensions to Fortran 95.
@option{-pedantic} also applies to C-language constructs where they
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)
&& (set_by_optional || arg->expr->rank != rank)
&& !(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 "
"ELEMENTAL procedure unless there is a non-optional "
"argument with the same rank (12.4.1.5)",
......@@ -3811,7 +3812,8 @@ resolve_operator (gfc_expr *e)
else
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)
switch (label->referenced)
{
case ST_LABEL_UNKNOWN:
gfc_warning (0, "Label %d at %L defined but not used", label->value,
&label->where);
gfc_warning (OPT_Wunused_label, "Label %d at %L defined but not used",
label->value, &label->where);
break;
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);
break;
......
......@@ -1149,13 +1149,13 @@ translate_common (gfc_common_head *common, gfc_symbol *var_list)
if (warn_align_commons)
{
if (strcmp (common->name, BLANK_COMMON_NAME))
gfc_warning (0,
gfc_warning (OPT_Walign_commons,
"Padding of %d bytes required before %qs in "
"COMMON %qs at %L; reorder elements or use "
"-fno-align-commons", (int)offset,
s->sym->name, common->name, &common->where);
else
gfc_warning (0,
gfc_warning (OPT_Walign_commons,
"Padding of %d bytes required before %qs in "
"COMMON at %L; reorder elements or use "
"-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>
PR fortran/67564
......
! { dg-do run }
! { dg-options "-Wpedantic" }
!
! 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