Robert Dubner 4cd4ec9bd3 cobol: Increase PIC X(MAX) from 8192 to 2^31.
Up until these changes, temporary intermediate alphanumeric string
variables have been allocated on the stack.  With the design change to
a larger limit, that's no longer practical.  Such variables are now
placed on the heap, and we now have to take pains to free() that memory
when we are done with it.

gcc/cobol/ChangeLog:

	* gcobc: Adjust how -fPIC is applied, and other refinements.
	* gcobol.1: Documentation.
	* genapi.cc (parser_statement_end): New function.  Deallocates
	temp char strings from the heap.
	(initialize_variable_internal): Ignore temp char strings.
	(compare_binary_binary): Formatting.
	(parser_end_program): Formatting.
	(parser_init_list): Formatting.
	(parser_exit_program): Formatting.
	(program_end_stuff): Formatting.
	(parser_exit): Formatting.
	(parser_perform_conditional): Formatting.
	(perform_outofline_before_until): Formatting.
	(parser_file_add): Formatting.
	(mh_source_is_literalA): Formatting.
	(psa_new_var_decl): Make cblc_field_t for intermediate_e
	alphanumerics program-static.
	(parser_symbol_add): Eliminate unnecessary code when
	type!=FldConditional; change handling of intermediate_e for
	FldAlphanumerics.
	* genapi.h (parser_end_program): New declaration.
	(parser_exit): Formatting.
	(parser_exit_program): Formatting.
	(parser_statement_end): New declaration.
	* lexio.cc (parse_replace_pairs): Change CDF handling.
	(cdftext::lex_open): Likewise.
	(cdftext::process_file): Likewise.
	* parse.y: Changes to MAXIMUM_ALPHA_LENGTH; refine return value
	types for various intrinsic functions; some CDF handling.
	* parse_ante.h (MAXLENGTH_FORMATTED_DATE): Eliminate constant.
	(MAXLENGTH_FORMATTED_TIME): Likewise.
	(MAXLENGTH_CALENDAR_DATE): Likewise.
	(MAXLENGTH_FORMATTED_DATETIME): Likewise.
	(new_alphanumeric): No longer takes a capacity.
	(intrinsic_return_field): New declaration.
	(struct ffi_args_t): Changed debug message.
	(is_among): New declaration.
	* parse_util.h (intrinsic_return_field): New function. Works with
	the modified function_descrs[] table.
	* scan.l: Modified scanning.
	* scan_ante.h (class input_file_status_t): Likewise.
	(verify_ws):  Likewise.
	(is_refmod): Likewise.
	* symbols.cc (symbols_update): Improved comment about a debug
	message.
	(symbol_temporaries): New function for temporaries on the heap that
	will have to be deallocated.
	(symbol_temporary_alphanumerics): Likewise.
	(new_temporary_impl): Eliminate MAXIMUM_ALPHA_LENGTH from template.
	(new_alphanumeric): Eliminate capacity as a parameter.
	* symbols.h (cbl_dialect_str): Formatting.
	(MAXIMUM_ALPHA_LENGTH): Change comment and value.
	(IBM_MAXIMUM_ALPHA_LENGTH): Put parentheses around "size_t(1)<<31".
	(symbol_temporaries): New declaration.
	(symbol_temporary_alphanumerics): New declaration.
	(struct function_descr_t): New comment on ret_type.
	(new_alphanumeric): New declaration.
	* util.cc (class cdf_directives_t): CDF processing.
	(cobol_set_indicator_column): Likewise.
	(cdf_push_source_format): Likewise.
	(cdf_pop_source_format): Likewise.
	(parent_names): Likewise.
	(cobol_filename): Likewise.
	(cobol_lineno): Likewise.
	(cobol_filename_restore): Likewise.

libgcobol/ChangeLog:

	* intrinsic.cc (string_to_dest): Move call to
	__gg__adjust_dest_size().
	(__gg__char): Likewise.
	(__gg__current_date): Likewise.
	(__gg__formatted_current_date): Likewise.
	(__gg__formatted_date): Likewise.
	(__gg__formatted_datetime): Likewise.
	(__gg__formatted_time): Likewise.
	(change_case): Likewise.
	(__gg__trim): Likewise; fix memory leak.
	(__gg__reverse): Move call to __gg__adjust_dest_size().
	(__gg__locale_compare): Likewise
	(__gg__locale_date): Likewise
	(__gg__locale_time): Likewise
	(__gg__locale_time_from_seconds): Likewise
	* libgcobol.cc (format_for_display_internal): Make the results of
	intermediate FldNumericBin5 look nice to a human.
	(init_var_both): Move call to __gg__adjust_dest_size().
	(__gg__get_argc): Move call to __gg__adjust_dest_size().
	(__gg__get_argv): Move call to __gg__adjust_dest_size().
	(__gg__get_command_line): Move call to __gg__adjust_dest_size().
	(__gg__adjust_dest_size): Properly handle intermediate_e
	allocations.
	(__gg__adjust_encoding): Move call to __gg__adjust_dest_size().
	(__gg__module_name): Move call to __gg__adjust_dest_size().
	(__gg__refer_from_string): Move call to __gg__adjust_dest_size().
	(__gg__refer_from_psz): Move call to __gg__adjust_dest_size().
	(__gg__convert): Move call to __gg__adjust_dest_size().
	* posix/shim/lseek.cc: Changes to extended functions.
	* posix/shim/open.cc (posix_opent): Likewise.
	(posix_open): Likewise.
	* posix/udf/posix-open.cbl: Likewise.
	* posix/udf/posix-read.cbl: Likewise.
	* posix/udf/posix-write.cbl: Likewise.
	* xmlparse.cc (sayso): Change to debug message.
	* posix/udf/posix-ftruncate.cbl: New file.
2026-02-24 10:48:38 -05:00
2026-02-05 00:16:28 +00:00
2026-02-20 00:16:32 +00:00
2026-02-16 00:16:25 +00:00
2026-02-06 00:16:39 +00:00
2026-02-22 00:16:27 +00:00
2026-02-23 00:16:26 +00:00
2026-02-24 00:16:30 +00:00
2026-02-24 00:16:30 +00:00
2026-02-24 00:16:30 +00:00
2026-02-13 00:16:32 +00:00
2026-02-13 00:16:32 +00:00
2026-02-06 00:16:39 +00:00
2026-02-24 00:16:30 +00:00
2026-02-20 00:16:32 +00:00

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.
Description
No description provided
Readme 4.2 GiB
Languages
C++ 30.7%
C 30.2%
Ada 14.4%
D 6.1%
Go 5.7%
Other 12.4%