)]}'
{
  "commit": "08e58db367d94e6abc8b3d00cebc2db88c0aa828",
  "tree": "93fc6f9cab8598ad4deab10ff294360da2616ff2",
  "parents": [
    "aa66c628206d10d101f9d3528b3b641189fc280e"
  ],
  "author": {
    "name": "Robert Dubner",
    "email": "rdubner@symas.com",
    "time": "Fri May 16 11:12:04 2025 -0400"
  },
  "committer": {
    "name": "Robert Dubner",
    "email": "rdubner@symas.com",
    "time": "Tue Jul 29 12:06:38 2025 -0400"
  },
  "message": "cobol: Eliminate exception \"blob\"; streamline some code generation.\n\nThis eliminates some of the last vestiges of creating a structure at host-time\nthat is intended for use at target-time.\n\nIt removes some unnecessary processing when exceptions are not enabled.\n\nIt improves the creation of code that handles table subscripts and refmod\nparameters.\n\ngcc/cobol/ChangeLog:\n\n\t* cobol1.cc (cobol_langhook_handle_option): Eliminate OPT_M.\n\t* except.cc (cbl_enabled_exception_t::dump): Formatting.\n\t(symbol_declaratives_add): Remove.\n\t(declarative_runtime_match): Change to no-blob processing.\n\t* exceptg.h (declarative_runtime_match): Change declaration.\n\t(symbol_declaratives_add): Remove declaration.\n\t* gcobc: Dialect handling.\n\t* genapi.cc (parser_compile_ecs): Formatting; add SHOW_IF_PARSE.\n\t(parser_compile_dcls): Likewise.\n\t(parser_statement_begin): Avoid unnecessary store_location_stuff() call.\n\t(gg_get_depending_on_value): Streamline get_depending_on_value_from_odo().\n\t(depending_on_value): Likewise.\n\t(parser_display_field): Formatting.\n\t(parser_display): Handle case ENV_NAME_e.\n\t(parser_file_open): Avoid unnecessary store_location_stuff.\n\t(parser_file_close): Likewise.\n\t(parser_file_read): Likewise.\n\t(parser_file_write): Likewise.\n\t(parser_file_delete): Likewise.\n\t(parser_file_rewrite): Likewise.\n\t(parser_file_start): Likewise.\n\t(parser_intrinsic_subst): Streamline get_depending_on_value_from_odo().\n\t(parser_intrinsic_call_1): Likewise.\n\t(parser_lsearch_start): Likewise.\n\t(parser_bsearch_start): Likewise.\n\t(parser_sort): Likewise.\n\t(store_location_stuff): Avoid unnecessary assignments.\n\t(parser_pop_exception): Formatting.\n\t* genmath.cc (parser_add): Avoid var_decl_default_compute_error assignment\n\twhen doing fast_add().\n\t(parser_subtract): Likewise.\n\t* genutil.cc (REFER): Macro for analyzing code generation.\n\t(get_integer_value): Use data_decl_node for integer value from FldLiteralN.\n\t(get_data_offset): Streamline exception code processing.\n\t(get_and_check_refstart_and_reflen): Likewise.\n\t(get_depending_on_value_from_odo): Likewise.\n\t(get_depending_on_value): Likewise.\n\t(refer_is_clean): Formatting.\n\t(refer_refmod_length): Streamline exception code processing.\n\t(refer_fill_depends): Likewise.\n\t(refer_offset): Likewise.\n\t(refer_size_dest): Likewise.\n\t(refer_size_source): Likewise.\n\t* genutil.h (get_depending_on_value_from_odo): Likewise.\n\t* lang-specs.h: Options definition.\n\t* lang.opt: -M as in c.opt.\n\t* lexio.h: Formatting.\n\t* parse.y: Expand -dialect suggestions; SECTION SEGMENT messages.\n\t* parse_ante.h (declarative_runtime_match): Dialect handling.\n\t(labels_dump): Likewise.\n\t(class current_tokens_t): Likewise.\n\t(class prog_descr_t): Make program_index size_t to prevent padding bytes.\n\t* scan.l: POP_FILE directive.\n\t* scan_ante.h (class enter_leave_t): Better handle line number when\n\tprocessing COPY statements.\n\t* symbols.cc (symbol_elem_cmp): Eliminate SymFunction.\n\t(symbols_dump): Likewise.\n\t(symbol_label_section_exists): Likewise.\n\t* symbols.h (NAME_MAX): Eliminate.  (Was part of SymFunction).\n\t(dialect_is): Improve dialect handling.\n\t(dialect_gcc): Likewise.\n\t(dialect_ibm): Likewise.\n\t(dialect_gnu): Likewise.\n\t(enum symbol_type_t): Eliminate SymFunction.\n\t* util.cc (symbol_type_str): Likewise.\n\t(class unique_stack): Option -M handling.\n\t(cobol_set_pp_option): Likewise.\n\t(parse_file): Likewise.\n\t* util.h (cobol_set_pp_option): Likewise.\n\nlibgcobol/ChangeLog:\n\n\t* common-defs.h (struct cbl_declarative_t): Eliminate blobl.\n\t* libgcobol.cc (__gg__set_env_name): Code for ENVIRONMENT-NAME/VALUE.\n\t(__gg__set_env_value): Likewise.\n\ngcc/testsuite/ChangeLog:\n\n\t* cobol.dg/group1/declarative_1.cob: Handle modified exception handling.\n\n(cherry picked from commit 92b6485a75cabaf64f1f74ba7ab73a5204c9d0aa)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3bd21c783dedf4e764dbaee09822eace8a6b47ba",
      "old_mode": 33188,
      "old_path": "gcc/cobol/cobol1.cc",
      "new_id": "63f2b37816d1a29e58fea9f32fc49adf40518163",
      "new_mode": 33188,
      "new_path": "gcc/cobol/cobol1.cc"
    },
    {
      "type": "modify",
      "old_id": "2118233dafbf6a830d9600ae8e03dc7e9caf0e20",
      "old_mode": 33188,
      "old_path": "gcc/cobol/except.cc",
      "new_id": "d477139a1e1ad3e9407820333973f5e995b9ae45",
      "new_mode": 33188,
      "new_path": "gcc/cobol/except.cc"
    },
    {
      "type": "modify",
      "old_id": "1cfb8df4702a575131c00d18e58c977d2075b7ef",
      "old_mode": 33188,
      "old_path": "gcc/cobol/exceptg.h",
      "new_id": "e29e056dbf148533b27461c623f2d02dc109a22b",
      "new_mode": 33188,
      "new_path": "gcc/cobol/exceptg.h"
    },
    {
      "type": "modify",
      "old_id": "1d469ed926ca15c8e897daa68f1966c8c3652c97",
      "old_mode": 33261,
      "old_path": "gcc/cobol/gcobc",
      "new_id": "6154c788e1cf95c592da27a9f08d74b6543bcc2b",
      "new_mode": 33261,
      "new_path": "gcc/cobol/gcobc"
    },
    {
      "type": "modify",
      "old_id": "70df86a0ffaf49d3f93095b00c020f17877d9561",
      "old_mode": 33188,
      "old_path": "gcc/cobol/genapi.cc",
      "new_id": "1ed4cef0801f96493266d6ddb503a5f256bbd859",
      "new_mode": 33188,
      "new_path": "gcc/cobol/genapi.cc"
    },
    {
      "type": "modify",
      "old_id": "721aafb236ae08200fb72b49e5321243807a8675",
      "old_mode": 33188,
      "old_path": "gcc/cobol/genmath.cc",
      "new_id": "edf3f22f68ebc07b3f615f21b97aebaee924d6d8",
      "new_mode": 33188,
      "new_path": "gcc/cobol/genmath.cc"
    },
    {
      "type": "modify",
      "old_id": "3235c380cf822d133515f309455c99ff923d1bd7",
      "old_mode": 33188,
      "old_path": "gcc/cobol/genutil.cc",
      "new_id": "d0aaf2b3215f1c6b8049ed79fc9fea291e2b3b6b",
      "new_mode": 33188,
      "new_path": "gcc/cobol/genutil.cc"
    },
    {
      "type": "modify",
      "old_id": "82444816f1f2d7a16e9ba3cb079c2e7c60228ffd",
      "old_mode": 33188,
      "old_path": "gcc/cobol/genutil.h",
      "new_id": "2f4bc36eace7aeaf29a2644ba1e7219a2a2e307a",
      "new_mode": 33188,
      "new_path": "gcc/cobol/genutil.h"
    },
    {
      "type": "modify",
      "old_id": "78e84c03464881ba5cfe0c63f3be2fc06fe78a7a",
      "old_mode": 33188,
      "old_path": "gcc/cobol/lang-specs.h",
      "new_id": "b7f15179a0449f15c66becd6091ae9b1bb6fd38b",
      "new_mode": 33188,
      "new_path": "gcc/cobol/lang-specs.h"
    },
    {
      "type": "modify",
      "old_id": "59278a147e991d29d4c4c04933df1eed9d416be2",
      "old_mode": 33188,
      "old_path": "gcc/cobol/lang.opt",
      "new_id": "1f2a61629b9fde83278031e1d5a3d2cc22042251",
      "new_mode": 33188,
      "new_path": "gcc/cobol/lang.opt"
    },
    {
      "type": "modify",
      "old_id": "cf7f53a3c5bb0abc50c4f68014ee0dcb842fa90b",
      "old_mode": 33188,
      "old_path": "gcc/cobol/lexio.h",
      "new_id": "ed642afbf16a1b6f0b7b1e861d712b87ab1be43d",
      "new_mode": 33188,
      "new_path": "gcc/cobol/lexio.h"
    },
    {
      "type": "modify",
      "old_id": "cecdd2244a5e93c8996057176f4372bfa2954f05",
      "old_mode": 33188,
      "old_path": "gcc/cobol/parse.y",
      "new_id": "cb96c907361838a3fdb7a9e506d1086bae099440",
      "new_mode": 33188,
      "new_path": "gcc/cobol/parse.y"
    },
    {
      "type": "modify",
      "old_id": "0369f7b1acbe17c48556a7e63a5638d3d18b091c",
      "old_mode": 33188,
      "old_path": "gcc/cobol/parse_ante.h",
      "new_id": "997ad4f4698a184828cf58f9000cdb18b48d4f6e",
      "new_mode": 33188,
      "new_path": "gcc/cobol/parse_ante.h"
    },
    {
      "type": "modify",
      "old_id": "dfc0c3087aedb6d15e567706b4c0aaa31906eda4",
      "old_mode": 33188,
      "old_path": "gcc/cobol/scan.l",
      "new_id": "5ca27282b23e4698a3648f07d6348176bb3a48d6",
      "new_mode": 33188,
      "new_path": "gcc/cobol/scan.l"
    },
    {
      "type": "modify",
      "old_id": "c8c93ed79c554a5c67f011fb95a8cd4f3c25e810",
      "old_mode": 33188,
      "old_path": "gcc/cobol/scan_ante.h",
      "new_id": "f60f5d52c47029553b9f7ceb421e60f172d5f01e",
      "new_mode": 33188,
      "new_path": "gcc/cobol/scan_ante.h"
    },
    {
      "type": "modify",
      "old_id": "1d0acf90fa6a92d354088df4ac3655e9cbb74422",
      "old_mode": 33188,
      "old_path": "gcc/cobol/symbols.cc",
      "new_id": "dc91fadbf1f3355b095175305bcb87e6f3f0b974",
      "new_mode": 33188,
      "new_path": "gcc/cobol/symbols.cc"
    },
    {
      "type": "modify",
      "old_id": "e27290773b55e0f8d8ee128474c6d5217853460d",
      "old_mode": 33188,
      "old_path": "gcc/cobol/symbols.h",
      "new_id": "4a86c676a84ddc73d9b2e6228c7e9b7145575a36",
      "new_mode": 33188,
      "new_path": "gcc/cobol/symbols.h"
    },
    {
      "type": "modify",
      "old_id": "87b19b64f1fdf7b69bf8cccf3bd6a4876868dbdd",
      "old_mode": 33188,
      "old_path": "gcc/cobol/util.cc",
      "new_id": "75a0b26c0a9104fcbbef868be65557225ca7d86a",
      "new_mode": 33188,
      "new_path": "gcc/cobol/util.cc"
    },
    {
      "type": "modify",
      "old_id": "20d735d49824b773ff92a2e6d0f722d6fc3e9988",
      "old_mode": 33188,
      "old_path": "gcc/cobol/util.h",
      "new_id": "9a968ea1651005967fcefed2442b8085623a7a50",
      "new_mode": 33188,
      "new_path": "gcc/cobol/util.h"
    },
    {
      "type": "modify",
      "old_id": "ec68e9c6c3a8cefc61174a1c997a0d422e29ea58",
      "old_mode": 33188,
      "old_path": "gcc/testsuite/cobol.dg/group1/declarative_1.cob",
      "new_id": "744495a19eff373c1cfd74b5272434686e2c3c75",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/cobol.dg/group1/declarative_1.cob"
    },
    {
      "type": "modify",
      "old_id": "e3471c5ccc3db907f807d28d594f23ea741028ae",
      "old_mode": 33188,
      "old_path": "libgcobol/common-defs.h",
      "new_id": "8c4858ccc61a5f80247c72776cbaf330b253e759",
      "new_mode": 33188,
      "new_path": "libgcobol/common-defs.h"
    },
    {
      "type": "modify",
      "old_id": "56b1a7bf5876053f8e287dc087b1d487c6306f14",
      "old_mode": 33188,
      "old_path": "libgcobol/libgcobol.cc",
      "new_id": "6bae27a3c671e6bf6d01e8c836e723f420fa19e7",
      "new_mode": 33188,
      "new_path": "libgcobol/libgcobol.cc"
    }
  ]
}
