re PR fortran/85841 ([F2018] reject deleted features)
authorJanus Weil <janus@gcc.gnu.org>
Tue, 22 May 2018 05:41:45 +0000 (07:41 +0200)
committerJanus Weil <janus@gcc.gnu.org>
Tue, 22 May 2018 05:41:45 +0000 (07:41 +0200)
2018-05-22  Janus Weil  <janus@gcc.gnu.org>

PR fortran/85841
* libgfortran.h: Remove the macros GFC_STD_F2008_TS and
GFC_STD_OPT_F08TS.
* error.c (notify_std_msg): Remove GFC_STD_F2008_TS.
* options.c (set_default_std_flags): Ditto.
(gfc_handle_option): Make -std=f2008ts an alias for -std=f2018.
* array.c (gfc_match_array_spec): Replace GFC_STD_F2008_TS by
GFC_STD_F2018.
* check.c (gfc_check_atomic, gfc_check_event_query,
gfc_check_c_f_pointer, gfc_check_c_f_procpointer, gfc_check_c_funloc,
gfc_check_c_loc, gfc_check_num_images, gfc_check_this_image): Ditto.
* decl.c (gfc_verify_c_interop_param, gfc_match_decl_type_spec): Ditto.
* intrinsic.c (add_functions, add_subroutines,
gfc_check_intrinsic_standard): Ditto.
* iso-c-binding.def: Ditto.
* iso-fortran-env.def: Ditto.
* match.c (gfc_match_event_post, gfc_match_event_wait,
gfc_match_fail_image, gfc_match_form_team, gfc_match_change_team,
gfc_match_end_team, gfc_match_sync_team): Ditto.
* gfortran.texi: Remove mention of -std=f2008ts.
Move TSs into F2018 section.
* invoke.texi: Update documentation of -std=f2008ts.

2018-05-22  Janus Weil  <janus@gcc.gnu.org>

PR fortran/85841
* gfortran.dg/assumed_rank_5.f90: Update error message.
* gfortran.dg/assumed_type_4.f90: Ditto.
* gfortran.dg/bind_c_array_params.f03: Ditto.
* gfortran.dg/bind_c_usage_28.f90: Ditto.
* gfortran.dg/c_funloc_tests_5.f03: Ditto.
* gfortran.dg/c_funloc_tests_6.f90: Ditto.
* gfortran.dg/c_loc_tests_11.f03: Ditto.
* gfortran.dg/coarray_atomic_2.f90: Ditto.
* gfortran.dg/coarray_collectives_2.f90: Ditto.
* gfortran.dg/coarray_collectives_10.f90: Ditto.
* gfortran.dg/coarray_collectives_13.f90: Ditto.
* gfortran.dg/rank_3.f90: Ditto.
* gfortran.dg/error_stop_4.f90: Replace -std=f2008ts by -std=f2008.
* gfortran.dg/implicit_14.f90: Ditto.

From-SVN: r260499

28 files changed:
gcc/fortran/ChangeLog
gcc/fortran/array.c
gcc/fortran/check.c
gcc/fortran/decl.c
gcc/fortran/error.c
gcc/fortran/gfortran.texi
gcc/fortran/intrinsic.c
gcc/fortran/invoke.texi
gcc/fortran/iso-c-binding.def
gcc/fortran/iso-fortran-env.def
gcc/fortran/libgfortran.h
gcc/fortran/match.c
gcc/fortran/options.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/assumed_rank_5.f90
gcc/testsuite/gfortran.dg/assumed_type_4.f90
gcc/testsuite/gfortran.dg/bind_c_array_params.f03
gcc/testsuite/gfortran.dg/bind_c_usage_28.f90
gcc/testsuite/gfortran.dg/c_funloc_tests_5.f03
gcc/testsuite/gfortran.dg/c_funloc_tests_6.f90
gcc/testsuite/gfortran.dg/c_loc_tests_11.f03
gcc/testsuite/gfortran.dg/coarray_atomic_2.f90
gcc/testsuite/gfortran.dg/coarray_collectives_10.f90
gcc/testsuite/gfortran.dg/coarray_collectives_13.f90
gcc/testsuite/gfortran.dg/coarray_collectives_2.f90
gcc/testsuite/gfortran.dg/error_stop_4.f90
gcc/testsuite/gfortran.dg/implicit_14.f90
gcc/testsuite/gfortran.dg/rank_3.f90

index 190ce3e0d7d1265571b0c223cfac2a2d621b1d7f..00abe73f15a7a9ccf8f53b2205e0613aee8aa33a 100644 (file)
@@ -1,3 +1,28 @@
+2018-05-22  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/85841
+       * libgfortran.h: Remove the macros GFC_STD_F2008_TS and
+       GFC_STD_OPT_F08TS.
+       * error.c (notify_std_msg): Remove GFC_STD_F2008_TS.
+       * options.c (set_default_std_flags): Ditto.
+       (gfc_handle_option): Make -std=f2008ts an alias for -std=f2018.
+       * array.c (gfc_match_array_spec): Replace GFC_STD_F2008_TS by
+       GFC_STD_F2018.
+       * check.c (gfc_check_atomic, gfc_check_event_query,
+       gfc_check_c_f_pointer, gfc_check_c_f_procpointer, gfc_check_c_funloc,
+       gfc_check_c_loc, gfc_check_num_images, gfc_check_this_image): Ditto.
+       * decl.c (gfc_verify_c_interop_param, gfc_match_decl_type_spec): Ditto.
+       * intrinsic.c (add_functions, add_subroutines,
+       gfc_check_intrinsic_standard): Ditto.
+       * iso-c-binding.def: Ditto.
+       * iso-fortran-env.def: Ditto.
+       * match.c (gfc_match_event_post, gfc_match_event_wait,
+       gfc_match_fail_image, gfc_match_form_team, gfc_match_change_team,
+       gfc_match_end_team, gfc_match_sync_team): Ditto.
+       * gfortran.texi: Remove mention of -std=f2008ts.
+       Move TSs into F2018 section.
+       * invoke.texi: Update documentation of -std=f2008ts.
+
 2018-05-21  Janus Weil  <janus@gcc.gnu.org>
 
        PR fortran/85841
index 052775f0bafbffb027f2e9cbc57167dd8c9f2416..36b809e38188ce2138ac027df6229ca187d68fa1 100644 (file)
@@ -533,7 +533,7 @@ gfc_match_array_spec (gfc_array_spec **asp, bool match_dim, bool match_codim)
       as->type = AS_ASSUMED_RANK;
       as->rank = -1;
 
-      if (!gfc_notify_std (GFC_STD_F2008_TS, "Assumed-rank array at %C"))
+      if (!gfc_notify_std (GFC_STD_F2018, "Assumed-rank array at %C"))
        goto cleanup;
 
       if (!match_codim)
