Clarification: should namelist-group-name start in column one or column two on output?

When NAMELIST group outputs from various platforms is compared to section (13.11.4.3) of the standard it seems that many begin the namelist-group-name in column two. Lines 7-9 imply the namelist-group-name should start in column 1 but lines 11-12 seem contradictory because taken by themselves they unconditionally state output should begin past column one, unless 7-9 supercedes 11-12.

So for clarification does 11-12 only refer to subsequent lines following the line containing the namelist-group-name (see gfortran output) or does 11-12 apply to all output lines?

There are a lot of other issues with NAMELIST output on many platforms I would like to get to reporting but this seems like an easy one to conform to if clarified.

     13.11.4.3  Namelist output records

      2      If two or more successive values for the same namelist-group-object in an output record produced have identical
      3      values, the processor has the option of producing a repeated constant of the form r*c instead of the sequence of
      4      identical values.

      5      The name of each namelist-group-object is placed in the output record followed by an equals and a list of values
      6      of that namelist-group-object.

      7      An ampersand character followed immediately by a namelist-group-name is placed at the start of the first output
      8      record to indicate which particular group of data objects is being output. A slash is placed in the output record
      9      to indicate the end of the namelist formatting.

     10      A null value is not produced by namelist formatting.

     11      Except for new records created by explicit formatting within a defined output procedure or by continuation of
     12      delimited character sequences, each output record begins with a blank character.

Before NAMELIST was standardized several implementations required &NAME to begin in column 1 on input, so that seemed like the likely interpretation but the standardized version seems quite liberal about whitespace on input, so the requirement that the output of intrinsics except for character variables (when DELIM=‘NONE’) be readable as input does not clarify whether column 1 must always be clear on output or not.

Split strings appear to unconditionally use column 1 and defined output for user types appears to be able to optionally use it so it does not appear there was an attempt to keep column 1 completely clear, which makes it even less clear what the requirement is in my mind.

&NAMELIST-GROUP-NAME ...
 NAME=VALUE
 NAME=VALUE
 \

or

 &NAMELIST-GROUP-NAME ...
 NAME=VALUE
 NAME=VALUE
 \

Fortran source

click to see more...
program nml_quotes_bug
use, intrinsic :: iso_fortran_env, only : stderr=>ERROR_UNIT, stdout=>OUTPUT_UNIT
implicit none
integer,parameter  :: unit = 10
character(len=256) :: iomsg
character(len=20)  :: msg
integer            :: iostat
integer            :: i
integer            :: ints(100)
namelist /nums/ msg, ints
character(len=*),parameter :: g='(*(g0))'
character(len=80)  :: delim
integer            :: recl
character(len=*),parameter :: file(*)=[ character(len=132) :: &
'  step                                                    ', &
'&nums msg="step",ints=8*0,ints(1:8:2)=1,3,5,7 /           ', &
'  negative step                                           ', &
'&nums msg="negative step",ints=8*0,ints(8:1:-2)=1,3,5,7 / ', &
' ' ]

   inquire(unit=stdout,delim=delim,recl=recl)
   write(stdout,g)'DELIM:',trim(delim),':RECL:',recl

   !open (unit=stdout ,delim="quote" ) ! APOSTROPHE, QUOTE, or NONE
   !inquire(unit=stdout,delim=delim,recl=recl)
   !write(stdout,g)'DELIM:',trim(delim),':RECL:',recl

   open (unit ,file="tst.nml" )
   write(unit,'(a)')(trim(file(i)),i=1,size(file))
   rewind(unit)

   do i=1,huge(0)-1
      write(stdout,g)repeat('1234567890',10)
      write(stdout,g)'case',i,' ',repeat('=',79)
      ints=(-1)-huge(0)
      read (unit ,nml=nums,end=999,iomsg=iomsg,iostat=iostat)
      if(iostat.ne.0)then
         write(stdout,g)'<ERROR>',trim(iomsg)
      else
         write(stdout,nml=nums)
         msg='delimiter: '''
         write(stdout,nml=nums,delim='apostrophe')
         msg='delimiter: "'
         write(stdout,nml=nums,delim='quote')
         msg='delimiter: none'
         write(stdout,nml=nums,delim='none')
      endif
   enddo
   999 continue
   close(unit ,status="delete")
   stop 'That''s all Folks!'
