)]}'
{
  "commit": "deb54ba0cbab1e9c8d2ab0ea8a6e77dbb22b82d9",
  "tree": "5c459ab9b052326a34cb5230429bc41be0837494",
  "parents": [
    "7b29b49c3e47a1616127bd08ceee3459866430b4"
  ],
  "author": {
    "name": "Michael Buch",
    "email": "michaelbuch12@gmail.com",
    "time": "Fri Oct 31 13:27:09 2025 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Oct 31 13:27:09 2025 +0000"
  },
  "message": "[lldb][TypeSystem] Better support for _BitInt types (#165689)\n\nDepends on:\n* https://github.com/llvm/llvm-project/pull/165686\n\nThis patch ensures we make use of the `DW_AT_bit_size` on\n`DW_TAG_base_type`s (which since\nhttps://github.com/llvm/llvm-project/pull/164372 can exist on\n`_BitInt`s) and adjusts `TypeSystemClang` to recognize `_BitInt`.\n\nFor DWARF from older versions of Clang that didn\u0027t emit a\n`DW_AT_bit_size`, we would create `_BitInt`s using the byte-size. Not\nsure we can do much better than that. But the situation beforehand\nwasn\u0027t much better.\n\nBefore:\n```\n(lldb) v\n(char) a \u003d \u0027\\x01\u0027\n(unsigned char) b \u003d \u0027\\x01\u0027\n(long) c \u003d 2\n(unsigned long) d \u003d 2\n```\n\nAfter:\n```\n(lldb) v\n(_BitInt(2)) a \u003d 1\n(unsigned _BitInt(2)) b \u003d 1\n(_BitInt(52)) c \u003d 2\n(unsigned _BitInt(52)) d \u003d 2\n```\n\nFixes https://github.com/llvm/llvm-project/issues/110273",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "47fa27b0a81a76888dc654b9d2ca30046228338e",
      "old_mode": 33188,
      "old_path": "lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp",
      "new_id": "63b2dc4ab82b01f22b9d97281504259ebbec66b0",
      "new_mode": 33188,
      "new_path": "lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp"
    },
    {
      "type": "modify",
      "old_id": "67186542fb705ee6b03ada8c1fbc6bff01db51be",
      "old_mode": 33188,
      "old_path": "lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp",
      "new_id": "51cb883748514bf4275cded89fdd3acf0191b7da",
      "new_mode": 33188,
      "new_path": "lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp"
    },
    {
      "type": "modify",
      "old_id": "4de595fd62825c51e6279d5f317746b8a2ed5613",
      "old_mode": 33188,
      "old_path": "lldb/unittests/Symbol/TestTypeSystemClang.cpp",
      "new_id": "155fc743934c295d1ed4a492d780d0e2e6125a68",
      "new_mode": 33188,
      "new_path": "lldb/unittests/Symbol/TestTypeSystemClang.cpp"
    },
    {
      "type": "modify",
      "old_id": "064ed6d1d3e5800932450c716f510e9efc67c188",
      "old_mode": 33188,
      "old_path": "lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp",
      "new_id": "cef3a25a4a9601e827bb36b610c553c0357c56fd",
      "new_mode": 33188,
      "new_path": "lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp"
    }
  ]
}
