Cobol: Repair structure creation and type handling.
Cobol structure creation and type handling repaired.
Repairs have been made to COBOL structure creation and type handling, addressing issues that have been open for over a year. The changes improve the handling of recursive structure references and clarify the use of unsigned integer types by replacing ULONGLONG with UINT64 to reduce ambiguity.
In Details
This commit finalizes repairs to COBOL structure layout and type definitions. It addresses issues with recursive structures, which previously used char * placeholders, by properly defining them. Additionally, it standardizes on UINT64 (for uint64_type_node) over ULONGLONG (a synonym for long_long_unsigned_type_node) in genapi.cc and gengen.h to avoid potential ambiguity in unsigned integer representations, particularly for structure fields.
- structure creation
- The process within the compiler of defining and representing complex data types like structures or records in the source code.
- recursive references
- In data structures, this occurs when a structure contains a member that is a pointer to a structure of the same type. This allows for creating linked lists, trees, and other dynamic data structures.
- ULONGLONG
- A C/C++ type representing an unsigned long long integer. In GCC's internal representation, it's a synonym for
long_long_unsigned_type_node. - UINT64
- A type representing an unsigned 64-bit integer. In GCC's internal representation, it corresponds to
uint64_type_node.