]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fortran: Accept -std=f2023, update line-length for Fortran 2023
authorTobias Burnus <tobias@codesourcery.com>
Fri, 17 Nov 2023 12:34:55 +0000 (13:34 +0100)
committerTobias Burnus <tobias@codesourcery.com>
Fri, 17 Nov 2023 12:34:55 +0000 (13:34 +0100)
This patch accepts -std=f2023, uses it by default and bumps for the
free-source form the line length to 10,000 and the statement length
alias number of continuation lines to unlimited.

gcc/fortran/ChangeLog:

* gfortran.texi (_gfortran_set_options): Document GFC_STD_F2023.
* invoke.texi (std,pedantic,Wampersand,Wtabs): Add -std=2023.
* lang.opt (std=f2023): Add.
* libgfortran.h (GFC_STD_F2023, GFC_STD_OPT_F23): Add.
* options.cc (set_default_std_flags): Add GFC_STD_F2023.
(gfc_init_options): Set max_continue_free to 1,000,000.
(gfc_post_options): Set flag_free_line_length if unset.
(gfc_handle_option): Add OPT_std_f2023, set max_continue_free = 255
for -std=f2003, f2008 and f2018.

gcc/testsuite/ChangeLog:

* gfortran.dg/goacc/warn_truncated.f90: Add -std=f2018 option.
* gfortran.dg/gomp/warn_truncated.f90: Likewise.
* gfortran.dg/line_length_10.f90: Likewise.
* gfortran.dg/line_length_11.f90: Likewise.
* gfortran.dg/line_length_2.f90: Likewise.
* gfortran.dg/line_length_5.f90: Likewise.
* gfortran.dg/line_length_6.f90: Likewise.
* gfortran.dg/line_length_7.f90: Likewise.
* gfortran.dg/line_length_8.f90: Likewise.
* gfortran.dg/line_length_9.f90: Likewise.
* gfortran.dg/continuation_17.f90: New test.
* gfortran.dg/continuation_18.f90: New test.
* gfortran.dg/continuation_19.f: New test.
* gfortran.dg/line_length_12.f90: New test.
* gfortran.dg/line_length_13.f90: New test.

20 files changed:
gcc/fortran/gfortran.texi
gcc/fortran/invoke.texi
gcc/fortran/lang.opt
gcc/fortran/libgfortran.h
gcc/fortran/options.cc
gcc/testsuite/gfortran.dg/continuation_17.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/continuation_18.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/continuation_19.f [new file with mode: 0644]
gcc/testsuite/gfortran.dg/goacc/warn_truncated.f90
gcc/testsuite/gfortran.dg/gomp/warn_truncated.f90
gcc/testsuite/gfortran.dg/line_length_10.f90
gcc/testsuite/gfortran.dg/line_length_11.f90
gcc/testsuite/gfortran.dg/line_length_12.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/line_length_13.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/line_length_2.f90
gcc/testsuite/gfortran.dg/line_length_5.f90
gcc/testsuite/gfortran.dg/line_length_6.f90
gcc/testsuite/gfortran.dg/line_length_7.f90
gcc/testsuite/gfortran.dg/line_length_8.f90
gcc/testsuite/gfortran.dg/line_length_9.f90

index e7ffc294dc81324115fc932615faec56725cdccf..41857cc903857d9a02ea095eebd7f834d4fc6d1f 100644 (file)
@@ -3477,11 +3477,12 @@ standard.  Possible values are (bitwise or-ed) @code{GFC_STD_F77} (1),
 @code{GFC_STD_F95} (8), @code{GFC_STD_F2003} (16), @code{GFC_STD_GNU}
 (32), @code{GFC_STD_LEGACY} (64), @code{GFC_STD_F2008} (128),
 @code{GFC_STD_F2008_OBS} (256), @code{GFC_STD_F2008_TS} (512),
-@code{GFC_STD_F2018} (1024), @code{GFC_STD_F2018_OBS} (2048), and
-@code{GFC_STD=F2018_DEL} (4096). Default: @code{GFC_STD_F95_OBS |
-GFC_STD_F95_DEL | GFC_STD_F95 | GFC_STD_F2003 | GFC_STD_F2008 |
-GFC_STD_F2008_TS | GFC_STD_F2008_OBS | GFC_STD_F77 | GFC_STD_F2018 |
-GFC_STD_F2018_OBS | GFC_STD_F2018_DEL | GFC_STD_GNU | GFC_STD_LEGACY}.
+@code{GFC_STD_F2018} (1024), @code{GFC_STD_F2018_OBS} (2048),
+@code{GFC_STD=F2018_DEL} (4096), and @code{GFC_STD=F2023} (8192).
+Default: @code{GFC_STD_F95_OBS | GFC_STD_F95_DEL | GFC_STD_F95 |
+GFC_STD_F2003 | GFC_STD_F2008 | GFC_STD_F2008_TS | GFC_STD_F2008_OBS
+| GFC_STD_F77 | GFC_STD_F2018 | GFC_STD_F2018_OBS | GFC_STD_F2018_DEL
+| GFC_STD_F2023 | GFC_STD_GNU | GFC_STD_LEGACY}.
 @item @var{option}[1] @tab Standard-warning flag; prints a warning to
 standard error.  Default: @code{GFC_STD_F95_DEL | GFC_STD_LEGACY}.
 @item @var{option}[2] @tab If non zero, enable pedantic checking.
