)]}'
{
  "commit": "c8cdf66fe79e799b77ba69fbc0959b6d15850371",
  "tree": "3c32cbf1ffc9d7a6056b4e5b46b46fe0b3a41515",
  "parents": [
    "500d82452bdba0de71dae1056ccf366fa07147e9"
  ],
  "author": {
    "name": "Robert Dubner",
    "email": "rdubner@symas.com",
    "time": "Fri Aug 07 15:01:17 2026 -0400"
  },
  "committer": {
    "name": "Robert Dubner",
    "email": "rdubner@symas.com",
    "time": "Fri Aug 07 15:36:52 2026 -0400"
  },
  "message": "cobol: Refactored variable creation.\n\nWhen I started work on code generation for COBOL \u003cmumble\u003e years ago,\ncreating variables was one of the very first things I had to figure out\nhow to do.  That resulted in me doing things that I, now older and wiser\nand more knowledgeable (well, older, anyway), realize were unnecessary\nand unhelpful.\n\nMainly: I have a utility gg_define_variable(tree type).  I originally\ncreated many helper routines that this patch eliminates in favor of\ncalling that routine with the type explicitly mentioned.\n\ngcc/cobol/ChangeLog:\n\n\t* cdf.y: Changes in support of CDF parsing.\n\t* compare.cc (total_digits_tree): Use gg_define_variable().\n\t(alpha_compare_figconst): Likewise.\n\t(alpha_compare): Likewise.\n\t(numeric_alpha_compare): Likewise.\n\t(addr_of_compare): Likewise.\n\t(compare_class): Likewise.\n\t* genapi.cc (create_cblc_string_variable): Formatting.\n\t(initialize_variable_internal): Use gg_define_variable().\n\t(enter_program_common): Likewise.\n\t(parser_accept): Likewise.\n\t(parser_display): Likewise.\n\t(parser_exhibit): Likewise.\n\t(parser_assign): Likewise.\n\t(parser_xml_parse): Likewise.\n\t(establish_using): Likewise.\n\t(parser_division): Likewise.\n\t(parser_file_open): Likewise.\n\t(parser_file_delete_file): Likewise.\n\t(inspect_tally): Likewise.\n\t(inspect_replacing): Likewise.\n\t(parser_unstring): Likewise.\n\t(parser_string): Likewise.\n\t(create_and_call): Likewise.\n\t(hijack_for_development):  Likewise.\n\t* gengen.cc (gg_declare_variable): Clean up comments.  Early return\n\twhen \"already_defined\".  Clean up VAR_DECL attributes.\n\t(gg_define_variable): Clean up how gg_declare_variable is used.\n\t(gg_define_volatile_variable): Eliminate.\n\t(gg_define_bool): Eliminate.\n\t(gg_define_char): Eliminate.\n\t(gg_define_uchar): Eliminate.\n\t(gg_define_int): Eliminate.\n\t(gg_define_size_t): Eliminate.\n\t(gg_define_int128): Eliminate.\n\t(gg_define_char_star): Eliminate.\n\t(gg_define_uchar_star): Eliminate.\n\t(gg_define_void_star): Eliminate.\n\t(gg_define_longdouble): Eliminate.\n\t(gg_fprintf): Use gg_define_variable().\n\t(gg_read): Likewise.\n\t(gg_memdup): Likewise.\n\t* gengen.h (enum gg_variable_scope_t): Eliminate vs_file.\n\t(gg_define_variable): New overloaded declaration.\n\t(gg_define_volatile_variable): Eliminate.\n\t(gg_define_bool): Eliminate.\n\t(gg_define_char): Eliminate.\n\t(gg_define_uchar): Eliminate.\n\t(gg_define_int): Eliminate.\n\t(gg_define_size_t): Eliminate.\n\t(gg_define_int128): Eliminate.\n\t(gg_define_longdouble): Eliminate.\n\t(gg_define_void_star): Eliminate.\n\t(gg_define_char_star): Eliminate.\n\t(gg_define_uchar_star): Eliminate.\n\t(gg_get_address_of): Formatting.\n\t* genmath.cc (set_up_compute_error_label): Use gg_define_variable().\n\t(add_litN_to_numdisp): Likewise.\n\t* lexio.cc (skip_quoted_literal): Eliminate.\n\t(remove_inline_comment): Change the algorithm.\n\t* parse.y: CDF processing changes.\n\t* scan.l: Likewise.\n\t* scan_ante.h (yyinput): Likewise.\n\t(yyunput): Likewise.\n\t(skip_string): Likewise.\n\t(is_refmod): Likewise.\n\t* show_parse.h (TRACE1_INDENT): Use gg_define_variable().\n\t* structs.cc: Change comment.\n\t* token_names.h: Updated for CDF changes.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "81198daff37fa26f5ce7baf7347c9a0d59b77a8d",
      "old_mode": 33188,
      "old_path": "gcc/cobol/cdf.y",
      "new_id": "b12886684fb9b65954ed1ef53e7664231f60e84e",
      "new_mode": 33188,
      "new_path": "gcc/cobol/cdf.y"
    },
    {
      "type": "modify",
      "old_id": "0b7c301cc850335eff7e7943c7f7c559882d18ca",
      "old_mode": 33188,
      "old_path": "gcc/cobol/compare.cc",
      "new_id": "a04dca2dc1994efe1598ef6cb32bf99e2a4a233b",
      "new_mode": 33188,
      "new_path": "gcc/cobol/compare.cc"
    },
    {
      "type": "modify",
      "old_id": "a0af399912900d50565e9967bf39cf035c34a11e",
      "old_mode": 33188,
      "old_path": "gcc/cobol/genapi.cc",
      "new_id": "418f5ea22f6cfbca5e185acaeda5449d40072afa",
      "new_mode": 33188,
      "new_path": "gcc/cobol/genapi.cc"
    },
    {
      "type": "modify",
      "old_id": "14af64e5ccc6ff681dc159b2eb0357d69c373e7b",
      "old_mode": 33188,
      "old_path": "gcc/cobol/gengen.cc",
      "new_id": "67386ad0a36bb43cea9bf17d6cf610d04c372821",
      "new_mode": 33188,
      "new_path": "gcc/cobol/gengen.cc"
    },
    {
      "type": "modify",
      "old_id": "681724d7d3d061a9a1eb7d7c6bbe791694462124",
      "old_mode": 33188,
      "old_path": "gcc/cobol/gengen.h",
      "new_id": "0f6ba8028592fc473cbe936d0fed47efd8efe7d0",
      "new_mode": 33188,
      "new_path": "gcc/cobol/gengen.h"
    },
    {
      "type": "modify",
      "old_id": "3034cc752b8b8bce2b25b9f01f6f0805cfd4747d",
      "old_mode": 33188,
      "old_path": "gcc/cobol/genmath.cc",
      "new_id": "9aab8e711b19b1e90b49194f531e84a35ef555e2",
      "new_mode": 33188,
      "new_path": "gcc/cobol/genmath.cc"
    },
    {
      "type": "modify",
      "old_id": "d4cb4a258f3c04de68c566701740278e800d72f6",
      "old_mode": 33188,
      "old_path": "gcc/cobol/lexio.cc",
      "new_id": "54b8aa814bc86b51ac1e84a789292ca5a9d617e6",
      "new_mode": 33188,
      "new_path": "gcc/cobol/lexio.cc"
    },
    {
      "type": "modify",
      "old_id": "b30d48d1b0b31906e8ad80495d0a77c5e42436d6",
      "old_mode": 33188,
      "old_path": "gcc/cobol/parse.y",
      "new_id": "77eddebc2267e18d10862aedafcc14a764a1a385",
      "new_mode": 33188,
      "new_path": "gcc/cobol/parse.y"
    },
    {
      "type": "modify",
      "old_id": "1258b9ac8773a49f5dc811688915325bd2d39aba",
      "old_mode": 33188,
      "old_path": "gcc/cobol/scan.l",
      "new_id": "b2843b9c7adf9a4a05a167d93394cc26acf2878f",
      "new_mode": 33188,
      "new_path": "gcc/cobol/scan.l"
    },
    {
      "type": "modify",
      "old_id": "4c147cb994ee59d414406c068ed7363ebb88c7c0",
      "old_mode": 33188,
      "old_path": "gcc/cobol/scan_ante.h",
      "new_id": "402600edabc733b953389c6d13cb14ed6763ea9c",
      "new_mode": 33188,
      "new_path": "gcc/cobol/scan_ante.h"
    },
    {
      "type": "modify",
      "old_id": "69c7ee0abfb3db219b698f19b15359ea56595684",
      "old_mode": 33188,
      "old_path": "gcc/cobol/show_parse.h",
      "new_id": "5f0c1b6faaee74b3107d88250e575094015d565f",
      "new_mode": 33188,
      "new_path": "gcc/cobol/show_parse.h"
    },
    {
      "type": "modify",
      "old_id": "915b9a9d61be4d2de4689229f74d45c7364f750f",
      "old_mode": 33188,
      "old_path": "gcc/cobol/structs.cc",
      "new_id": "37b2b0c878a42249efa71f46c7757ab5937e3816",
      "new_mode": 33188,
      "new_path": "gcc/cobol/structs.cc"
    },
    {
      "type": "modify",
      "old_id": "4505d45609ccf155b2a0d0b86455d29456417187",
      "old_mode": 33188,
      "old_path": "gcc/cobol/token_names.h",
      "new_id": "27c39935470dd483f6dc1d5d9786d4e42bc1992a",
      "new_mode": 33188,
      "new_path": "gcc/cobol/token_names.h"
    }
  ]
}
