/* Set the options for -Wall. */
static void
-set_Wall (void)
+set_Wall (int setting)
{
- gfc_option.warn_aliasing = 1;
- gfc_option.warn_ampersand = 1;
- gfc_option.warn_line_truncation = 1;
- gfc_option.warn_nonstd_intrinsics = 1;
- gfc_option.warn_surprising = 1;
- gfc_option.warn_tabs = 0;
- gfc_option.warn_underflow = 1;
- gfc_option.warn_character_truncation = 1;
-
- set_Wunused (1);
- warn_return_type = 1;
- warn_switch = 1;
+ gfc_option.warn_aliasing = setting;
+ gfc_option.warn_ampersand = setting;
+ gfc_option.warn_line_truncation = setting;
+ gfc_option.warn_nonstd_intrinsics = setting;
+ gfc_option.warn_surprising = setting;
+ gfc_option.warn_tabs = !setting;
+ gfc_option.warn_underflow = setting;
+ gfc_option.warn_character_truncation = setting;
+
+ set_Wunused (setting);
+ warn_return_type = setting;
+ warn_switch = setting;
/* We save the value of warn_uninitialized, since if they put
-Wuninitialized on the command line, we need to generate a
warning about not using it without also specifying -O. */
-
- if (warn_uninitialized != 1)
+ if (setting == 0)
+ warn_uninitialized = 0;
+ else if (warn_uninitialized != 1)
warn_uninitialized = 2;
}
break;
case OPT_Wall:
- set_Wall ();
+ set_Wall (value);
break;
case OPT_Waliasing: