Apologies for lobbing this request to all you wonderful folk who maintain and
develop GFORTRAN.
Given that you are making noises about Fortran 2018 - and the language is still
alive, kicking and thriving - can you recommend and/or point me at a public
domain GUI that works well with GFORTRAN?
As a Fortran end User I marvel at your ongoing efforts !!
Regards / thanks. Happy Christmas and Best Wishes for (Fortran) 2018.
Robin Curtis
> On 17 Dec 2017, at 10:02, Janne Blomqvist <blomqvist.ja...@gmail.com> wrote:
>
> The Fortran committee has decided to rename the upcoming Fortran 2015
> standard to Fortran 2018. This is not a reflection of a three year
> delay in the process, but rather they are following other standards in
> adopting the year of publication for the name. For more details see
> N2144.
>
> This patch renames GFC_STD_F2015 to GFC_STD_F2018, and makes it a
> separate flag rather than an alias for GFC_STD_GNU. Also, it adds a
> -std=f2018 argument, and documents it.
>
> Regtested on x86_64-pc-linux-gnu, Ok for trunk?
>
> gcc/fortran/ChangeLog:
>
> 2017-12-17 Janne Blomqvist <j...@gcc.gnu.org>
>
> * decl.c (gfc_match_implicit_none): Use GFC_STD_F2018 instead of
> GFC_STD_F2015.
> * error.c (gfc_notify_std): Add GFC_STD_F2018{_DEL,_OBS} to
> switch.
> * gfortran.texi: Document -std=f2018.
> * interface.c (compare_parameter): Fix comment.
> * invoke.texi: Document -std=f2018.
> * lang.opt: Add -std=f2018 argumnet.
> * libgfortran.h (GFC_STD_F2015): Rename to GFC_STD_F0218, use
> separate flag bit.
> (GFC_STD_F2018_DEL): New macro.
> (GFC_STD_F2018_OBS): Likewise.
> * match.c (gfc_match_stopcode): Use GFC_STD_F2018.
> * options.c (set_default_std_flags): Add F2018 flags to defaults.
> (gfc_handle_option): Set options for -std=f2018.
>
> gcc/testsuite/ChangeLog:
>
> 2017-12-17 Janne Blomqvist <j...@gcc.gnu.org>
>
> * gfortran.dg/error_stop_3.f90: Update -std= option, fix comments.
> * gfortran.dg/error_stop_4.f90: Update error message.
> * gfortran.dg/implicit_14.f90: Likewise.
> * gfortran.dg/spellcheck-procedure_2.f90: Don't warn for F2018
> features.
> ---
> gcc/fortran/decl.c | 2 +-
> gcc/fortran/error.c| 9 ++
> gcc/fortran/gfortran.texi | 108 +
> gcc/fortran/interface.c| 2 +-
> gcc/fortran/invoke.texi| 62 ++--
> gcc/fortran/lang.opt | 6 +-
> gcc/fortran/libgfortran.h | 5 +-
> gcc/fortran/match.c| 2 +-
> gcc/fortran/options.c | 14 ++-
> gcc/testsuite/gfortran.dg/error_stop_3.f90 | 5 +-
> gcc/testsuite/gfortran.dg/error_stop_4.f90 | 5 +-
> gcc/testsuite/gfortran.dg/implicit_14.f90 | 4 +-
> .../gfortran.dg/spellcheck-procedure_2.f90 | 2 +-
> 13 files changed, 140 insertions(+), 86 deletions(-)
>
> diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
> index d46083c..53a87b6 100644
> --- a/gcc/fortran/decl.c
> +++ b/gcc/fortran/decl.c
> @@ -4114,7 +4114,7 @@ gfc_match_implicit_none (void)
> if (c == '(')
> {
> (void) gfc_next_ascii_char ();
> - if (!gfc_notify_std (GFC_STD_F2015, "IMPORT NONE with spec list at
> %C"))
> + if (!gfc_notify_std (GFC_STD_F2018, "IMPORT NONE with spec list at
> %C"))
> return MATCH_ERROR;
>
> gfc_gobble_whitespace ();
> diff --git a/gcc/fortran/error.c b/gcc/fortran/error.c
> index 2cece49..f11dadc 100644
> --- a/gcc/fortran/error.c
> +++ b/gcc/fortran/error.c
> @@ -864,6 +864,15 @@ gfc_notify_std (int std, const char *gmsgid, ...)
>
> switch (std)
> {
> +case GFC_STD_F2018_DEL:
> + msg = _("Fortran 2018 deleted feature:");
> + break;
> +case GFC_STD_F2018_OBS:
> + msg = _("Fortran 2018 obsolescent feature:");
> + break;
> +case GFC_STD_F2018:
> + msg = _("Fortran 2018:");
> + break;
> case GFC_STD_F2008_TS:
> msg = "TS 29113/TS 18508:";
> break;
> diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi
> index 36c7b94..aabf268 100644
> --- a/gcc/fortran/gfortran.texi
> +++ b/gcc/fortran/gfortran.texi
> @@ -180,7 +180,7 @@ Part I: Invoking GNU Fortran
> * Runtime:: Influencing runtime behavior with environment
> variables.
>
> Part II: Language Reference
> -* Fortran 2003 and 2008 st