[Bug cobol/119461] record layout done in odd ways

"cvs-commit at gcc dot gnu.org via Gcc-bugs" <[email protected]> Mon, 03 Aug 2026 17:50:59 +0000
Newsgroups gmane.comp.gcc.bugs
Message-ID <[email protected]/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D119461

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Robert Dubner <[email protected]>:

https://gcc.gnu.org/g:71d225bf68f1c5cf31b2e7fd5759b43f8dadc280

commit r17-2901-g71d225bf68f1c5cf31b2e7fd5759b43f8dadc280
Author: Robert Dubner <[email protected]>
Date:   Mon Aug 3 13:26:27 2026 -0400

    cobol: Repairs to structure creation.  [PR119461]

    This PR is over a year old.  The original observation that the record
    layout was done in odd ways has been addressed in the intervening
    months; these changes finalize those repairs.  Some recursive references
    (where a structure contains a pointer to structures like itself) have
    been repaired (instead of using a placeholding "char *").

    The use of ULONGLONG (a synonym for long_long_unsigned_type_node)
    has been replaced with UINT64 (for uint64_type_node) in order to reduce
    possible ambiguity.

            PR cobol/119461

    gcc/cobol/ChangeLog:

            * genapi.cc (array_of_long_long): Renamed array_of_uint64().
            (array_of_uint64): Likewise.
            (parser_compile_ecs): Use array_of_uint64().
            (parser_compile_dcls): Likewise.
            (parser_file_add): Likewise.
            (gg_array_of_file_pointers): Use new cblc_file_pp_type_node;
            * gengen.cc (gg_get_structure_type_decl): Moved to structs.cc a=
nd
            renamed.
            * gengen.h (ULONGLONG): #define removed and replaced with UINT6=
4.
            (UINT64): Likewise.
            (gg_get_structure_type_decl): Declaration removed.
            * structs.cc (create_structure_type): New function.
            (get_structure_type_decl): Renamed version of
            gg_get_structure_type_decl().
            (create_cblc_field_t): Cleaned up structure creation.
            (create_referlet_t): Likewise.
            (create_refer_t): Likewise.
            (create_our_type_nodes): Likewise.
            * structs.h (GTY): New declaration for cblc_file_pp_type_node;
            * symbols.h (enum cbl_ctype_t): Removed.=