aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/options.c
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2012-10-21 10:32:02 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2012-10-21 10:32:02 +0000
commit72ac1c070c335b404c28d57518ff8c26c78be022 (patch)
treee45831dd86e24d69631bde816807ddf8d60030cf /gcc/fortran/options.c
parent699ae4b58550cf88c77e4654567328d3ab9d2234 (diff)
downloadgcc-72ac1c070c335b404c28d57518ff8c26c78be022.zip
gcc-72ac1c070c335b404c28d57518ff8c26c78be022.tar.gz
gcc-72ac1c070c335b404c28d57518ff8c26c78be022.tar.bz2
re PR fortran/54465 (Implement -Wextra for Fortran)
2012-10-21 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/54465 * lang.opt (Wextra): Add. * invoke.texi: Document that -Wc-binding-type, -Wconversion and -Wline-truncation are implied by -Wall. Document that -Wcompare-reals is implied by -Wextra. Document -Wextra. * options.c (set_Wextra): New function. (gfc_handle_option): Handle -Wextra. 2012-10-21 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/54465 * gfortran.dg/wextra_1.f: New test. From-SVN: r192649
Diffstat (limited to 'gcc/fortran/options.c')
-rw-r--r--gcc/fortran/options.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c
index 764f570..08c5514 100644
--- a/gcc/fortran/options.c
+++ b/gcc/fortran/options.c
@@ -483,6 +483,13 @@ set_Wall (int setting)
warn_maybe_uninitialized = setting;
}
+/* Set the options for -Wextra. */
+
+static void
+set_Wextra (int setting)
+{
+ gfc_option.warn_compare_reals = setting;
+}
static void
gfc_handle_module_path_options (const char *arg)
@@ -653,6 +660,15 @@ gfc_handle_option (size_t scode, const char *arg, int value,
gfc_option.warn_conversion_extra = value;
break;
+ case OPT_Wextra:
+ handle_generated_option (&global_options, &global_options_set,
+ OPT_Wunused_parameter, NULL, value,
+ gfc_option_lang_mask (), kind, loc,
+ handlers, global_dc);
+ set_Wextra (value);
+
+ break;
+
case OPT_Wfunction_elimination:
gfc_option.warn_function_elimination = value;
break;