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.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c
index 0fcda1d4840..5a91ec1b209 100644
--- a/gcc/fortran/options.c
+++ b/gcc/fortran/options.c
@@ -47,6 +47,15 @@ set_default_std_flags (void)
}
+/* Set all the DEC extension flags. */
+
+static void
+set_dec_flags (int value)
+{
+ gfc_option.flag_dec_structure = value;
+}
+
+
/* Return language mask for Fortran options. */
unsigned int
@@ -102,6 +111,8 @@ gfc_init_options (unsigned int decoded_options_count,
if (!global_options_set.x_cpp_warn_missing_include_dirs)
global_options.x_cpp_warn_missing_include_dirs = 1;
+ set_dec_flags (0);
+
set_default_std_flags ();
/* Initialize cpp-related options. */
@@ -709,6 +720,15 @@ gfc_handle_option (size_t scode, const char *arg, int value,
case OPT_fcheck_:
gfc_handle_runtime_check_option (arg);
break;
+
+ case OPT_fdec:
+ /* Enable all DEC extensions. */
+ set_dec_flags (1);
+ break;
+
+ case OPT_fdec_structure:
+ gfc_option.flag_dec_structure = 1;
+ break;
}
Fortran_handle_option_auto (&global_options, &global_options_set,