end program nml_quotes_bug

compiler aoccflang520

  • NAMELIST-GROUP_OBJECT STARTS IN COLUMN 2
  • DOES NOT ALLOW NEGATIVE SUBSCRIPTS
  • ERROR MESSAGE IS PADDED WITH NULLS
click to see output...
++ cexpl -c aoccflang520 --skip-asm '--cflags=-cpp -DCOMPILER_=aoccflang520' -e simple.f90
aoccflang520         :     1	STDOUT:
aoccflang520         :     2	DELIM:NONE:RECL:0
aoccflang520         :     3	1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
aoccflang520         :     4	case1 ===============================================================================
aoccflang520         :     5	 &NUMS
aoccflang520         :     6	 MSG = step                ,
aoccflang520         :     7	 INTS =            1,
aoccflang520         :     8	                   0,
aoccflang520         :     9	                   3,
aoccflang520         :    10	                   0,
aoccflang520         :    11	                   5,
aoccflang520         :    12	                   0,
aoccflang520         :    13	                   7,
aoccflang520         :    14	                   0,
aoccflang520         :    15	         -2147483648,
aoccflang520         :    16	         -2147483648,
aoccflang520         :    17	         -2147483648,
aoccflang520         :    18	         -2147483648,
aoccflang520         :    19	         -2147483648,
                                   :
                                   :
aoccflang520         :   105	         -2147483648,
aoccflang520         :   106	         -2147483648
aoccflang520         :   107	 /
aoccflang520         :   108	 &NUMS
aoccflang520         :   109	 MSG = 'delimiter: ''        ',
aoccflang520         :   110	 INTS =            1,
aoccflang520         :   111	                   0,
aoccflang520         :   112	                   3,
aoccflang520         :   113	                   0,
aoccflang520         :   114	                   5,
aoccflang520         :   115	                   0,
aoccflang520         :   116	                   7,
aoccflang520         :   117	                   0,
aoccflang520         :   118	         -2147483648,
aoccflang520         :   119	         -2147483648,
                                   :
                                   :
aoccflang520         :   208	         -2147483648,
aoccflang520         :   209	         -2147483648
aoccflang520         :   210	 /
aoccflang520         :   211	 &NUMS
aoccflang520         :   212	 MSG = "delimiter: ""        ",
aoccflang520         :   213	 INTS =            1,
aoccflang520         :   214	                   0,
aoccflang520         :   215	                   3,
aoccflang520         :   216	                   0,
aoccflang520         :   217	                   5,
aoccflang520         :   218	                   0,
aoccflang520         :   219	                   7,
aoccflang520         :   220	                   0,
aoccflang520         :   221	         -2147483648,
aoccflang520         :   222	         -2147483648,
aoccflang520         :   223	         -2147483648,
                                   :
                                   :
aoccflang520         :   311	         -2147483648,
aoccflang520         :   312	         -2147483648
aoccflang520         :   313	 /
aoccflang520         :   314	 &NUMS
aoccflang520         :   315	 MSG = delimiter: none     ,
aoccflang520         :   316	 INTS =            1,
aoccflang520         :   317	                   0,
aoccflang520         :   318	                   3,
aoccflang520         :   319	                   0,
aoccflang520         :   320	                   5,
aoccflang520         :   321	                   0,
aoccflang520         :   322	                   7,
aoccflang520         :   323	                   0,
aoccflang520         :   324	         -2147483648,
aoccflang520         :   325	         -2147483648,
                                   :
                                   :
aoccflang520         :   415	         -2147483648
aoccflang520         :   416	 /
aoccflang520         :   417	1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
aoccflang520         :   418	case2 ===============================================================================
aoccflang520         :   419	<ERROR>illegal subscript or substring specification^@^@^@^@^@^@^@^@^@^@^@^@^@^
aoccflang520         :   420	1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
aoccflang520         :   421	case3 ===============================================================================
aoccflang520         :   422	STDERR:
aoccflang520         :   423	That's all Folks!

