diff options
| author | Robert Dubner <rdubner@symas.com> | 2026-02-24 09:56:01 -0500 |
|---|---|---|
| committer | Robert Dubner <rdubner@symas.com> | 2026-02-24 10:48:38 -0500 |
| commit | 4cd4ec9bd3de347fbd112d2762e05a607243253c (patch) | |
| tree | a92d2609b00d156bb994746d0c5edb9c748b9942 /gcc/algol68 | |
| parent | 33b856931c78661944f27b60457365ef2b451b54 (diff) | |
| download | gcc-master.zip gcc-master.tar.gz gcc-master.tar.bz2 | |
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.
Diffstat (limited to 'gcc/algol68')
0 files changed, 0 insertions, 0 deletions
