The following 15 patches constitute 134,033 lines of code in 97 files
to build and document the COBOL front end.  The messages are
grouped by files in a more or less logical order. We have:

      4K dir  create gcc/cobol and libgcobol directories
      8K pre  introduce ChangeLog files
     92K bld  config and build machinery
    436K cfg  libgcobol/configure
    380K hdr  header files
    156K lex  lexer
    492K par  parser
    360K cbl  parser support
    532K api  GENERIC interface
    252K gen  GENERIC interface support
     72K doc  man pages and GnuCOBOL emulation
     24K pos  Posix adapter framework
     84K lhd  libgcobol header files
    480K lib  libgcobol support
    384K lcc  libgcobol, main file

Except for "lib", patches over 400 KB consist of just one big file. 

They are against the master branch as of 

        commit 3e08a4ecea27c54fda90e8f58641b1986ad957e1
        Date:   Wed Feb 5 14:22:33 2025 -0700

Our repository is 

        https://gitlab.cobolworx.com/COBOLworx/gcc-cobol/

using branch

        cobol-stage

I tested these patches using "git apply" to an unpublished branch
"cobol-patched". I will push it on request.  There are some whitespace
warnings that I understand, and some I do not.  There is no trailing
whitespace, and tabs occur only in lex/yacc files.

I have endeavored to address all the issues raised in Round 1.  In
particular: 

1.  The patches are against a recent commit.
2.  Generated files use Autoconf 2.69.
3.  Flex and Bison outputs respect --enable-generated-files-in-srcdir.
    We use the gcc FLEX and BISON make variables. 
4.  Documentation is generated as HTML and PDF. 
5.  Python machinery has been patched to add 'cobol' 
6.  ChangeLogs !
7.  libgcobol builds independent of gcc/cobol.  The library does not use
    compiler header files.  Shared information is maintained in library
    headers. 
8.  --enable-languages=all works. gcobol supports x86_64 and aarch64
    (so far, for now). For unsupported targets, configure reports
    gcobol is not built.  We have built with multilib enabled and
    from bootstrap. 
9.  Diagnostic messages go through the diagnostic framework, and report
    the location, including the column. 
10. Use xasprintf & friends from libiberty. Removed PATH_MAX. 

Still to come: 

11. Enumerated warnings in cobol/lang.opt. 
12. texinfo update to describe gcobol
13. cross-compilation

This patchset still excludes tests. I will supply tests separately.
Simplest I think is to use the NIST test suite, assuming the code and
documentation passes legal muster. 

I want to thank David and Matthias for their patches, which are
incorporated.  My thanks too to the many people contributed invaluable
advice and offered encouragement. 

I remain obdurately hopeful the COBOL front end will be deemed ready
for gcc-15. The von Clausewitz test of any compiler is the real world.
Users kicking the tires push us to improve the compiler in ways that
are are practical to them. (Several features are now pending while we
strive to meet reviewers' concerns.)  To that end, I have also prepared
release notes for the www repository under separate cover.

Thank you for your kind consideration of our work.

--jkl

Reply via email to