index 052e32670141ba7e6eccabe8d7b6b4348d3945e1..8d41fcd292f9217a897fec8945a70c1d82550218 100644 (file)
@@ -1136,7 +1136,7 @@ gfc_check_atomic (gfc_expr *atom, int atom_no, gfc_expr *value, int val_no,
       if (!kind_value_check (stat, stat_no, gfc_default_integer_kind))
        return false;
 
-      if (!gfc_notify_std (GFC_STD_F2008_TS, "STAT= argument to %s at %L",
+      if (!gfc_notify_std (GFC_STD_F2018, "STAT= argument to %s at %L",
                           gfc_current_intrinsic, &stat->where))
        return false;
     }
@@ -1349,7 +1349,7 @@ gfc_check_event_query (gfc_expr *event, gfc_expr *count, gfc_expr *stat)
       if (!variable_check (stat, 2, false))
        return false;
 
-      if (!gfc_notify_std (GFC_STD_F2008_TS, "STAT= argument to %s at %L",
+      if (!gfc_notify_std (GFC_STD_F2018, "STAT= argument to %s at %L",
                           gfc_current_intrinsic, &stat->where))
        return false;
     }
@@ -4745,7 +4745,7 @@ gfc_check_c_f_pointer (gfc_expr *cptr, gfc_expr *fptr, gfc_expr *shape)
     }
 
   if (fptr->rank > 0 && !is_c_interoperable (fptr, &msg, false, true))
-    return gfc_notify_std (GFC_STD_F2008_TS, "Noninteroperable array FPTR "
+    return gfc_notify_std (GFC_STD_F2018, "Noninteroperable array FPTR "
                           "at %L to C_F_POINTER: %s", &fptr->where, msg);
 
   return true;
@@ -4786,7 +4786,7 @@ gfc_check_c_f_procpointer (gfc_expr *cptr, gfc_expr *fptr)
     }
 
   if (!attr.is_bind_c)
-    return gfc_notify_std (GFC_STD_F2008_TS, "Noninteroperable procedure "
+    return gfc_notify_std (GFC_STD_F2018, "Noninteroperable procedure "
                           "pointer at %L to C_F_PROCPOINTER", &fptr->where);
 
   return true;
@@ -4829,7 +4829,7 @@ gfc_check_c_funloc (gfc_expr *x)
     }
 
   if (!attr.is_bind_c)
-    return gfc_notify_std (GFC_STD_F2008_TS, "Noninteroperable procedure "
+    return gfc_notify_std (GFC_STD_F2018, "Noninteroperable procedure "
                           "at %L to C_FUNLOC", &x->where);
   return true;
 }
@@ -4883,7 +4883,7 @@ gfc_check_c_loc (gfc_expr *x)
        }
 
       if (x->rank
-         && !gfc_notify_std (GFC_STD_F2008_TS,
+         && !gfc_notify_std (GFC_STD_F2018,
                              "Noninteroperable array at %L as"
                              " argument to C_LOC: %s", &x->where, msg))
          return false;
@@ -5267,7 +5267,7 @@ gfc_check_num_images (gfc_expr *distance, gfc_expr *failed)
       if (!scalar_check (distance, 0))
        return false;
 
-      if (!gfc_notify_std (GFC_STD_F2008_TS, "DISTANCE= argument to "
+      if (!gfc_notify_std (GFC_STD_F2018, "DISTANCE= argument to "
                           "NUM_IMAGES at %L", &distance->where))
        return false;
     }
@@ -5280,7 +5280,7 @@ gfc_check_num_images (gfc_expr *distance, gfc_expr *failed)
       if (!scalar_check (failed, 1))
        return false;
 
-      if (!gfc_notify_std (GFC_STD_F2008_TS, "FAILED= argument to "
+      if (!gfc_notify_std (GFC_STD_F2018, "FAILED= argument to "
                           "NUM_IMAGES at %L", &failed->where))
        return false;
     }
@@ -5366,7 +5366,7 @@ gfc_check_this_image (gfc_expr *coarray, gfc_expr *dim, gfc_expr *distance)
       if (!scalar_check (distance, 2))
        return false;
 
-      if (!gfc_notify_std (GFC_STD_F2008_TS, "DISTANCE= argument to "
+      if (!gfc_notify_std (GFC_STD_F2018, "DISTANCE= argument to "
                           "THIS_IMAGE at %L", &distance->where))
        return false;
 
index d1b75ccd54c750f0fbf7f9bdd3ade01deaca56eb..2f903300bab58b1e36154100e89234e34ab4810d 100644 (file)
@@ -1401,7 +1401,7 @@ gfc_verify_c_interop_param (gfc_symbol *sym)
             not have the allocatable, pointer, or optional attributes,
             according to J3/04-007, section 5.1.  */
          if (sym->attr.allocatable == 1
-             && !gfc_notify_std (GFC_STD_F2008_TS, "Variable %qs at %L with "
+             && !gfc_notify_std (GFC_STD_F2018, "Variable %qs at %L with "
                                  "ALLOCATABLE attribute in procedure %qs "
                                  "with BIND(C)", sym->name,
                                  &(sym->declared_at),
@@ -1409,7 +1409,7 @@ gfc_verify_c_interop_param (gfc_symbol *sym)
            retval = false;
 
          if (sym->attr.pointer == 1
-             && !gfc_notify_std (GFC_STD_F2008_TS, "Variable %qs at %L with "
+             && !gfc_notify_std (GFC_STD_F2018, "Variable %qs at %L with "
                                  "POINTER attribute in procedure %qs "
                                  "with BIND(C)", sym->name,
                                  &(sym->declared_at),
@@ -1434,7 +1434,7 @@ gfc_verify_c_interop_param (gfc_symbol *sym)
              retval = false;
            }
          else if (sym->attr.optional == 1
-                  && !gfc_notify_std (GFC_STD_F2008_TS, "Variable %qs "
+                  && !gfc_notify_std (GFC_STD_F2018, "Variable %qs "
                                       "at %L with OPTIONAL attribute in "
                                       "procedure %qs which is BIND(C)",
                                       sym->name, &(sym->declared_at),
@@ -1445,7 +1445,7 @@ gfc_verify_c_interop_param (gfc_symbol *sym)
             either assumed size or explicit shape. Deferred shape is already
             covered by the pointer/allocatable attribute.  */
          if (sym->as != NULL && sym->as->type == AS_ASSUMED_SHAPE
-             && !gfc_notify_std (GFC_STD_F2008_TS, "Assumed-shape array %qs "
+             && !gfc_notify_std (GFC_STD_F2018, "Assumed-shape array %qs "
                                  "at %L as dummy argument to the BIND(C) "
                                  "procedure %qs at %L", sym->name,
                                  &(sym->declared_at),
@@ -3846,8 +3846,7 @@ gfc_match_decl_type_spec (gfc_typespec *ts, int implicit_flag)
              gfc_error ("Assumed type at %C is not allowed for components");
              return MATCH_ERROR;
            }
-         if (!gfc_notify_std (GFC_STD_F2008_TS, "Assumed type "
-                              "at %C"))
+         if (!gfc_notify_std (GFC_STD_F2018, "Assumed type at %C"))
            return MATCH_ERROR;
          ts->type = BT_ASSUMED;
          return MATCH_YES;
index fc183e0bf7063683f42300f2a9cf49ea3f299992..7e882ba76bf91eabfbba5cf5ab5eb3b7d90d739c 100644 (file)
@@ -855,8 +855,6 @@ notify_std_msg(int std)
     return _("Fortran 2018 obsolescent feature:");
   else if (std & GFC_STD_F2018)
     return _("Fortran 2018:");
-  else if (std & GFC_STD_F2008_TS)
-    return "TS 29113/TS 18508:";
   else if (std & GFC_STD_F2008_OBS)
     return _("Fortran 2008 obsolescent feature:");
   else if (std & GFC_STD_F2008)
index 463256380acf99f3501746db8aef9d72ddca33a2..1aa2bb2f0c684bbb0ad628e877a4477a5ad3fe2d 100644 (file)
@@ -533,8 +533,7 @@ Specification @code{Further Interoperability of Fortran with C}
 (ISO/IEC TS 29113:2012).  Full support of those standards and future
 Fortran standards is planned.  The current status of the support is
 can be found in the @ref{Fortran 2003 status}, @ref{Fortran 2008
-status}, @ref{TS 29113 status}, @ref{TS 18508 status} and @ref{Fortran
-2018 status} sections of the documentation.
+status} and @ref{Fortran 2018 status} sections of the documentation.
 
 Additionally, the GNU Fortran compilers supports the OpenMP specification
 (version 4.0 and most of the features of the 4.5 version,
@@ -793,8 +792,6 @@ compile option was used.
 @menu
 * Fortran 2003 status::
 * Fortran 2008 status::
-* TS 29113 status::
-* TS 18508 status::
 * Fortran 2018 status::
 @end menu
 
@@ -1096,8 +1093,29 @@ arrays are supported for named constants (@code{PARAMETER}).
 
 
 
-@node TS 29113 status
-@section Technical Specification 29113 Status
+@node Fortran 2018 status
+@section Status of Fortran 2018 support
+
+So far very little work has been done to support Fortran 2018.
+
+@itemize
+@item ERROR STOP in a PURE procedure
+An @code{ERROR STOP} statement is permitted in a @code{PURE}
+procedure.
+
+@item IMPLICIT NONE with a spec-list
+Support the @code{IMPLICIT NONE} statement with an
+@code{implicit-none-spec-list}.
+
+@item Behavior of INQUIRE with the RECL= specifier
+
+The behavior of the @code{INQUIRE} statement with the @code{RECL=}
+specifier now conforms to Fortran 2018.
+
+@end itemize
+
+
+@subsection TS 29113 Status (Further Interoperability with C)
 
 GNU Fortran supports some of the new features of the Technical
 Specification (TS) 29113 on Further Interoperability of Fortran with C.
@@ -1108,8 +1126,6 @@ following is implemented.
 See also @ref{Further Interoperability of Fortran with C}.
 
 @itemize
-@item The @option{-std=f2008ts} option.
-
 @item The @code{OPTIONAL} attribute is allowed for dummy arguments
 of @code{BIND(C) procedures.}
 
@@ -1125,8 +1141,8 @@ of the TS is not yet supported.
 @end itemize
 
 
-@node TS 18508 status
-@section Technical Specification 18508 Status
+
+@subsection TS 18508 Status (Additional Parallel Features)
 
 GNU Fortran supports the following new features of the Technical
 Specification 18508 on Additional Parallel Features in Fortran:
@@ -1147,27 +1163,6 @@ polymorphic components.
 @end itemize
 
 
-@node Fortran 2018 status
-@section Status of Fortran 2018 support
-
-So far very little work has been done to support Fortran 2018.
-
-@itemize
-@item ERROR STOP in a PURE procedure
-An @code{ERROR STOP} statement is permitted in a @code{PURE}
-procedure.
-
-@item IMPLICIT NONE with a spec-list
-Support the @code{IMPLICIT NONE} statement with an
-@code{implicit-none-spec-list}.
-
-@item Behavior of INQUIRE with the RECL= specifier
-
-The behavior of the @code{INQUIRE} statement with the @code{RECL=}
-specifier now conforms to Fortran 2018.
-
-@end itemize
-
 @c ---------------------------------------------------------------------
 @c Compiler Characteristics
 @c ---------------------------------------------------------------------
index d9cc2493d3c7046bd4778e6d9570f23f98bb85ee..8dd135f6b42ed3b984ae342f45db18d9a5b389be 100644 (file)
@@ -1849,7 +1849,7 @@ add_functions (void)
             mo, BT_UNKNOWN, 0, REQUIRED);
 
   add_sym_2 ("failed_images", GFC_ISYM_FAILED_IMAGES, CLASS_TRANSFORMATIONAL,
-            ACTUAL_NO, BT_INTEGER, dd, GFC_STD_F2008_TS,
+            ACTUAL_NO, BT_INTEGER, dd, GFC_STD_F2018,
             gfc_check_failed_or_stopped_images,
             gfc_simplify_failed_or_stopped_images,
             gfc_resolve_failed_images, team, BT_VOID, di, OPTIONAL,
@@ -1947,7 +1947,7 @@ add_functions (void)
   make_generic ("getpid", GFC_ISYM_GETPID, GFC_STD_GNU);
 
   add_sym_1 ("get_team", GFC_ISYM_GET_TEAM, CLASS_TRANSFORMATIONAL,
-            ACTUAL_NO, BT_INTEGER, di, GFC_STD_F2008_TS,
+            ACTUAL_NO, BT_INTEGER, di, GFC_STD_F2018,
             gfc_check_get_team, NULL, gfc_resolve_get_team,
             level, BT_INTEGER, di, OPTIONAL);
 
@@ -2102,7 +2102,7 @@ add_functions (void)
             ca, BT_REAL, dr, REQUIRED, sub, BT_INTEGER, ii, REQUIRED);
 
   add_sym_2 ("image_status", GFC_ISYM_IMAGE_STATUS, CLASS_ELEMENTAL, ACTUAL_NO,
-            BT_INTEGER, di, GFC_STD_F2008_TS, gfc_check_image_status,
+            BT_INTEGER, di, GFC_STD_F2018, gfc_check_image_status,
             gfc_simplify_image_status, gfc_resolve_image_status, image,
             BT_INTEGER, di, REQUIRED, team, BT_VOID, di, OPTIONAL);
 
@@ -2715,9 +2715,9 @@ add_functions (void)
   make_generic ("range", GFC_ISYM_RANGE, GFC_STD_F95);
 
   add_sym_1 ("rank", GFC_ISYM_RANK, CLASS_INQUIRY, ACTUAL_NO, BT_INTEGER, di,
-            GFC_STD_F2008_TS, gfc_check_rank, gfc_simplify_rank, gfc_resolve_rank,
+            GFC_STD_F2018, gfc_check_rank, gfc_simplify_rank, gfc_resolve_rank,
             a, BT_REAL, dr, REQUIRED);
-  make_generic ("rank", GFC_ISYM_RANK, GFC_STD_F2008_TS);
+  make_generic ("rank", GFC_ISYM_RANK, GFC_STD_F2018);
 
   add_sym_2 ("real", GFC_ISYM_REAL, CLASS_ELEMENTAL, ACTUAL_NO, BT_REAL, dr, GFC_STD_F77,
             gfc_check_real, gfc_simplify_real, gfc_resolve_real,
@@ -3017,7 +3017,7 @@ add_functions (void)
   make_generic ("stat", GFC_ISYM_STAT, GFC_STD_GNU);
 
   add_sym_2 ("stopped_images", GFC_ISYM_STOPPED_IMAGES, CLASS_TRANSFORMATIONAL,
-            ACTUAL_NO, BT_INTEGER, dd, GFC_STD_F2008_TS,
+            ACTUAL_NO, BT_INTEGER, dd, GFC_STD_F2018,
             gfc_check_failed_or_stopped_images,
             gfc_simplify_failed_or_stopped_images,
             gfc_resolve_stopped_images, team, BT_VOID, di, OPTIONAL,
@@ -3070,7 +3070,7 @@ add_functions (void)
   make_generic ("tanh", GFC_ISYM_TANH, GFC_STD_F77);
 
   add_sym_1 ("team_number", GFC_ISYM_TEAM_NUMBER, CLASS_TRANSFORMATIONAL,
-            ACTUAL_YES, BT_INTEGER, di, GFC_STD_F2008_TS,
+            ACTUAL_YES, BT_INTEGER, di, GFC_STD_F2018,
             gfc_check_team_number, NULL, gfc_resolve_team_number,
             team, BT_DERIVED, di, OPTIONAL);
 
@@ -3344,7 +3344,7 @@ add_subroutines (void)
              stat, BT_INTEGER, di, OPTIONAL, INTENT_OUT);
 
   add_sym_5s ("atomic_cas", GFC_ISYM_ATOMIC_CAS, CLASS_ATOMIC,
-             BT_UNKNOWN, 0, GFC_STD_F2008_TS,
+             BT_UNKNOWN, 0, GFC_STD_F2018,
              gfc_check_atomic_cas, NULL, NULL,
              "atom", BT_INTEGER, di, REQUIRED, INTENT_INOUT,
              "old", BT_INTEGER, di, REQUIRED, INTENT_OUT,
@@ -3353,35 +3353,35 @@ add_subroutines (void)
              stat, BT_INTEGER, di, OPTIONAL, INTENT_OUT);
 
   add_sym_3s ("atomic_add", GFC_ISYM_ATOMIC_ADD, CLASS_ATOMIC,
-             BT_UNKNOWN, 0, GFC_STD_F2008_TS,
+             BT_UNKNOWN, 0, GFC_STD_F2018,
              gfc_check_atomic_op, NULL, NULL,
              "atom", BT_INTEGER, di, REQUIRED, INTENT_OUT,
              "value", BT_INTEGER, di, REQUIRED, INTENT_IN,
              stat, BT_INTEGER, di, OPTIONAL, INTENT_OUT);
 
   add_sym_3s ("atomic_and", GFC_ISYM_ATOMIC_AND, CLASS_ATOMIC,
-             BT_UNKNOWN, 0, GFC_STD_F2008_TS,
+             BT_UNKNOWN, 0, GFC_STD_F2018,
              gfc_check_atomic_op, NULL, NULL,
              "atom", BT_INTEGER, di, REQUIRED, INTENT_OUT,
              "value", BT_INTEGER, di, REQUIRED, INTENT_IN,
              stat, BT_INTEGER, di, OPTIONAL, INTENT_OUT);
 
   add_sym_3s ("atomic_or", GFC_ISYM_ATOMIC_OR, CLASS_ATOMIC,
-             BT_UNKNOWN, 0, GFC_STD_F2008_TS,
+             BT_UNKNOWN, 0, GFC_STD_F2018,
              gfc_check_atomic_op, NULL, NULL,
              "atom", BT_INTEGER, di, REQUIRED, INTENT_OUT,
              "value", BT_INTEGER, di, REQUIRED, INTENT_IN,
              stat, BT_INTEGER, di, OPTIONAL, INTENT_OUT);
 
   add_sym_3s ("atomic_xor", GFC_ISYM_ATOMIC_XOR, CLASS_ATOMIC,
-             BT_UNKNOWN, 0, GFC_STD_F2008_TS,
+             BT_UNKNOWN, 0, GFC_STD_F2018,
              gfc_check_atomic_op, NULL, NULL,
              "atom", BT_INTEGER, di, REQUIRED, INTENT_OUT,
              "value", BT_INTEGER, di, REQUIRED, INTENT_IN,
              stat, BT_INTEGER, di, OPTIONAL, INTENT_OUT);
 
   add_sym_4s ("atomic_fetch_add", GFC_ISYM_ATOMIC_FETCH_ADD, CLASS_ATOMIC,
-             BT_UNKNOWN, 0, GFC_STD_F2008_TS,
+             BT_UNKNOWN, 0, GFC_STD_F2018,
              gfc_check_atomic_fetch_op, NULL, NULL,
              "atom", BT_INTEGER, di, REQUIRED, INTENT_OUT,
              "value", BT_INTEGER, di, REQUIRED, INTENT_IN,
@@ -3389,7 +3389,7 @@ add_subroutines (void)
              stat, BT_INTEGER, di, OPTIONAL, INTENT_OUT);
 
   add_sym_4s ("atomic_fetch_and", GFC_ISYM_ATOMIC_FETCH_AND, CLASS_ATOMIC,
-             BT_UNKNOWN, 0, GFC_STD_F2008_TS,
+             BT_UNKNOWN, 0, GFC_STD_F2018,
              gfc_check_atomic_fetch_op, NULL, NULL,
              "atom", BT_INTEGER, di, REQUIRED, INTENT_OUT,
              "value", BT_INTEGER, di, REQUIRED, INTENT_IN,
@@ -3397,7 +3397,7 @@ add_subroutines (void)
              stat, BT_INTEGER, di, OPTIONAL, INTENT_OUT);
 
   add_sym_4s ("atomic_fetch_or", GFC_ISYM_ATOMIC_FETCH_OR, CLASS_ATOMIC,
-             BT_UNKNOWN, 0, GFC_STD_F2008_TS,
+             BT_UNKNOWN, 0, GFC_STD_F2018,
              gfc_check_atomic_fetch_op, NULL, NULL,
              "atom", BT_INTEGER, di, REQUIRED, INTENT_OUT,
              "value", BT_INTEGER, di, REQUIRED, INTENT_IN,
@@ -3405,7 +3405,7 @@ add_subroutines (void)
              stat, BT_INTEGER, di, OPTIONAL, INTENT_OUT);
 
   add_sym_4s ("atomic_fetch_xor", GFC_ISYM_ATOMIC_FETCH_XOR, CLASS_ATOMIC,
-             BT_UNKNOWN, 0, GFC_STD_F2008_TS,
+             BT_UNKNOWN, 0, GFC_STD_F2018,
              gfc_check_atomic_fetch_op, NULL, NULL,
              "atom", BT_INTEGER, di, REQUIRED, INTENT_OUT,
              "value", BT_INTEGER, di, REQUIRED, INTENT_IN,
@@ -3419,7 +3419,7 @@ add_subroutines (void)
              tm, BT_REAL, dr, REQUIRED, INTENT_OUT);
 
   add_sym_3s ("event_query", GFC_ISYM_EVENT_QUERY, CLASS_ATOMIC,
-             BT_UNKNOWN, 0, GFC_STD_F2008_TS,
+             BT_UNKNOWN, 0, GFC_STD_F2018,
              gfc_check_event_query, NULL, gfc_resolve_event_query,
              "event", BT_INTEGER, di, REQUIRED, INTENT_IN,
              c, BT_INTEGER, di, OPTIONAL, INTENT_IN,
@@ -3609,7 +3609,7 @@ add_subroutines (void)
 
   /* Coarray collectives.  */
   add_sym_4s ("co_broadcast", GFC_ISYM_CO_BROADCAST, CLASS_IMPURE,
-             BT_UNKNOWN, 0, GFC_STD_F2008_TS,
+             BT_UNKNOWN, 0, GFC_STD_F2018,
              gfc_check_co_broadcast, NULL, NULL,
              a, BT_REAL, dr, REQUIRED, INTENT_INOUT,
              "source_image", BT_INTEGER, di, REQUIRED, INTENT_IN,
@@ -3617,7 +3617,7 @@ add_subroutines (void)
              errmsg, BT_CHARACTER, dc, OPTIONAL, INTENT_OUT);
 
   add_sym_4s ("co_max", GFC_ISYM_CO_MAX, CLASS_IMPURE,
-             BT_UNKNOWN, 0, GFC_STD_F2008_TS,
+             BT_UNKNOWN, 0, GFC_STD_F2018,
              gfc_check_co_minmax, NULL, NULL,
              a, BT_REAL, dr, REQUIRED, INTENT_INOUT,
              result_image, BT_INTEGER, di, OPTIONAL, INTENT_IN,
@@ -3625,7 +3625,7 @@ add_subroutines (void)
              errmsg, BT_CHARACTER, dc, OPTIONAL, INTENT_OUT);
 
   add_sym_4s ("co_min", GFC_ISYM_CO_MIN, CLASS_IMPURE,
-             BT_UNKNOWN, 0, GFC_STD_F2008_TS,
+             BT_UNKNOWN, 0, GFC_STD_F2018,
              gfc_check_co_minmax, NULL, NULL,
              a, BT_REAL, dr, REQUIRED, INTENT_INOUT,
              result_image, BT_INTEGER, di, OPTIONAL, INTENT_IN,
@@ -3633,7 +3633,7 @@ add_subroutines (void)
              errmsg, BT_CHARACTER, dc, OPTIONAL, INTENT_OUT);
 
   add_sym_4s ("co_sum", GFC_ISYM_CO_SUM, CLASS_IMPURE,
-             BT_UNKNOWN, 0, GFC_STD_F2008_TS,
+             BT_UNKNOWN, 0, GFC_STD_F2018,
              gfc_check_co_sum, NULL, NULL,
              a, BT_REAL, dr, REQUIRED, INTENT_INOUT,
              result_image, BT_INTEGER, di, OPTIONAL, INTENT_IN,
@@ -3641,7 +3641,7 @@ add_subroutines (void)
              errmsg, BT_CHARACTER, dc, OPTIONAL, INTENT_OUT);
 
   add_sym_5s ("co_reduce", GFC_ISYM_CO_REDUCE, CLASS_IMPURE,
-             BT_UNKNOWN, 0, GFC_STD_F2008_TS,
+             BT_UNKNOWN, 0, GFC_STD_F2018,
              gfc_check_co_reduce, NULL, NULL,
              a, BT_REAL, dr, REQUIRED, INTENT_INOUT,
              "operator", BT_INTEGER, di, REQUIRED, INTENT_IN,
@@ -4618,8 +4618,8 @@ gfc_check_intrinsic_standard (const gfc_intrinsic_sym* isym,
       symstd_msg = "new in Fortran 2008";
       break;
 
-    case GFC_STD_F2008_TS:
-      symstd_msg = "new in TS 29113/TS 18508";
+    case GFC_STD_F2018:
+      symstd_msg = "new in Fortran 2018";
       break;
 
     case GFC_STD_GNU:
index 3d64056591e49003b1f6dba9f892b2ab64e8ccea..bf1c86147301e778a795a075527c9ff3b17ee41c 100644 (file)
@@ -481,10 +481,9 @@ conformance to the Fortran 95, Fortran 2003, Fortran 2008 and Fortran
 2018 standards, respectively; errors are given for all extensions
 beyond the relevant language standard, and warnings are given for the
 Fortran 77 features that are permitted but obsolescent in later
-standards. @samp{-std=f2008ts} allows the Fortran 2008 standard
-including the additions of the Technical Specification (TS) 29113 on
-Further Interoperability of Fortran with C and TS 18508 on Additional
-Parallel Features in Fortran.
+standards. The deprecated option @samp{-std=f2008ts} acts as an alias for
+@samp{-std=f2018}. It is only present for backwards compatibility with
+earlier gfortran versions and should not be used any more.
 
 @item -ftest-forall-temp
 @opindex @code{ftest-forall-temp}
@@ -994,7 +993,7 @@ of the Fortran Character Set.  For continuation lines, a tab followed
 by a digit between 1 and 9 is supported.  @option{-Wtabs} will cause a
 warning to be issued if a tab is encountered. Note, @option{-Wtabs} is
 active for @option{-pedantic}, @option{-std=f95}, @option{-std=f2003},
-@option{-std=f2008}, @option{-std=f2008ts}, @option{-std=f2018} and
+@option{-std=f2008}, @option{-std=f2018} and
 @option{-Wall}.
 
 @item -Wundefined-do-loop
index f21d3d1e27175aa6274f9560da6df322a7f86e03..094f4b55839af0edf4251770ddb18f15ec8f816b 100644 (file)
@@ -66,7 +66,7 @@ NAMED_INTCST (ISOCBINDING_INTMAX_T, "c_intmax_t", \
 NAMED_INTCST (ISOCBINDING_INTPTR_T, "c_intptr_t", \
               get_int_kind_from_name (INTPTR_TYPE), GFC_STD_F2003)
 NAMED_INTCST (ISOCBINDING_PTRDIFF_T, "c_ptrdiff_t", \
-              get_int_kind_from_name (PTRDIFF_TYPE), GFC_STD_F2008_TS)
+              get_int_kind_from_name (PTRDIFF_TYPE), GFC_STD_F2018)
 NAMED_INTCST (ISOCBINDING_SIZE_T, "c_size_t", \
               gfc_index_integer_kind, GFC_STD_F2003)
 NAMED_INTCST (ISOCBINDING_SIGNED_CHAR, "c_signed_char", \
index 25f9e0991ba39cd71b1dcf9c03e71eada4a1df43..92dc5edc93d0dca44e1bca507c4d48c842ef5291 100644 (file)
@@ -86,7 +86,7 @@ NAMED_INTCST (ISOFORTRANENV_FILE_STAT_LOCKED_OTHER_IMAGE, \
 NAMED_INTCST (ISOFORTRANENV_FILE_STAT_STOPPED_IMAGE, "stat_stopped_image", \
               GFC_STAT_STOPPED_IMAGE, GFC_STD_F2008)
 NAMED_INTCST (ISOFORTRANENV_FILE_STAT_FAILED_IMAGE, "stat_failed_image", \
-              GFC_STAT_FAILED_IMAGE, GFC_STD_F2008_TS)
+              GFC_STAT_FAILED_IMAGE, GFC_STD_F2018)
 NAMED_INTCST (ISOFORTRANENV_FILE_STAT_UNLOCKED, "stat_unlocked", \
               GFC_STAT_UNLOCKED, GFC_STD_F2008)
 
@@ -126,12 +126,12 @@ NAMED_DERIVED_TYPE (ISOFORTRAN_LOCK_TYPE, "lock_type", \
 NAMED_DERIVED_TYPE (ISOFORTRAN_EVENT_TYPE, "event_type", \
                    flag_coarray == GFC_FCOARRAY_LIB
                    ?  get_int_kind_from_node (ptr_type_node)
-                   : gfc_default_integer_kind, GFC_STD_F2008_TS)
+                   : gfc_default_integer_kind, GFC_STD_F2018)
 
 NAMED_DERIVED_TYPE (ISOFORTRAN_TEAM_TYPE, "team_type", \
                    flag_coarray == GFC_FCOARRAY_LIB
                    ? get_int_kind_from_node (ptr_type_node)
-                   : gfc_default_integer_kind, GFC_STD_F2008_TS)
+                   : gfc_default_integer_kind, GFC_STD_F2018)
 
 #undef NAMED_INTCST
 #undef NAMED_KINDARRAY
index 278ee41655e509fdff919a5dc0a8df78c4b11a56..ef9c7c76b62d95f76643921f7ffd9426fe859642 100644 (file)
@@ -22,10 +22,9 @@ along with GCC; see the file COPYING3.  If not see
    Note that no features were obsoleted nor deleted in F2003.
    Please remember to keep those definitions in sync with
    gfortran.texi.  */
-#define GFC_STD_F2018_DEL      (1<<12)  /* Deleted in F2018.  */
-#define GFC_STD_F2018_OBS      (1<<11)  /* Obsolescent in F2018.  */
-#define GFC_STD_F2018          (1<<10)  /* New in F2018.  */
-#define GFC_STD_F2008_TS       (1<<9)  /* POST-F2008 technical reports.  */
+#define GFC_STD_F2018_DEL      (1<<11) /* Deleted in F2018.  */
+#define GFC_STD_F2018_OBS      (1<<10) /* Obsolescent in F2018.  */
+#define GFC_STD_F2018          (1<<9)  /* New in F2018.  */
 #define GFC_STD_F2008_OBS      (1<<8)  /* Obsolescent in F2008.  */
 #define GFC_STD_F2008          (1<<7)  /* New in F2008.  */
 #define GFC_STD_LEGACY         (1<<6)  /* Backward compatibility.  */
@@ -44,8 +43,7 @@ along with GCC; see the file COPYING3.  If not see
                                | GFC_STD_F2018_DEL)
 #define GFC_STD_OPT_F03                (GFC_STD_OPT_F95 | GFC_STD_F2003)
 #define GFC_STD_OPT_F08                (GFC_STD_OPT_F03 | GFC_STD_F2008)
-#define GFC_STD_OPT_F08TS      (GFC_STD_OPT_F08 | GFC_STD_F2008_TS)
-#define GFC_STD_OPT_F18                ((GFC_STD_OPT_F08TS | GFC_STD_F2018) \
+#define GFC_STD_OPT_F18                ((GFC_STD_OPT_F08 | GFC_STD_F2018) \
                                & (~GFC_STD_F2018_DEL))
 
 /* Bitmasks for the various FPE that can be enabled.  These need to be straight integers
index 6d53d03e91d28173cfe93515634193013777e4dc..8379ff579449d01d0ecb9e0005d02bc635c0fe46 100644 (file)
@@ -3322,7 +3322,7 @@ cleanup:
 match
 gfc_match_event_post (void)
 {
-  if (!gfc_notify_std (GFC_STD_F2008_TS, "EVENT POST statement at %C"))
+  if (!gfc_notify_std (GFC_STD_F2018, "EVENT POST statement at %C"))
     return MATCH_ERROR;
 
   return event_statement (ST_EVENT_POST);
@@ -3332,7 +3332,7 @@ gfc_match_event_post (void)
 match
 gfc_match_event_wait (void)
 {
-  if (!gfc_notify_std (GFC_STD_F2008_TS, "EVENT WAIT statement at %C"))
+  if (!gfc_notify_std (GFC_STD_F2018, "EVENT WAIT statement at %C"))
     return MATCH_ERROR;
 
   return event_statement (ST_EVENT_WAIT);
@@ -3344,7 +3344,7 @@ gfc_match_event_wait (void)
 match
 gfc_match_fail_image (void)
 {
-  if (!gfc_notify_std (GFC_STD_F2008_TS, "FAIL IMAGE statement at %C"))
+  if (!gfc_notify_std (GFC_STD_F2018, "FAIL IMAGE statement at %C"))
     return MATCH_ERROR;
 
   if (gfc_match_char ('(') == MATCH_YES)
@@ -3368,7 +3368,7 @@ gfc_match_form_team (void)
   match m;
   gfc_expr *teamid,*team;
 
-  if (!gfc_notify_std (GFC_STD_F2008_TS, "FORM TEAM statement at %C"))
+  if (!gfc_notify_std (GFC_STD_F2018, "FORM TEAM statement at %C"))
     return MATCH_ERROR;
 
   if (gfc_match_char ('(') == MATCH_NO)
@@ -3407,7 +3407,7 @@ gfc_match_change_team (void)
   match m;
   gfc_expr *team;
 
-  if (!gfc_notify_std (GFC_STD_F2008_TS, "CHANGE TEAM statement at %C"))
+  if (!gfc_notify_std (GFC_STD_F2018, "CHANGE TEAM statement at %C"))
     return MATCH_ERROR;
 
   if (gfc_match_char ('(') == MATCH_NO)
@@ -3437,7 +3437,7 @@ syntax:
 match
 gfc_match_end_team (void)
 {
-  if (!gfc_notify_std (GFC_STD_F2008_TS, "END TEAM statement at %C"))
+  if (!gfc_notify_std (GFC_STD_F2018, "END TEAM statement at %C"))
     return MATCH_ERROR;
 
   if (gfc_match_char ('(') == MATCH_YES)
@@ -3461,7 +3461,7 @@ gfc_match_sync_team (void)
   match m;
   gfc_expr *team;
 
-  if (!gfc_notify_std (GFC_STD_F2008_TS, "SYNC TEAM statement at %C"))
+  if (!gfc_notify_std (GFC_STD_F2018, "SYNC TEAM statement at %C"))
     return MATCH_ERROR;
 
   if (gfc_match_char ('(') == MATCH_NO)
index 6f45a8e284d31292a3a2da59e98f55563ad588a2..85f699e7cf8c5bf6fd62d2f537795300e0778fac 100644 (file)
@@ -42,7 +42,7 @@ set_default_std_flags (void)
 {
   gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F95_DEL
     | GFC_STD_F2003 | GFC_STD_F2008 | GFC_STD_F95 | GFC_STD_F77
-    | GFC_STD_F2008_OBS | GFC_STD_F2008_TS | GFC_STD_GNU | GFC_STD_LEGACY
+    | GFC_STD_F2008_OBS | GFC_STD_GNU | GFC_STD_LEGACY
     | GFC_STD_F2018 | GFC_STD_F2018_DEL | GFC_STD_F2018_OBS;
   gfc_option.warn_std = GFC_STD_F2018_DEL | GFC_STD_F95_DEL | GFC_STD_LEGACY;
 }
@@ -731,13 +731,6 @@ gfc_handle_option (size_t scode, const char *arg, int value,
       break;
 
     case OPT_std_f2008ts:
-      gfc_option.allow_std = GFC_STD_OPT_F08TS;
-      gfc_option.warn_std = GFC_STD_F95_OBS | GFC_STD_F2008_OBS;
-      gfc_option.max_identifier_length = 63;
-      warn_ampersand = 1;
-      warn_tabs = 1;
-      break;
-
     case OPT_std_f2018:
       gfc_option.allow_std = GFC_STD_OPT_F18;
       gfc_option.warn_std = GFC_STD_F95_OBS | GFC_STD_F2008_OBS
index 39befcc0d8d8777768cc226ce4d1055e95df08c3..b903b58401aa114b9302896efd682ae559a24472 100644 (file)
@@ -1,3 +1,21 @@
+2018-05-22  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/85841
+       * gfortran.dg/assumed_rank_5.f90: Update error message.
+       * gfortran.dg/assumed_type_4.f90: Ditto.
+       * gfortran.dg/bind_c_array_params.f03: Ditto.
+       * gfortran.dg/bind_c_usage_28.f90: Ditto.
+       * gfortran.dg/c_funloc_tests_5.f03: Ditto.
+       * gfortran.dg/c_funloc_tests_6.f90: Ditto.
+       * gfortran.dg/c_loc_tests_11.f03: Ditto.
+       * gfortran.dg/coarray_atomic_2.f90: Ditto.
+       * gfortran.dg/coarray_collectives_2.f90: Ditto.
+       * gfortran.dg/coarray_collectives_10.f90: Ditto.
+       * gfortran.dg/coarray_collectives_13.f90: Ditto.
+       * gfortran.dg/rank_3.f90: Ditto.
+       * gfortran.dg/error_stop_4.f90: Replace -std=f2008ts by -std=f2008.
+       * gfortran.dg/implicit_14.f90: Ditto.
+
 2018-05-21  Christian Groessler  <chris@groessler.org>
 
        * gcc.c-torture/compile/simd-5.c: Fix comment.
index f3d633d12ab96920c5bf27718c362512c1e3eab7..0e6318cfea0ebd2044dbd2fd9387611d33185d4a 100644 (file)
@@ -5,5 +5,5 @@
 !
 !
 subroutine foo(x)
-  integer :: x(..)  ! { dg-error "TS 29113/TS 18508: Assumed-rank array" }
+  integer :: x(..)  ! { dg-error "Fortran 2018: Assumed-rank array" }
 end subroutine foo
index e940c4540399664bfbec5dff7ec08466b849fbf0..b6a99a8950e098205213b2ecdd6715c0f21edf9c 100644 (file)
@@ -6,5 +6,5 @@
 ! Test TYPE(*)
 
 subroutine one(a)
-  type(*)  :: a ! { dg-error "TS 29113/TS 18508: Assumed type" }
+  type(*)  :: a ! { dg-error "Fortran 2018: Assumed type" }
 end subroutine one
index 16045170bf852e27870c88c89a14378a88b4689c..215db4511ebae3a12f1a423e561b4a2d2037f1ae 100644 (file)
@@ -5,11 +5,11 @@ use, intrinsic :: iso_c_binding
 implicit none
 
 contains
-  subroutine sub0(assumed_array) bind(c) ! { dg-error "TS 29113/TS 18508: Assumed-shape array 'assumed_array' at .1. as dummy argument to the BIND.C. procedure 'sub0'" }
+  subroutine sub0(assumed_array) bind(c) ! { dg-error "Fortran 2018: Assumed-shape array 'assumed_array' at .1. as dummy argument to the BIND.C. procedure 'sub0'" }
     integer(c_int), dimension(:) :: assumed_array
   end subroutine sub0
 
-  subroutine sub1(deferred_array) bind(c) ! { dg-error "TS 29113/TS 18508: Variable 'deferred_array' at .1. with POINTER attribute in procedure 'sub1' with BIND.C." }
+  subroutine sub1(deferred_array) bind(c) ! { dg-error "Fortran 2018: Variable 'deferred_array' at .1. with POINTER attribute in procedure 'sub1' with BIND.C." }
     integer(c_int), pointer :: deferred_array(:)
   end subroutine sub1
 end module bind_c_array_params
index bb9b5e85f7d85c530d622ade88185983a51d90cf..c1230970324b326c3efc7265ad5df1993b62f7a0 100644 (file)
@@ -8,11 +8,11 @@ type, bind(C) :: cstruct
   integer :: i
 end type
 interface
-     subroutine psub(this) bind(c, name='Psub') ! { dg-error "TS 29113/TS 18508: Variable 'this' at .1. with POINTER attribute in procedure 'psub' with BIND.C." }
+     subroutine psub(this) bind(c, name='Psub') ! { dg-error "Fortran 2018: Variable 'this' at .1. with POINTER attribute in procedure 'psub' with BIND.C." }
        import :: c_float, cstruct
        real(c_float), pointer  :: this(:)
      end subroutine psub
-     subroutine psub2(that) bind(c, name='Psub2') ! { dg-error "TS 29113/TS 18508: Variable 'that' at .1. with ALLOCATABLE attribute in procedure 'psub2' with BIND.C." }
+     subroutine psub2(that) bind(c, name='Psub2') ! { dg-error "Fortran 2018: Variable 'that' at .1. with ALLOCATABLE attribute in procedure 'psub2' with BIND.C." }
        import :: c_float, cstruct
        type(cstruct), allocatable  :: that(:)
      end subroutine psub2
index 8c1843bdf1dd442403214d18162d946683780e06..1ebe14a70c29d679e7b3da57b71e3da01ce51895 100644 (file)
@@ -8,9 +8,9 @@ contains
   subroutine sub0() bind(c)
     type(c_funptr) :: my_c_funptr
 
-    my_c_funptr = c_funloc(sub1) ! { dg-error "TS 29113/TS 18508: Noninteroperable procedure at .1. to C_FUNLOC" }
+    my_c_funptr = c_funloc(sub1) ! { dg-error "Fortran 2018: Noninteroperable procedure at .1. to C_FUNLOC" }
 
-    my_c_funptr = c_funloc(func0) ! { dg-error "TS 29113/TS 18508: Noninteroperable procedure at .1. to C_FUNLOC" }
+    my_c_funptr = c_funloc(func0) ! { dg-error "Fortran 2018: Noninteroperable procedure at .1. to C_FUNLOC" }
   end subroutine sub0
 
   subroutine sub1() 
index d426e81a862d99198f92bc1d189d079e47651ccc..669a119246fa68bcb86bf2abd3485e13d43ba5aa 100644 (file)
@@ -26,6 +26,6 @@ cfp = c_loc (int)   ! { dg-error "Can't convert TYPE.c_ptr. to TYPE.c_funptr." }
 call c_f_pointer (cfp, int)     ! { dg-error "Argument CPTR at .1. to C_F_POINTER shall have the type TYPE.C_PTR." }
 call c_f_procpointer (cp, fsub) ! { dg-error "Argument CPTR at .1. to C_F_PROCPOINTER shall have the type TYPE.C_FUNPTR." }
 
-cfp = c_funloc (noCsub) ! { dg-error "TS 29113/TS 18508: Noninteroperable procedure at .1. to C_FUNLOC" }
-call c_f_procpointer (cfp, fint) ! { dg-error "TS 29113/TS 18508: Noninteroperable procedure pointer at .1. to C_F_PROCPOINTER" }
+cfp = c_funloc (noCsub) ! { dg-error "Fortran 2018: Noninteroperable procedure at .1. to C_FUNLOC" }
+call c_f_procpointer (cfp, fint) ! { dg-error "Fortran 2018: Noninteroperable procedure pointer at .1. to C_F_PROCPOINTER" }
 end
index d009ce09652e8d463646e5214541a3ad569abcaf..545855f14500b4e6d453de8a7dacea98fdaeb53f 100644 (file)
@@ -43,7 +43,7 @@ contains
     integer(c_int), intent(in) :: handle    
     get_foo_address = c_loc(foo_pool(handle)%v)
 
-    get_foo_address = c_loc(foo_pool2(handle)%v) ! { dg-error "TS 29113/TS 18508: Noninteroperable array at .1. as argument to C_LOC: Expression is a noninteroperable derived type" }
+    get_foo_address = c_loc(foo_pool2(handle)%v) ! { dg-error "Fortran 2018: Noninteroperable array at .1. as argument to C_LOC: Expression is a noninteroperable derived type" }
   end function get_foo_address
 
     
index c66827b63149c1702939f41cfef663b0738300d1..3b51a27724e4390fadd2321ff74e1909c0f5b9bb 100644 (file)
@@ -6,15 +6,15 @@ implicit none
 
 intrinsic :: atomic_define
 intrinsic :: atomic_ref
-intrinsic :: atomic_cas ! { dg-error "not available in the current standard settings but new in TS 29113/TS 18508." }
-intrinsic :: atomic_add ! { dg-error "not available in the current standard settings but new in TS 29113/TS 18508." }
-intrinsic :: atomic_and ! { dg-error "not available in the current standard settings but new in TS 29113/TS 18508." }
-intrinsic :: atomic_or ! { dg-error "not available in the current standard settings but new in TS 29113/TS 18508." }
-intrinsic :: atomic_xor ! { dg-error "not available in the current standard settings but new in TS 29113/TS 18508." }
-intrinsic :: atomic_fetch_add ! { dg-error "not available in the current standard settings but new in TS 29113/TS 18508." }
-intrinsic :: atomic_fetch_and ! { dg-error "not available in the current standard settings but new in TS 29113/TS 18508." }
-intrinsic :: atomic_fetch_or ! { dg-error "not available in the current standard settings but new in TS 29113/TS 18508." }
-intrinsic :: atomic_fetch_xor ! { dg-error "not available in the current standard settings but new in TS 29113/TS 18508." }
+intrinsic :: atomic_cas ! { dg-error "not available in the current standard settings but new in Fortran 2018." }
+intrinsic :: atomic_add ! { dg-error "not available in the current standard settings but new in Fortran 2018." }
+intrinsic :: atomic_and ! { dg-error "not available in the current standard settings but new in Fortran 2018." }
+intrinsic :: atomic_or ! { dg-error "not available in the current standard settings but new in Fortran 2018." }
+intrinsic :: atomic_xor ! { dg-error "not available in the current standard settings but new in Fortran 2018." }
+intrinsic :: atomic_fetch_add ! { dg-error "not available in the current standard settings but new in Fortran 2018." }
+intrinsic :: atomic_fetch_and ! { dg-error "not available in the current standard settings but new in Fortran 2018." }
+intrinsic :: atomic_fetch_or ! { dg-error "not available in the current standard settings but new in Fortran 2018." }
+intrinsic :: atomic_fetch_xor ! { dg-error "not available in the current standard settings but new in Fortran 2018." }
 integer(atomic_int_kind) :: caf[*], var
 logical(atomic_logical_kind) :: caf_log[*], var2
 integer :: stat
index 906785caf54fe83a3913ae568d7e12e4f9600a83..f7d899dce7e263e0ab2a746b6cddfec812a4442a 100644 (file)
@@ -6,6 +6,6 @@
 !
 program test
   implicit none
-  intrinsic co_reduce ! { dg-error "is not available in the current standard settings but new in TS 29113/TS 18508." }
-  intrinsic co_broadcast ! { dg-error "is not available in the current standard settings but new in TS 29113/TS 18508." }
+  intrinsic co_reduce ! { dg-error "is not available in the current standard settings but new in Fortran 2018." }
+  intrinsic co_broadcast ! { dg-error "is not available in the current standard settings but new in Fortran 2018." }
 end program test
index 906785caf54fe83a3913ae568d7e12e4f9600a83..f7d899dce7e263e0ab2a746b6cddfec812a4442a 100644 (file)
@@ -6,6 +6,6 @@
 !
 program test
   implicit none
-  intrinsic co_reduce ! { dg-error "is not available in the current standard settings but new in TS 29113/TS 18508." }
-  intrinsic co_broadcast ! { dg-error "is not available in the current standard settings but new in TS 29113/TS 18508." }
+  intrinsic co_reduce ! { dg-error "is not available in the current standard settings but new in Fortran 2018." }
+  intrinsic co_broadcast ! { dg-error "is not available in the current standard settings but new in Fortran 2018." }
 end program test
index 7494d3d4ada5bd76a6592a600647c5854963f1cd..4f8bef6d0b159f0d770df10f2b08808e15f6bf5d 100644 (file)
@@ -6,7 +6,7 @@
 !
 program test
   implicit none
-  intrinsic co_max ! { dg-error "is not available in the current standard settings but new in TS 29113/TS 18508." }
-  intrinsic co_min ! { dg-error "is not available in the current standard settings but new in TS 29113/TS 18508." }
-  intrinsic co_sum ! { dg-error "is not available in the current standard settings but new in TS 29113/TS 18508." }
+  intrinsic co_max ! { dg-error "is not available in the current standard settings but new in Fortran 2018." }
+  intrinsic co_min ! { dg-error "is not available in the current standard settings but new in Fortran 2018." }
+  intrinsic co_sum ! { dg-error "is not available in the current standard settings but new in Fortran 2018." }
 end program test
index fbca5990b969fc2e2a6039b62d9855451f8a1e38..d8cdefe14cbcc464b994a63d6d4f2fd5b7e7b18a 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-! { dg-options "-std=f2008ts" }
+! { dg-options "-std=f2008" }
 !
 ! F2018 permits ERROR STOP in PURE procedures
 !
index b4c005b883546328b77618e4acb82cb5a7cfca65..8282c1f1f86c1daa4cc00d1b69d6e4fe40f5ab83 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-! { dg-options "-std=f2008ts" }
+! { dg-options "-std=f2008" }
 !
 ! Support Fortran 2018's IMPLICIT NONE with spec list
 ! (currently implemented as vendor extension)
index c8f8fa775084775b48539181fcea253ca0c2ea6b..bd11b8fb28bef33e63f73cfbd2dbcbdabb8def8f 100644 (file)
@@ -3,5 +3,5 @@
 !
 ! PR fortran/48820
 !
-intrinsic :: rank  ! { dg-error "new in TS 29113" }
+intrinsic :: rank  ! { dg-error "new in Fortran 2018" }
 end