compiler flangtrunk

  • NAMELIST-GROUP_OBJECT STARTS IN COLUMN 2
click to see output...
++ cexpl -c flangtrunk --skip-asm --cflags= -e simple.f90
flangtrunk           :     1	STDOUT:
flangtrunk           :     2	DELIM:NONE:RECL:2147483647
flangtrunk           :     3	1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
flangtrunk           :     4	case1 ===============================================================================
flangtrunk           :     5	 &NUMS MSG= step                ,INTS= 1 0 3 0 5 0 7 0 -2147483648 -2147483648
flangtrunk           :     6	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
                                   :
                                   :
flangtrunk           :    19	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
flangtrunk           :    20	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648/
flangtrunk           :    21	 &NUMS MSG= 'delimiter: ''        ',INTS= 1 0 3 0 5 0 7 0 -2147483648
flangtrunk           :    22	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
                                   :
                                   :
flangtrunk           :    36	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
flangtrunk           :    37	 -2147483648/
flangtrunk           :    38	 &NUMS MSG= "delimiter: ""        ",INTS= 1 0 3 0 5 0 7 0 -2147483648
flangtrunk           :    39	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
flangtrunk           :    40	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
                                   :
                                   :
flangtrunk           :    53	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
flangtrunk           :    54	 -2147483648/
flangtrunk           :    55	 &NUMS MSG= delimiter: none     ,INTS= 1 0 3 0 5 0 7 0 -2147483648 -2147483648
flangtrunk           :    56	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
flangtrunk           :    57	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
                                   :
                                   :
flangtrunk           :    69	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
flangtrunk           :    70	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648/
flangtrunk           :    71	1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
flangtrunk           :    72	case2 ===============================================================================
flangtrunk           :    73	 &NUMS MSG= negative step       ,INTS= 0 7 0 5 0 3 0 1 -2147483648 -2147483648
flangtrunk           :    74	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
flangtrunk           :    75	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
                                   :
                                   :
flangtrunk           :    87	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
flangtrunk           :    88	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648/
flangtrunk           :    89	 &NUMS MSG= 'delimiter: ''        ',INTS= 0 7 0 5 0 3 0 1 -2147483648
flangtrunk           :    90	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
flangtrunk           :    91	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
                                   :
                                   :
flangtrunk           :   104	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
flangtrunk           :   105	 -2147483648/
flangtrunk           :   106	 &NUMS MSG= "delimiter: ""        ",INTS= 0 7 0 5 0 3 0 1 -2147483648
flangtrunk           :   107	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
flangtrunk           :   108	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
                                   :
                                   :
flangtrunk           :   121	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
flangtrunk           :   122	 -2147483648/
flangtrunk           :   123	 &NUMS MSG= delimiter: none     ,INTS= 0 7 0 5 0 3 0 1 -2147483648 -2147483648
flangtrunk           :   124	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
flangtrunk           :   125	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
                                   :
                                   :
flangtrunk           :   137	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648
flangtrunk           :   138	 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 -2147483648/
flangtrunk           :   139	1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
flangtrunk           :   140	case3 ===============================================================================
flangtrunk           :   141	STDERR:
flangtrunk           :   142	Fortran STOP: That's all Folks!

compiler fppc64g9

click to see output...
++ cexpl -c fppc64g9 --skip-asm '--cflags=-cpp -DCOMPILER_=fppc64g9' -e simple.f90

compiler fppc64leg9

click to see output...
++ cexpl -c fppc64leg9 --skip-asm '--cflags=-cpp -DCOMPILER_=fppc64leg9' -e simple.f90

compiler ifxlatest

  • NAMELIST-GROUP_OBJECT STARTS IN COLUMN 2