index 10387e39501026857def19adcc78b5a50352b44c..2f1d1f284292e1d7ef888a2f93ddab5239143bce 100644 (file)
@@ -542,17 +542,17 @@ intermediate representation of the translated Fortran code, produced by
 @opindex @code{std=}@var{std} option
 @item -std=@var{std}
 Specify the standard to which the program is expected to conform,
-which may be one of @samp{f95}, @samp{f2003}, @samp{f2008},
-@samp{f2018}, @samp{gnu}, or @samp{legacy}.  The default value for
+which may be one of @samp{f95}, @samp{f2003}, @samp{f2008}, @samp{f2018},
+@samp{f2023}, @samp{gnu}, or @samp{legacy}.  The default value for
 @var{std} is @samp{gnu}, which specifies a superset of the latest
 Fortran standard that includes all of the extensions supported by GNU
 Fortran, although warnings will be given for obsolete extensions not
 recommended for use in new code.  The @samp{legacy} value is
 equivalent but without the warnings for obsolete extensions, and may
-be useful for old non-standard programs.  The @samp{f95},
-@samp{f2003}, @samp{f2008}, and @samp{f2018} values specify strict
-conformance to the Fortran 95, Fortran 2003, Fortran 2008 and Fortran
-2018 standards, respectively; errors are given for all extensions
+be useful for old non-standard programs.  The @samp{f95}, @samp{f2003},
+@samp{f2008}, @samp{f2018}, and @samp{f2023} values specify strict
+conformance to the Fortran 95, Fortran 2003, Fortran 2008, Fortran 2018
+and Fortran 2023 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. The deprecated option @samp{-std=f2008ts} acts as an alias for
@@ -910,7 +910,8 @@ nonstandard practices, but not all.
 However, improvements to GNU Fortran in this area are welcome.
 
 This should be used in conjunction with @option{-std=f95},
-@option{-std=f2003}, @option{-std=f2008} or @option{-std=f2018}.
+@option{-std=f2003}, @option{-std=f2008}, @option{-std=f2018}
+or @option{-std=f2023}.
 
 @opindex @code{pedantic-errors}
 @item -pedantic-errors
@@ -958,8 +959,8 @@ The following example will trigger the warning.
 @item -Wampersand
 Warn about missing ampersand in continued character constants. The
 warning is given with @option{-Wampersand}, @option{-pedantic},
-@option{-std=f95}, @option{-std=f2003}, @option{-std=f2008} and
-@option{-std=f2018}. Note: With no ampersand given in a continued
+@option{-std=f95}, @option{-std=f2003}, @option{-std=f2008}, @option{-std=f2018}
+and @option{-std=f2023}. Note: With no ampersand given in a continued
 character constant, GNU Fortran assumes continuation at the first
 non-comment, non-whitespace character after the ampersand that
 initiated the continuation.
@@ -1108,7 +1109,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=f2018} and
+@option{-std=f2008}, @option{-std=f2018}, @option{-std=f2023} and
 @option{-Wall}.
 
 @opindex @code{Wundefined-do-loop}
index 7236351a93cd9b414f354941d58d8d8b9047ecb1..08c75394aa010f7c9b262cc9517c2c6f86cfbf2d 100644 (file)
@@ -883,6 +883,10 @@ std=f2018
 Fortran
 Conform to the ISO Fortran 2018 standard.
 
+std=f2023
+Fortran
+Conform to the ISO Fortran 2023 standard.
+
 std=f95
 Fortran
 Conform to the ISO Fortran 95 standard.
index cb84b59c99acb402e6fc79544741aa7f88d79358..bdddb317ab01bcb333c806ba5c06c9b4a3153003 100644 (file)
@@ -19,9 +19,10 @@ along with GCC; see the file COPYING3.  If not see
 
 
 /* Flags to specify which standard/extension contains a feature.
-   Note that no features were obsoleted nor deleted in F2003.
+   Note that no features were obsoleted nor deleted in F2003 nor in F2023.
    Please remember to keep those definitions in sync with
    gfortran.texi.  */
