[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.=