The following 14 patches constitute 105,720 lines of code in 83 files to build and document the COBOL front end. The messages are in a more or less logical order. We have:
1/14 4K dir: create gcc/cobol and libgcobol directories 2/14 8K pre: introduce ChangeLog files 3/14 80K bld: config and build machinery 4/14 376K hdr: header files 5/14 152K lex: lexer 6/14 476K par: parser 7/14 344K cbl: parser support 8/14 516K api: GENERIC interface 9/14 244K gen: GENERIC interface support 10/14 72K doc: man pages and GnuCOBOL emulation 11/14 84K lhd: libgcobol header files 12/14 320K lib: libgcobol support 13/14 372K lcc: libgcobol, main file 14/14 148K fun: libgcobol, intrinsic functions To slide under the 400 KB limit, the intrinsic functions now have their own patch. The configure files are removed, as is the Posix adapter framework. They are still 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". We have endeavored to address all must-fix issues raised in Round 2. 1. Generated files use Autoconf 2.69 2. Commit message matches mail Subject: line 3. Various problems with Make-lang.in and cobol1.cc 4. s/assert(false)/gcc_unreachable()/g 5. Nixed range-based cases 6. Removed Posix adapter files & generated configure scripts 7. Explained memory-management engineering choice 8. s/option_id/option_zero/g, for clarity 9. GTY issues 10. Require only C++14 (not 17) 11. Moved #include <math.h> 12. Check regex buffer bounds outside gcc_assert Still to do (no particular order): 13. Try SARIF options 14. Do not compose messages (I18N). 15. Try valgrind for memory report 16. Review https://github.com/cooljeanius/legislation/blob/master/tech/21-R-mrg.htm.diff 17. Enumerated warnings in cobol/lang.opt. 18. texinfo update to describe gcobol 19. cross-compilation There are a few places where gcc_unreachable() is now followed by truly unreachable code. We will lop off those bits soon. 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 pass legal muster. I have also prepared release notes for the www repository under separate cover. We remain hopeful the COBOL front end will be accepted into gcc-15. Thank you for your kind consideration of our work. --jkl