+#define GFC_STD_F2023          (1<<12) /* New in F2023.  */
 #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.  */
@@ -45,6 +46,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GFC_STD_OPT_F08                (GFC_STD_OPT_F03 | GFC_STD_F2008)
 #define GFC_STD_OPT_F18                ((GFC_STD_OPT_F08 | GFC_STD_F2018) \
                                & (~GFC_STD_F2018_DEL))
+#define GFC_STD_OPT_F23                (GFC_STD_OPT_F18 | GFC_STD_F2023)
 
 /* Bitmasks for the various FPE that can be enabled.  These need to be straight integers
    e.g., 8 instead of (1<<3), because they will be included in Fortran source.  */
index cfb195756a8eb903ab482756eb426bd5ad334dcb..b788521e8160e347f837d27c1cef38dc030643f6 100644 (file)
@@ -57,7 +57,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_GNU | GFC_STD_LEGACY
-    | GFC_STD_F2018 | GFC_STD_F2018_DEL | GFC_STD_F2018_OBS;
+    | GFC_STD_F2018 | GFC_STD_F2018_DEL | GFC_STD_F2018_OBS | GFC_STD_F2023;
   gfc_option.warn_std = GFC_STD_F2018_DEL | GFC_STD_F95_DEL | GFC_STD_LEGACY;
 }
 
@@ -143,8 +143,11 @@ gfc_init_options (unsigned int decoded_options_count,
   gfc_source_file = NULL;
   gfc_option.module_dir = NULL;
   gfc_option.source_form = FORM_UNKNOWN;
-  gfc_option.max_continue_fixed = 255;
-  gfc_option.max_continue_free = 255;
+  /* The following is not quite right as Fortran since 2023 has: "A statement
+      shall not have more than one million characters."  This can already be
+      reached by 'just' 100 lines with 10,000 characters each.  */
+  gfc_option.max_continue_fixed = 1000000;
+  gfc_option.max_continue_free = 1000000;
   gfc_option.max_identifier_length = GFC_MAX_SYMBOL_LEN;
   gfc_option.max_errors = 25;
 
@@ -266,6 +269,10 @@ gfc_post_options (const char **pfilename)
                       cpp_warn_missing_include_dirs, 1);
   gfc_check_include_dirs (verbose_missing_dir_warn);
 
+  SET_OPTION_IF_UNSET (&global_options, &global_options_set,
+                      flag_free_line_length,
+                      (gfc_option.allow_std & GFC_STD_F2023) ? 10000 : 132);
+
   /* Finalize DEC flags.  */
   post_dec_flags (flag_dec);
 
