)]}'
{
  "commit": "b387c0127ea720f2a5d08d8bb7446a15772bc5f5",
  "tree": "f1b94c7076ff30120aa35435828d4c4afaa7b254",
  "parents": [
    "b3f1e0239c93484b5a06af06a47f833150a3df38"
  ],
  "author": {
    "name": "Alan Modra",
    "email": "amodra@gmail.com",
    "time": "Mon Jun 09 12:06:00 2025 +0930"
  },
  "committer": {
    "name": "Alan Modra",
    "email": "amodra@gmail.com",
    "time": "Mon Jun 09 12:06:00 2025 +0930"
  },
  "message": "str_hash_find_int\n\nThis changes the internal representation of string_tuple.value from\na void* to an intptr_t, removing any concerns that code wanting to\nstore an integer value will use values that are trap encodings or\nsuchlike for a pointer.  The ISO C standard says any void* can be\nconverted to intptr_t and back again and will compare equal to the\noriginal pointer.  It does *not* say any intptr_t can be converted to\nvoid* and back again to get the original integer..\n\nTwo new functions, str_hash_find_int and str_hash_insert_int are\nprovided for handling integer values.  str_hash_find_int returns\n(intptr_t) -1 on failing to find the key string.\n\nMost target code need minimal changes to use the new interface, but\nsome simplification is possible since now a zero can be stored and\ndifferentiated from the NULL \"can\u0027t find\" return.  (Yes, that means\n(intptr_t) -1 can\u0027t be stored.)\n\nI\u0027ve changed the avr_no_sreg_hash dummy value to zero, and the\nloongarch register numbers don\u0027t need to be incremented.  loongarch\nalso doesn\u0027t need to store an empty key string (if it ever did).\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8de146586df1439a56d9aca3b8800db693351724",
      "old_mode": 33188,
      "old_path": "gas/config/obj-elf.c",
      "new_id": "368594d3a047ef306daee2ca0ff529c501f20181",
      "new_mode": 33188,
      "new_path": "gas/config/obj-elf.c"
    },
    {
      "type": "modify",
      "old_id": "a7678e24ccc17159f5191ad96de1ff61d56f294d",
      "old_mode": 33188,
      "old_path": "gas/config/tc-avr.c",
      "new_id": "9d53e715c19d89647814341ad9f1cf61ad312843",
      "new_mode": 33188,
      "new_path": "gas/config/tc-avr.c"
    },
    {
      "type": "modify",
      "old_id": "78411441634f9af089fdc14f856e9f4d69c67fe4",
      "old_mode": 33188,
      "old_path": "gas/config/tc-loongarch.c",
      "new_id": "acf446c30771709a857174fe6574c7766c61da5b",
      "new_mode": 33188,
      "new_path": "gas/config/tc-loongarch.c"
    },
    {
      "type": "modify",
      "old_id": "3c16216f531c153ffd0f351b1ba4862a916639b2",
      "old_mode": 33188,
      "old_path": "gas/config/tc-nds32.c",
      "new_id": "a159ddb2c545ca947676b9ecac93c544e5b181fb",
      "new_mode": 33188,
      "new_path": "gas/config/tc-nds32.c"
    },
    {
      "type": "modify",
      "old_id": "bcffc7f885859a2675590b37b7e72ff5109410a1",
      "old_mode": 33188,
      "old_path": "gas/config/tc-riscv.c",
      "new_id": "c06a2d17a43a13ba099205723bffe26414569f75",
      "new_mode": 33188,
      "new_path": "gas/config/tc-riscv.c"
    },
    {
      "type": "modify",
      "old_id": "26612acfd156a1970b8d43a4d22f10b86f5b57a1",
      "old_mode": 33188,
      "old_path": "gas/config/tc-tilegx.c",
      "new_id": "f70388ca854587fa9af719c5a2053e1efc0060d4",
      "new_mode": 33188,
      "new_path": "gas/config/tc-tilegx.c"
    },
    {
      "type": "modify",
      "old_id": "a7c599d15bb33b7614dcdd29947ea5044e62d0ea",
      "old_mode": 33188,
      "old_path": "gas/config/tc-tilepro.c",
      "new_id": "738b24a1b92f56cbfec5feccb53d786fe6edf739",
      "new_mode": 33188,
      "new_path": "gas/config/tc-tilepro.c"
    },
    {
      "type": "modify",
      "old_id": "6f6c1d431e4240e5ad44a4661c818c8822f7591b",
      "old_mode": 33188,
      "old_path": "gas/hash.h",
      "new_id": "97e23a9325fc329f44cfbb2b3571c699156a2035",
      "new_mode": 33188,
      "new_path": "gas/hash.h"
    }
  ]
}