click to see output...
++ cexpl -c ifxlatest --skip-asm '--cflags=-fpp -warn all -check all,nouninit -error-limit 1 -O0 -g -assume byterecl -traceback -DCOMPILER_=ifxlatest' -e simple.f90
ifxlatest            :     1	STDOUT:
ifxlatest            :     2	DELIM:NONE:RECL:132
ifxlatest            :     3	1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
ifxlatest            :     4	case1 ===============================================================================
ifxlatest            :     5	 &NUMS
ifxlatest            :     6	 MSG     = step                ,
ifxlatest            :     7	 INTS    =           1,           0,           3,           0,           5,           0,           7,           0,
ifxlatest            :     8	  92*-2147483648
ifxlatest            :     9	 /
ifxlatest            :    10	 &NUMS
ifxlatest            :    11	 MSG     = 'delimiter: ''        ',
ifxlatest            :    12	 INTS    =           1,           0,           3,           0,           5,           0,           7,           0,
ifxlatest            :    13	  92*-2147483648
ifxlatest            :    14	 /
ifxlatest            :    15	 &NUMS
ifxlatest            :    16	 MSG     = "delimiter: ""        ",
ifxlatest            :    17	 INTS    =           1,           0,           3,           0,           5,           0,           7,           0,
ifxlatest            :    18	  92*-2147483648
ifxlatest            :    19	 /
ifxlatest            :    20	 &NUMS
ifxlatest            :    21	 MSG     = delimiter: none     ,
ifxlatest            :    22	 INTS    =           1,           0,           3,           0,           5,           0,           7,           0,
ifxlatest            :    23	  92*-2147483648
ifxlatest            :    24	 /
ifxlatest            :    25	1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
ifxlatest            :    26	case2 ===============================================================================
ifxlatest            :    27	 &NUMS
ifxlatest            :    28	 MSG     = negative step       ,
ifxlatest            :    29	 INTS    =           0,           7,           0,           5,           0,           3,           0,           1,
ifxlatest            :    30	  92*-2147483648
ifxlatest            :    31	 /
ifxlatest            :    32	 &NUMS
ifxlatest            :    33	 MSG     = 'delimiter: ''        ',
ifxlatest            :    34	 INTS    =           0,           7,           0,           5,           0,           3,           0,           1,
ifxlatest            :    35	  92*-2147483648
ifxlatest            :    36	 /
ifxlatest            :    37	 &NUMS
ifxlatest            :    38	 MSG     = "delimiter: ""        ",
ifxlatest            :    39	 INTS    =           0,           7,           0,           5,           0,           3,           0,           1,
ifxlatest            :    40	  92*-2147483648
ifxlatest            :    41	 /
ifxlatest            :    42	 &NUMS
ifxlatest            :    43	 MSG     = delimiter: none     ,
ifxlatest            :    44	 INTS    =           0,           7,           0,           5,           0,           3,           0,           1,
ifxlatest            :    45	  92*-2147483648
ifxlatest            :    46	 /
ifxlatest            :    47	1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
ifxlatest            :    48	case3 ===============================================================================
ifxlatest            :    49	STDERR:
ifxlatest            :    50	That's all Folks!

compiler lfortran0590

  • RUNTIME ERROR (NAMELIST probably not supported yet?)
click to see output...
++ cexpl -c lfortran0590 --skip-asm '--cflags=--no-style-suggestions --cpp -DCOMPILER_=lfortran0590' -e simple.f90
lfortran0590         :     1	STDOUT:
lfortran0590         :     2	DELIM:
lfortran0590         :     3	1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
lfortran0590         :     4	case1 ===============================================================================
lfortran0590         :     5	STDERR:
lfortran0590         :     6	warning: `--generate-object-code` is deprecated and will be removed in a future release; use `--separate-compilation` instead.
lfortran0590         :     7	warning: `--generate-object-code` is deprecated and will be removed in a future release; use `--separate-compilation` instead.
lfortran0590         :     8	Runtime Error: Format mismatch between OPEN statement and WRITE statement on unit 6.

compiler nvfortran_x86_26_3

  • NAMELIST-GROUP_OBJECT STARTS IN COLUMN 2
  • DOES NOT ALLOW NEGATIVE SUBSCRIPTS
  • ERROR MESSAGE IS PADDED WITH NULLS
