summaryrefslogtreecommitdiff
path: root/gcc/fortran/options.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/options.c')
-rw-r--r--gcc/fortran/options.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c
index ecab0c5850b..61481b3a9d0 100644
--- a/gcc/fortran/options.c
+++ b/gcc/fortran/options.c
@@ -42,8 +42,8 @@ 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_STD_F2003 | GFC_STD_F2008 | GFC_STD_F95 | GFC_STD_F77
+ | GFC_STD_GNU | GFC_STD_LEGACY;
gfc_option.warn_std = GFC_STD_F95_DEL | GFC_STD_LEGACY;
}
@@ -155,6 +155,9 @@ form_from_filename (const char *filename)
".f03", FORM_FREE}
,
{
+ ".f08", FORM_FREE}
+ ,
+ {
".f", FORM_FIXED}
,
{
@@ -752,6 +755,17 @@ gfc_handle_option (size_t scode, const char *arg, int value)
gfc_option.warn_tabs = 0;
break;
+ case OPT_std_f2008:
+ gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F77
+ | GFC_STD_F2003 | GFC_STD_F95 | GFC_STD_F2008;
+ gfc_option.warn_std = GFC_STD_F95_OBS;
+ gfc_option.max_continue_fixed = 255;
+ gfc_option.max_continue_free = 255;
+ gfc_option.max_identifier_length = 63;
+ gfc_option.warn_ampersand = 1;
+ gfc_option.warn_tabs = 0;
+ break;
+
case OPT_std_gnu:
set_default_std_flags ();
break;