https://gcc.gnu.org/g:7c1bac598a3440bf3c3c9f47dac88912ae2bd492

commit r17-5349-g7c1bac598a3440bf3c3c9f47dac88912ae2bd492
Author: James K. Lowden <[email protected]>
Date:   Mon Oct 19 10:18:16 2026 -0400

    cobol: WIP, support I/O plug and change ADVANCING default.
    
    gcc/cobol/ChangeLog:
    
            * parse.y: For SEQUENTIAL, default to AFTER ADVANCING 1 LINE.
    
    libgcobol/ChangeLog:
    
            * gfileio.cc (__gg__file_io_funcs): New public function.
            (__gg__file_remove): Whitespace.

Diff:
---
 gcc/cobol/parse.y    | 5 ++++-
 libgcobol/gfileio.cc | 6 +++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/gcc/cobol/parse.y b/gcc/cobol/parse.y
index 243a56e0300b..8e63105cc688 100644
--- a/gcc/cobol/parse.y
+++ b/gcc/cobol/parse.y
@@ -9195,8 +9195,11 @@ write_body:     write_what[field] advance_when[when] 
advancing
                     YYERROR;
                   }
                  cbl_refer_t lines;
+                  bool after = false;
                   switch(file->org) {
                   case file_sequential_e:
+                    after = true;
+                    lines.field = literally_zero;
                     break;
                   case file_line_sequential_e:
                     lines.field = literally_one;
@@ -9206,7 +9209,7 @@ write_body:     write_what[field] advance_when[when] 
advancing
                   case file_relative_e:
                     break;
                   }
-                  $$ = file_write_args.init( file, $field, false, &lines );
+                  $$ = file_write_args.init( file, $field, after, &lines );
                 }
                 ;
 write_what:     file_record FROM alpha_val[input]
diff --git a/libgcobol/gfileio.cc b/libgcobol/gfileio.cc
index af68ec75a174..b898cca10aab 100644
--- a/libgcobol/gfileio.cc
+++ b/libgcobol/gfileio.cc
@@ -5493,6 +5493,11 @@ gcobol_io_funcs() {
   return gcobol_io;
 }
 
+gcobol_io_t *
+__gg__file_io_funcs() {
+  return gcobol_io_funcs();
+}
+
 extern "C"
 void
 __gg__file_open(cblc_file_t *file,
@@ -5576,4 +5581,3 @@ __gg__file_remove(      cblc_file_t *file,
   }
 
 /* end interface functions */
-

Reply via email to