click to see output...
++ cexpl -c nvfortran_x86_26_3 --skip-asm '--cflags=-Mbackslash -Mpreprocess -DCOMPILER_=nvfortran_x86_26_3' -e simple.f90
nvfortran_x86_26_3   :     1	STDOUT:
nvfortran_x86_26_3   :     2	DELIM:NONE:RECL:-1438808240
nvfortran_x86_26_3   :     3	1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
nvfortran_x86_26_3   :     4	case1 ===============================================================================
nvfortran_x86_26_3   :     5	 &NUMS
nvfortran_x86_26_3   :     6	 MSG = step                ,
nvfortran_x86_26_3   :     7	 INTS =            1,
nvfortran_x86_26_3   :     8	                   0,
nvfortran_x86_26_3   :     9	                   3,
nvfortran_x86_26_3   :    10	                   0,
nvfortran_x86_26_3   :    11	                   5,
nvfortran_x86_26_3   :    12	                   0,
nvfortran_x86_26_3   :    13	                   7,
nvfortran_x86_26_3   :    14	                   0,
nvfortran_x86_26_3   :    15	         -2147483648,
nvfortran_x86_26_3   :    16	         -2147483648,
                                   :
                                   :
nvfortran_x86_26_3   :   105	         -2147483648,
nvfortran_x86_26_3   :   106	         -2147483648
nvfortran_x86_26_3   :   107	 /
nvfortran_x86_26_3   :   108	 &NUMS
nvfortran_x86_26_3   :   109	 MSG = 'delimiter: ''        ',
nvfortran_x86_26_3   :   110	 INTS =            1,
nvfortran_x86_26_3   :   111	                   0,
nvfortran_x86_26_3   :   112	                   3,
nvfortran_x86_26_3   :   113	                   0,
nvfortran_x86_26_3   :   114	                   5,
nvfortran_x86_26_3   :   115	                   0,
nvfortran_x86_26_3   :   116	                   7,
nvfortran_x86_26_3   :   117	                   0,
nvfortran_x86_26_3   :   118	         -2147483648,
nvfortran_x86_26_3   :   119	         -2147483648,
nvfortran_x86_26_3   :   120	         -2147483648,
nvfortran_x86_26_3   :   121	         -2147483648,
                                   :
                                   :
nvfortran_x86_26_3   :   208	         -2147483648,
nvfortran_x86_26_3   :   209	         -2147483648
nvfortran_x86_26_3   :   210	 /
nvfortran_x86_26_3   :   211	 &NUMS
nvfortran_x86_26_3   :   212	 MSG = "delimiter: ""        ",
nvfortran_x86_26_3   :   213	 INTS =            1,
nvfortran_x86_26_3   :   214	                   0,
nvfortran_x86_26_3   :   215	                   3,
nvfortran_x86_26_3   :   216	                   0,
nvfortran_x86_26_3   :   217	                   5,
nvfortran_x86_26_3   :   218	                   0,
nvfortran_x86_26_3   :   219	                   7,
nvfortran_x86_26_3   :   220	                   0,
nvfortran_x86_26_3   :   221	         -2147483648,
nvfortran_x86_26_3   :   222	         -2147483648,
nvfortran_x86_26_3   :   223	         -2147483648,
                                   :
                                   :
nvfortran_x86_26_3   :   311	         -2147483648,
nvfortran_x86_26_3   :   312	         -2147483648
nvfortran_x86_26_3   :   313	 /
nvfortran_x86_26_3   :   314	 &NUMS
nvfortran_x86_26_3   :   315	 MSG = delimiter: none     ,
nvfortran_x86_26_3   :   316	 INTS =            1,
nvfortran_x86_26_3   :   317	                   0,
nvfortran_x86_26_3   :   318	                   3,
nvfortran_x86_26_3   :   319	                   0,
nvfortran_x86_26_3   :   320	                   5,
nvfortran_x86_26_3   :   321	                   0,
nvfortran_x86_26_3   :   322	                   7,
nvfortran_x86_26_3   :   323	                   0,
nvfortran_x86_26_3   :   324	         -2147483648,
nvfortran_x86_26_3   :   325	         -2147483648,
nvfortran_x86_26_3   :   326	         -2147483648,
                                   :
                                   :
