http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54687
--- Comment #2 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- Note that this is a repetitive but trivial task that consists mostly in deleting code. Just take for example Wcompare-reals: Index: gfortran.h =================================================================== --- gfortran.h (revision 209347) +++ gfortran.h (working copy) @@ -2256,11 +2267,10 @@ typedef struct int warn_real_q_constant; int warn_unused_dummy_argument; int warn_zerotrip; int warn_realloc_lhs; int warn_realloc_lhs_all; - int warn_compare_reals; int warn_target_lifetime; int max_errors; int flag_all_intrinsics; int flag_default_double; Index: lang.opt =================================================================== --- lang.opt (revision 209347) +++ lang.opt (working copy) @@ -220,11 +220,11 @@ Fortran Wcharacter-truncation Fortran Warning Warn about truncated character expressions Wcompare-reals -Fortran Warning +Fortran Var(warn_compare_reals) Warning LangEnabledBy(Fortran,Wextra) Warn about equality comparisons involving REAL or COMPLEX expressions Wconversion Fortran Warning ; Documented in C Index: resolve.c =================================================================== --- resolve.c (revision 209347) +++ resolve.c (working copy) @@ -3566,11 +3566,11 @@ resolve_operator (gfc_expr *e) gfc_type_convert_binary (e, 1); e->ts.type = BT_LOGICAL; e->ts.kind = gfc_default_logical_kind; - if (gfc_option.warn_compare_reals) + if (warn_compare_reals) { gfc_intrinsic_op op = e->value.op.op; /* Type conversion has made sure that the types of op1 and op2 agree, so it is only necessary to check the first one. */ Index: options.c =================================================================== --- options.c (revision 209347) +++ options.c (working copy) @@ -110,11 +110,10 @@ gfc_init_options (unsigned int decoded_o gfc_option.warn_real_q_constant = 0; gfc_option.warn_unused_dummy_argument = 0; gfc_option.warn_zerotrip = 0; gfc_option.warn_realloc_lhs = 0; gfc_option.warn_realloc_lhs_all = 0; - gfc_option.warn_compare_reals = 0; gfc_option.warn_target_lifetime = 0; gfc_option.max_errors = 25; gfc_option.flag_all_intrinsics = 0; gfc_option.flag_default_double = 0; @@ -470,11 +461,5 @@ -/* 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) { @@ -659,31 +632,18 @@ gfc_handle_option (size_t scode, const c case OPT_Wcharacter_truncation: gfc_option.warn_character_truncation = value; break; - case OPT_Wcompare_reals: - gfc_option.warn_compare_reals = value; - break; - case OPT_Wconversion: gfc_option.gfc_warn_conversion = value; break; case OPT_Wconversion_extra: 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; case OPT_Wimplicit_interface: