aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/options.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/options.c')
-rw-r--r--gcc/fortran/options.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c
index bd8f6ebf05e..e4f6092663c 100644
--- a/gcc/fortran/options.c
+++ b/gcc/fortran/options.c
@@ -36,6 +36,18 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
gfc_option_t gfc_option;
+/* Set flags that control warnings and errors for different
+ Fortran standards to their default values. */
+
+static void
+set_default_std_flags (void)
+{
+ gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F95_DEL
+ | GFC_STD_F2003 | GFC_STD_F95 | GFC_STD_F77 | GFC_STD_GNU
+ | GFC_STD_LEGACY;
+ gfc_option.warn_std = GFC_STD_F95_DEL | GFC_STD_LEGACY;
+}
+
/* Get ready for options handling. */
unsigned int
@@ -97,10 +109,7 @@ gfc_init_options (unsigned int argc ATTRIBUTE_UNUSED,
flag_errno_math = 0;
- gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F95_DEL
- | GFC_STD_F2003 | GFC_STD_F95 | GFC_STD_F77 | GFC_STD_GNU
- | GFC_STD_LEGACY;
- gfc_option.warn_std = GFC_STD_F95_DEL | GFC_STD_LEGACY;
+ set_default_std_flags ();
gfc_option.warn_nonstd_intrinsics = 0;
@@ -624,17 +633,11 @@ gfc_handle_option (size_t scode, const char *arg, int value)
break;
case OPT_std_gnu:
- gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F95_DEL
- | GFC_STD_F77 | GFC_STD_F95 | GFC_STD_F2003
- | GFC_STD_GNU | GFC_STD_LEGACY;
- gfc_option.warn_std = GFC_STD_F95_OBS | GFC_STD_F95_DEL
- | GFC_STD_LEGACY;
+ set_default_std_flags ();
break;
case OPT_std_legacy:
- gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F95_DEL
- | GFC_STD_F77 | GFC_STD_F95 | GFC_STD_F2003
- | GFC_STD_GNU | GFC_STD_LEGACY;
+ set_default_std_flags ();
gfc_option.warn_std = 0;
break;