nvfortran_x86_26_3   :   413	         -2147483648,
nvfortran_x86_26_3   :   414	         -2147483648,
nvfortran_x86_26_3   :   415	         -2147483648
nvfortran_x86_26_3   :   416	 /
nvfortran_x86_26_3   :   417	1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
nvfortran_x86_26_3   :   418	case2 ===============================================================================
nvfortran_x86_26_3   :   419	<ERROR>illegal subscript or substring specification^@^@^@^@^@^@^@^@^@
nvfortran_x86_26_3   :   420	1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
nvfortran_x86_26_3   :   421	case3 ===============================================================================
nvfortran_x86_26_3   :   422	STDERR:
nvfortran_x86_26_3   :   423	That's all Folks!

compiler gfortran161

  • OUTPUT QUOTED WHEN DELIM=‘NONE’
  • NULL VALUE WHEN DELIM=‘NONE’
click to see output...
++ cexpl -c gfortran161 --skip-asm '--cflags=-cpp -Wall -Wextra -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -DCOMPILER_=gfortran161' -e simple.f90
gfortran161          :     1	STDOUT:
gfortran161          :     2	DELIM:NONE:RECL:2147483647
gfortran161          :     3	1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
gfortran161          :     4	case1 ===============================================================================
gfortran161          :     5	&NUMS
gfortran161          :     6	 MSG="step                ",
gfortran161          :     7	 INTS=1          ,0          ,3          ,0          ,5          ,
gfortran161          :     8	 0          ,7          ,0          , 92*-2147483648,
gfortran161          :     9	 /
gfortran161          :    10	&NUMS
gfortran161          :    11	 MSG='delimiter: ''        ',
gfortran161          :    12	 INTS=1          ,0          ,3          ,0          ,5          ,
gfortran161          :    13	 0          ,7          ,0          , 92*-2147483648,
gfortran161          :    14	 /
gfortran161          :    15	&NUMS
gfortran161          :    16	 MSG="delimiter: ""        ",
gfortran161          :    17	 INTS=1          ,0          ,3          ,0          ,5          ,
gfortran161          :    18	 0          ,7          ,0          , 92*-2147483648,
gfortran161          :    19	 /
gfortran161          :    20	&NUMS
gfortran161          :    21	 MSG=delimiter: none     
gfortran161          :    22	 INTS=1          ,0          ,3          ,0          ,5          ,,
gfortran161          :    23	 0          ,7          ,0          , 92*-2147483648,
gfortran161          :    24	 /
gfortran161          :    25	1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
gfortran161          :    26	case2 ===============================================================================
gfortran161          :    27	&NUMS
gfortran161          :    28	 MSG="negative step       ",
gfortran161          :    29	 INTS=0          ,7          ,0          ,5          ,0          ,
gfortran161          :    30	 3          ,0          ,1          , 92*-2147483648,
gfortran161          :    31	 /
gfortran161          :    32	&NUMS
gfortran161          :    33	 MSG='delimiter: ''        ',
gfortran161          :    34	 INTS=0          ,7          ,0          ,5          ,0          ,
gfortran161          :    35	 3          ,0          ,1          , 92*-2147483648,
gfortran161          :    36	 /
gfortran161          :    37	&NUMS
gfortran161          :    38	 MSG="delimiter: ""        ",
gfortran161          :    39	 INTS=0          ,7          ,0          ,5          ,0          ,
gfortran161          :    40	 3          ,0          ,1          , 92*-2147483648,
gfortran161          :    41	 /
gfortran161          :    42	&NUMS
gfortran161          :    43	 MSG=delimiter: none     
gfortran161          :    44	 INTS=0          ,7          ,0          ,5          ,0          ,,
gfortran161          :    45	 3          ,0          ,1          , 92*-2147483648,
gfortran161          :    46	 /
gfortran161          :    47	1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
gfortran161          :    48	case3 ===============================================================================
gfortran161          :    49	STDERR:
gfortran161          :    50	STOP That's all Folks!