diff options
Diffstat (limited to 'gcc/fortran/options.c')
-rw-r--r-- | gcc/fortran/options.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c index 0ad87f4..676bbe1 100644 --- a/gcc/fortran/options.c +++ b/gcc/fortran/options.c @@ -130,6 +130,7 @@ gfc_init_options (unsigned int argc, const char **argv) gfc_option.fpe = 0; gfc_option.rtcheck = 0; + gfc_option.coarray = GFC_FCOARRAY_NONE; /* Argument pointers cannot point to anything but their argument. */ flag_argument_noalias = 3; @@ -480,6 +481,18 @@ gfc_handle_fpe_trap_option (const char *arg) static void +gfc_handle_coarray_option (const char *arg) +{ + if (strcmp (arg, "none") == 0) + gfc_option.coarray = GFC_FCOARRAY_NONE; + else if (strcmp (arg, "single") == 0) + gfc_option.coarray = GFC_FCOARRAY_SINGLE; + else + gfc_fatal_error ("Argument to -fcoarray is not valid: %s", arg); +} + + +static void gfc_handle_runtime_check_option (const char *arg) { int result, pos = 0, n; @@ -931,6 +944,9 @@ gfc_handle_option (size_t scode, const char *arg, int value) gfc_handle_runtime_check_option (arg); break; + case OPT_fcoarray_: + gfc_handle_coarray_option (arg); + break; } return result; |