@@ -769,6 +776,8 @@ gfc_handle_option (size_t scode, const char *arg, HOST_WIDE_INT value,
     case OPT_std_f2003:
       gfc_option.allow_std = GFC_STD_OPT_F03;
       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;
       warn_ampersand = 1;
       warn_tabs = 1;
@@ -777,6 +786,8 @@ gfc_handle_option (size_t scode, const char *arg, HOST_WIDE_INT value,
     case OPT_std_f2008:
       gfc_option.allow_std = GFC_STD_OPT_F08;
       gfc_option.warn_std = GFC_STD_F95_OBS | GFC_STD_F2008_OBS;
+      gfc_option.max_continue_free = 255;
+      gfc_option.max_continue_fixed = 255;
       gfc_option.max_identifier_length = 63;
       warn_ampersand = 1;
       warn_tabs = 1;
@@ -785,6 +796,17 @@ gfc_handle_option (size_t scode, const char *arg, HOST_WIDE_INT value,
     case OPT_std_f2008ts:
     case OPT_std_f2018:
       gfc_option.allow_std = GFC_STD_OPT_F18;
+      gfc_option.warn_std = GFC_STD_F95_OBS | GFC_STD_F2008_OBS
+       | GFC_STD_F2018_OBS;
+      gfc_option.max_continue_free = 255;
+      gfc_option.max_continue_fixed = 255;
+      gfc_option.max_identifier_length = 63;
+      warn_ampersand = 1;
+      warn_tabs = 1;
+      break;
+
+    case OPT_std_f2023:
+      gfc_option.allow_std = GFC_STD_OPT_F23;
       gfc_option.warn_std = GFC_STD_F95_OBS | GFC_STD_F2008_OBS
        | GFC_STD_F2018_OBS;
       gfc_option.max_identifier_length = 63;
diff --git a/gcc/testsuite/gfortran.dg/continuation_17.f90 b/gcc/testsuite/gfortran.dg/continuation_17.f90
new file mode 100644 (file)
index 0000000..6f2b11d
--- /dev/null
@@ -0,0 +1,267 @@
+! { dg-do compile }
+! { dg-options -std=f2018 }
+!
+! copied from continuation_4.f90 - but use -std=f2018
+! Fortran 2018: Continuation-line limit is 255  <<< TESTED
+! Fortran 2023: Maximally 1,000,000 characters per statement (implied but no explicit continuation-line line limit)
+!
+! PR 19262  Test limit on line continuations. Test case derived form case in PR
+! by Steve Kargl.  Submitted by Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+print *, &
+       "1" // & !  1  Counting in groups of 40.
+       "2" // & !  2
+       "3" // & !  3
+       "4" // & !  4
+       "5" // & !  5
+       "6" // & !  6
+       "7" // & !  7
+       "8" // & !  8
+       "9" // & !  9
+       "0" // & ! 10
+       "1" // & ! 11
+       "2" // & ! 12
+       "3" // & ! 13
+       "4" // & ! 14
+       "5" // & ! 15
+       "6" // & ! 16
+       "7" // & ! 17
+       "8" // & ! 18
+       "9" // & ! 19
+       "0" // & ! 20
+       "1" // & ! 21
+       "2" // & ! 22
+       "3" // & ! 23
+       "4" // & ! 24
+       "5" // & ! 25
+       "6" // & ! 26
+       "7" // & ! 27
+       "8" // & ! 28
+       "9" // & ! 29
+       "0" // & ! 30
+       "1" // & ! 31
+       "2" // & ! 32
+       "3" // & ! 33
+       "4" // & ! 34
+       "5" // & ! 35
+       "6" // & ! 36
+       "7" // & ! 37
+       "8" // & ! 38
+       "9" // & ! 39
+       "0" // & ! 40
+       "1" // & !  1
+       "2" // & !  2
+       "3" // & !  3
+       "4" // & !  4
+       "5" // & !  5
+       "6" // & !  6
+       "7" // & !  7
+       "8" // & !  8
+       "9" // & !  9
+       "0" // & ! 10
+       "1" // & ! 11
+       "2" // & ! 12
+       "3" // & ! 13
+       "4" // & ! 14
+       "5" // & ! 15
+       "6" // & ! 16
+       "7" // & ! 17
+       "8" // & ! 18
+       "9" // & ! 19
+       "0" // & ! 20
+       "1" // & ! 21
+       "2" // & ! 22
+       "3" // & ! 23
+       "4" // & ! 24
+       "5" // & ! 25
+       "6" // & ! 26
+       "7" // & ! 27
+       "8" // & ! 28
+       "9" // & ! 29
+       "0" // & ! 30
+       "1" // & ! 31
+       "2" // & ! 32
+       "3" // & ! 33
+       "4" // & ! 34
+       "5" // & ! 35
+       "6" // & ! 36
+       "7" // & ! 37
+       "8" // & ! 38
+       "9" // & ! 39
+       "0" // & ! 80
+       "1" // & !  1
+       "2" // & !  2
+       "3" // & !  3
+       "4" // & !  4
+       "5" // & !  5
+       "6" // & !  6
+       "7" // & !  7
+       "8" // & !  8
+       "9" // & !  9
+       "0" // & ! 10
+       "1" // & ! 11
+       "2" // & ! 12
+       "3" // & ! 13
+       "4" // & ! 14
+       "5" // & ! 15
+       "6" // & ! 16
+       "7" // & ! 17
+       "8" // & ! 18
+       "9" // & ! 19
+       "0" // & ! 20
+       "1" // & ! 21
+       "2" // & ! 22
+       "3" // & ! 23
+       "4" // & ! 24
+       "5" // & ! 25
+       "6" // & ! 26
+       "7" // & ! 27
+       "8" // & ! 28
+       "9" // & ! 29
+       "0" // & ! 30
+       "1" // & ! 31
+       "2" // & ! 32
+       "3" // & ! 33
+       "4" // & ! 34
+       "5" // & ! 35
+       "6" // & ! 36
+       "7" // & ! 37
+       "8" // & ! 38
+       "9" // & ! 39
+       "0" // & ! 120
+       "1" // & !  1
+       "2" // & !  2
+       "3" // & !  3
+       "4" // & !  4
+       "5" // & !  5
+       "6" // & !  6
+       "7" // & !  7
+       "8" // & !  8
+       "9" // & !  9
+       "0" // & ! 10
+       "1" // & ! 11
+       "2" // & ! 12
+       "3" // & ! 13
+       "4" // & ! 14
+       "5" // & ! 15
+       "6" // & ! 16
+       "7" // & ! 17
+       "8" // & ! 18
+       "9" // & ! 19
+       "0" // & ! 20
+       "1" // & ! 21
+       "2" // & ! 22
+       "3" // & ! 23
+       "4" // & ! 24
+       "5" // & ! 25
+       "6" // & ! 26
+       "7" // & ! 27
+       "8" // & ! 28
+       "9" // & ! 29
+       "0" // & ! 30
+       "1" // & ! 31
+       "2" // & ! 32
+       "3" // & ! 33
+       "4" // & ! 34
+       "5" // & ! 35
+       "6" // & ! 36
+       "7" // & ! 37
+       "8" // & ! 38
+       "9" // & ! 39
+       "0" // & ! 160
+       "1" // & !  1
+       "2" // & !  2
+       "3" // & !  3
+       "4" // & !  4
+       "5" // & !  5
+       "6" // & !  6
+       "7" // & !  7
+       "8" // & !  8
+       "9" // & !  9
+       "0" // & ! 10
+       "1" // & ! 11
+       "2" // & ! 12
+       "3" // & ! 13
+       "4" // & ! 14
+       "5" // & ! 15
+       "6" // & ! 16
+       "7" // & ! 17
+       "8" // & ! 18
+       "9" // & ! 19
+       "0" // & ! 20
+       "1" // & ! 21
+       "2" // & ! 22
+       "3" // & ! 23
+       "4" // & ! 24
+       "5" // & ! 25
+       "6" // & ! 26
+       "7" // & ! 27
+       "8" // & ! 28
+       "9" // & ! 29
+       "0" // & ! 30
+       "1" // & ! 31
+       "2" // & ! 32
+       "3" // & ! 33
+       "4" // & ! 34
+       "5" // & ! 35
+       "6" // & ! 36
+       "7" // & ! 37
+       "8" // & ! 38
+       "9" // & ! 39
+       "0" // & ! 200
+       "1" // & !  1
+       "2" // & !  2
+       "3" // & !  3
+       "4" // & !  4
+       "5" // & !  5
+       "6" // & !  6
+       "7" // & !  7
+       "8" // & !  8
+       "9" // & !  9
+       "0" // & ! 10
+       "1" // & ! 11
+       "2" // & ! 12
+       "3" // & ! 13
+       "4" // & ! 14
+       "5" // & ! 15
+       "6" // & ! 16
+       "7" // & ! 17
+       "8" // & ! 18
+       "9" // & ! 19
+       "0" // & ! 20
+       "1" // & ! 21
+       "2" // & ! 22
+       "3" // & ! 23
+       "4" // & ! 24
+       "5" // & ! 25
+       "6" // & ! 26
+       "7" // & ! 27
+       "8" // & ! 28
+       "9" // & ! 29
+       "0" // & ! 30
+       "1" // & ! 31
+       "2" // & ! 32
+       "3" // & ! 33
+       "4" // & ! 34
+       "5" // & ! 35
+       "6" // & ! 36
+       "7" // & ! 37
+       "8" // & ! 38
+       "9" // & ! 39
+       "0" // & ! 240
+       "1" // & !  1
+       "2" // & !  2
+       "3" // & !  3
+       "4" // & !  4
+       "5" // & !  5
+       "6" // & !  6
+       "7" // & !  7
+       "8" // & !  8
+       "9" // & !  9
+       "0" // & ! 10
+       "1" // & ! 11
+       "2" // & ! 12
+       "3" // & ! 13
+       "4" // & ! 14
+       "5" // & ! 255
+       "0"      ! { dg-warning "Limit of 255 continuations exceeded" }
+end
diff --git a/gcc/testsuite/gfortran.dg/continuation_18.f90 b/gcc/testsuite/gfortran.dg/continuation_18.f90
new file mode 100644 (file)
index 0000000..7ad887d
--- /dev/null
@@ -0,0 +1,267 @@
+! { dg-do compile }
+! { dg-options -std=f2023 }
+!
+! copied from continuation_4.f90 - but use -std=f2023
+! Fortran 2018: Continuation-line limit is 255
+! Fortran 2023: Maximally 1,000,000 characters per statement (implied but no explicit continuation-line line limit)  <<< TESTED
+!
+! PR 19262  Test limit on line continuations. Test case derived form case in PR
+! by Steve Kargl.  Submitted by Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+print *, &
+       "1" // & !  1  Counting in groups of 40.
+       "2" // & !  2
+       "3" // & !  3
+       "4" // & !  4
+       "5" // & !  5
+       "6" // & !  6
+       "7" // & !  7
+       "8" // & !  8
+       "9" // & !  9
+       "0" // & ! 10
+       "1" // & ! 11
+       "2" // & ! 12
+       "3" // & ! 13
+       "4" // & ! 14
+       "5" // & ! 15
+       "6" // & ! 16
+       "7" // & ! 17
+       "8" // & ! 18
+       "9" // & ! 19
+       "0" // & ! 20
+       "1" // & ! 21
+       "2" // & ! 22
+       "3" // & ! 23
+       "4" // & ! 24
+       "5" // & ! 25
+       "6" // & ! 26
+       "7" // & ! 27
+       "8" // & ! 28
+       "9" // & ! 29
+       "0" // & ! 30
+       "1" // & ! 31
+       "2" // & ! 32
+       "3" // & ! 33
+       "4" // & ! 34
+       "5" // & ! 35
+       "6" // & ! 36
+       "7" // & ! 37
+       "8" // & ! 38
+       "9" // & ! 39
+       "0" // & ! 40
+       "1" // & !  1
+       "2" // & !  2
+       "3" // & !  3
+       "4" // & !  4
+       "5" // & !  5
+       "6" // & !  6
+       "7" // & !  7
+       "8" // & !  8
+       "9" // & !  9
+       "0" // & ! 10
+       "1" // & ! 11
+       "2" // & ! 12
+       "3" // & ! 13
+       "4" // & ! 14
+       "5" // & ! 15
+       "6" // & ! 16
+       "7" // & ! 17
+       "8" // & ! 18
+       "9" // & ! 19
+       "0" // & ! 20
+       "1" // & ! 21
+       "2" // & ! 22
+       "3" // & ! 23
+       "4" // & ! 24
+       "5" // & ! 25
+       "6" // & ! 26
+       "7" // & ! 27
+       "8" // & ! 28
+       "9" // & ! 29
+       "0" // & ! 30
+       "1" // & ! 31
+       "2" // & ! 32
+       "3" // & ! 33
+       "4" // & ! 34
+       "5" // & ! 35
+       "6" // & ! 36
+       "7" // & ! 37
+       "8" // & ! 38
+       "9" // & ! 39
+       "0" // & ! 80
+       "1" // & !  1
+       "2" // & !  2
+       "3" // & !  3
+       "4" // & !  4
+       "5" // & !  5
+       "6" // & !  6
+       "7" // & !  7
+       "8" // & !  8
+       "9" // & !  9
+       "0" // & ! 10
+       "1" // & ! 11
+       "2" // & ! 12
+       "3" // & ! 13
+       "4" // & ! 14
+       "5" // & ! 15
+       "6" // & ! 16
+       "7" // & ! 17
+       "8" // & ! 18
+       "9" // & ! 19
+       "0" // & ! 20
+       "1" // & ! 21
+       "2" // & ! 22
+       "3" // & ! 23
+       "4" // & ! 24
+       "5" // & ! 25
+       "6" // & ! 26
+       "7" // & ! 27
+       "8" // & ! 28
+       "9" // & ! 29
+       "0" // & ! 30
+       "1" // & ! 31
+       "2" // & ! 32
+       "3" // & ! 33
+       "4" // & ! 34
+       "5" // & ! 35
+       "6" // & ! 36
+       "7" // & ! 37
+       "8" // & ! 38
+       "9" // & ! 39
+       "0" // & ! 120
+       "1" // & !  1
+       "2" // & !  2
+       "3" // & !  3
+       "4" // & !  4
+       "5" // & !  5
+       "6" // & !  6
+       "7" // & !  7
+       "8" // & !  8
+       "9" // & !  9
+       "0" // & ! 10
+       "1" // & ! 11
+       "2" // & ! 12
+       "3" // & ! 13
+       "4" // & ! 14
+       "5" // & ! 15
+       "6" // & ! 16
+       "7" // & ! 17
+       "8" // & ! 18
+       "9" // & ! 19
+       "0" // & ! 20
+       "1" // & ! 21
+       "2" // & ! 22
+       "3" // & ! 23
+       "4" // & ! 24
+       "5" // & ! 25
+       "6" // & ! 26
+       "7" // & ! 27
+       "8" // & ! 28
+       "9" // & ! 29
+       "0" // & ! 30
+       "1" // & ! 31
+       "2" // & ! 32
+       "3" // & ! 33
+       "4" // & ! 34
+       "5" // & ! 35
+       "6" // & ! 36
+       "7" // & ! 37
+       "8" // & ! 38
+       "9" // & ! 39
+       "0" // & ! 160
+       "1" // & !  1
+       "2" // & !  2
+       "3" // & !  3
+       "4" // & !  4
+       "5" // & !  5
+       "6" // & !  6
+       "7" // & !  7
+       "8" // & !  8
+       "9" // & !  9
+       "0" // & ! 10
+       "1" // & ! 11
+       "2" // & ! 12
+       "3" // & ! 13
+       "4" // & ! 14
+       "5" // & ! 15
+       "6" // & ! 16
+       "7" // & ! 17
+       "8" // & ! 18
+       "9" // & ! 19
+       "0" // & ! 20
+       "1" // & ! 21
+       "2" // & ! 22
+       "3" // & ! 23
+       "4" // & ! 24
+       "5" // & ! 25
+       "6" // & ! 26
+       "7" // & ! 27
+       "8" // & ! 28
+       "9" // & ! 29
+       "0" // & ! 30
+       "1" // & ! 31
+       "2" // & ! 32
+       "3" // & ! 33
+       "4" // & ! 34
+       "5" // & ! 35
+       "6" // & ! 36
+       "7" // & ! 37
+       "8" // & ! 38
+       "9" // & ! 39
+       "0" // & ! 200
+       "1" // & !  1
+       "2" // & !  2
+       "3" // & !  3
+       "4" // & !  4
+       "5" // & !  5
+       "6" // & !  6
+       "7" // & !  7
+       "8" // & !  8
+       "9" // & !  9
+       "0" // & ! 10
+       "1" // & ! 11
+       "2" // & ! 12
+       "3" // & ! 13
+       "4" // & ! 14
+       "5" // & ! 15
+       "6" // & ! 16
+       "7" // & ! 17
+       "8" // & ! 18
+       "9" // & ! 19
+       "0" // & ! 20
+       "1" // & ! 21
+       "2" // & ! 22
+       "3" // & ! 23
+       "4" // & ! 24
+       "5" // & ! 25
+       "6" // & ! 26
+       "7" // & ! 27
+       "8" // & ! 28
+       "9" // & ! 29
+       "0" // & ! 30
+       "1" // & ! 31
+       "2" // & ! 32
+       "3" // & ! 33
+       "4" // & ! 34
+       "5" // & ! 35
+       "6" // & ! 36
+       "7" // & ! 37
+       "8" // & ! 38
+       "9" // & ! 39
+       "0" // & ! 240
+       "1" // & !  1
+       "2" // & !  2
+       "3" // & !  3
+       "4" // & !  4
+       "5" // & !  5
+       "6" // & !  6
+       "7" // & !  7
+       "8" // & !  8
+       "9" // & !  9
+       "0" // & ! 10
+       "1" // & ! 11
+       "2" // & ! 12
+       "3" // & ! 13
+       "4" // & ! 14
+       "5" // & ! 255
+       "0" ! No warning with -std=f2023
+end
diff --git a/gcc/testsuite/gfortran.dg/continuation_19.f b/gcc/testsuite/gfortran.dg/continuation_19.f
new file mode 100644 (file)
index 0000000..2b32a33
--- /dev/null
@@ -0,0 +1,267 @@
+! { dg-do run }
+! { dg-options "-std=f2023" }
+
+      implicit none
+      integer :: x
+
+      ! 256 continuation lines - but less than 1,000,000 character
+      ! => Valid since Fortran 2023
+      x =
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+     & + 2
+
+      end
index 15ef3f513aeb02892d12f29f47eac2ac9051413e..101e026701d66154b2f2fb904d9136fecb6fee1f 100644 (file)
@@ -1,4 +1,5 @@
 ! { dg-do compile }
+! { dg-additional-options "-std=f2018" }
 ! PR fortran/97390
 !
 integer :: tempRbuffer, array, compactHaloInfo, dimsizes, nHaloLayers, gpu_nList_send, gpu_idx_send, gpu_bufferOffset_send, counter
index 86d7eb27b3077217af97e36aebfc23f6971a9984..20cd0449b9aa5007870b31e4545e10a9947c36a6 100644 (file)
@@ -1,4 +1,5 @@
 ! { dg-do compile }
+! { dg-additional-options "-std=f2018" }
 !
 ! PR fortran/94709
 !
index 390e9a1635814393e8fe1d3d05f67da40e7a35b2..c244172e16283b3f55c052d5c0285a7678b61fbf 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-! { dg-options "-Wno-line-truncation" }
+! { dg-options "-std=f2018 -Wno-line-truncation" }
 !
 ! By default, for free-form source code: Error out
 ! But due to the explicit -Wno-line-truncation, compile w/o warning
index 67f1e29a0ebf03555a155b60be2636e3dc81d50a..2125f5458eaae0873fb81a8e0f903b1ef52f3a18 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-! { dg-options "-Wno-all" }
+! { dg-options "-Wno-all -std=f2018" }
 !
 ! By default, for free-form source code: Error out
 ! But due to the explicit -Wno-all, compile w/o warning
diff --git a/gcc/testsuite/gfortran.dg/line_length_12.f90 b/gcc/testsuite/gfortran.dg/line_length_12.f90
new file mode 100644 (file)
index 0000000..c8a935a
--- /dev/null
@@ -0,0 +1,31 @@
+! { dg-do compile }
+! { dg-additional-options "-std=f2018" }
+! { dg-prune-output "some warnings being treated as errors" }
+!
+! In Fortran 2018, the linelength is    132 characters.   <<<  Test this.
+! In Fortran 2023, the linelength is 10,000 characters.
+
+implicit none
+integer :: a, b, c, d
+
+a =  & ! The next line has 9,999 characters -> OK
+   1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3        +4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 + 42
+
+! { dg-error "Line truncated at .1. \\\[-Werror=line-truncation\\\]" "" { target *-*-* } .-2 }
+
+b =  & ! The next line has 10,000 characters -> OK
+   1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3        +4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +  42
+
+! { dg-error "Line truncated at .1. \\\[-Werror=line-truncation\\\]" "" { target *-*-* } .-2 }
+
+c =  & ! The next line has 10,001 characters -> TOO LONG
+   1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3        +4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 + 4242
+
+! { dg-error "Line truncated at .1. \\\[-Werror=line-truncation\\\]" "" { target *-*-* } .-2 }
+
+d =  & ! The next line has 10,002 characters -> TOO LONG
+   1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3        +4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 + 42424
+
+! { dg-error "Line truncated at .1. \\\[-Werror=line-truncation\\\]" "" { target *-*-* } .-2 }
+
+end 
diff --git a/gcc/testsuite/gfortran.dg/line_length_13.f90 b/gcc/testsuite/gfortran.dg/line_length_13.f90
new file mode 100644 (file)
index 0000000..861eeb9
--- /dev/null
@@ -0,0 +1,27 @@
+! { dg-do compile }
+! { dg-additional-options "-std=f2023" }
+! { dg-prune-output "some warnings being treated as errors" }
+!
+! In Fortran 2018, the linelength is    132 characters.
+! In Fortran 2023, the linelength is 10,000 characters.   <<<  Test this.
+
+implicit none
+integer :: a, b, c, d
+
+a =  & ! The next line has 9,999 characters -> OK
+   1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3        +4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 + 42
+
+b =  & ! The next line has 10,000 characters -> OK
+   1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3        +4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +  42
+
+c =  & ! The next line has 10,001 characters -> TOO LONG
+   1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3        +4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 + 4242
+
+! { dg-error "Line truncated at .1. \\\[-Werror=line-truncation\\\]" "" { target *-*-* } .-2 }
+
+d =  & ! The next line has 10,002 characters -> TOO LONG
+   1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3        +4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 +       1 +       2 +       3 +       4 +       5 +       6 +       7 +       8 +       9 +      10 + 42424
+
+! { dg-error "Line truncated at .1. \\\[-Werror=line-truncation\\\]" "" { target *-*-* } .-2 }
+
+end 
index e1ab7220d03c058e9ee9035280556c16a9c8d2da..ff44d882257f7af5de892dc718f7830e7e40ff7a 100644 (file)
@@ -1,7 +1,7 @@
 ! Testcase for -ffree-line-length-none
 ! See PR fortran/21302
 ! { dg-do compile }
-! { dg-options "-ffree-line-length-none" }
+! { dg-options "-ffree-line-length-none -std=f2018" }
 program two
  if (abs(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa).gt.999.d0.or.abs(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb).gt.999.d0.or.abs(cccccccccccccccccccc).gt.999.d0) THEN
  endif
index 81832451ea24aafca35ca16877c03d2566b8b89a..ba9f2850b077918f2fb39d8077223ad20f32d4e0 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-! { dg-options "-Wline-truncation" }
+! { dg-options "-std=f2018 -Wline-truncation" }
 print *, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
 end 
 ! { dg-error "Line truncated" " " { target *-*-* } 3 }
index 8cdb02099814617cf39d344630a1a2870a4684d5..a88e2d247c0881f5e1f0c6826cf24d5e0450810f 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-! { dg-options "" }
+! { dg-options "-std=f2018" }
 !
 ! By default, for free-form source code: Error out
 !
index b4ebf49c4bffa67bfb7b3cc27827540e55cb7e8f..6c6d73b01c3374ec907fa1b0b9e92064f5c754ff 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-! { dg-options "-Wno-error" }
+! { dg-options "-std=f2018 -Wno-error" }
 !
 ! By default, for free-form source code: Error out
 ! But due to -Wno-error, we only expect a warning
index afd6cc2df46e50e158eb9b64690766e6511efe40..822b09e803a11ff8da0eaa0bbd6e612345a853b3 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-! { dg-options "-Wline-truncation" }
+! { dg-options "-std=f2018 -Wline-truncation" }
 !
 ! By default, for free-form source code: Error out
 ! Even with -Wline-truncation, we still get an error
index 6c156afc1449927f4ff6dbd46f866635b34b9a0d..9f07d9a588ebf781ab7250ff096764b956948c75 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-! { dg-options "-Wall" }
+! { dg-options "-std=f2018 -Wall" }
 !
 ! By default, for free-form source code: Error out
 ! Even with -Wall, we still get an error