)]}'
{
  "commit": "c5bc0a2cdb4dd523f4db2b7eefe54d9c3a4e2f43",
  "tree": "a183b4466babb182fd9ed6fed6118028ac5c23e1",
  "parents": [
    "625cf4026ffb45db3a53406cd1b1ec5172ff2bf3"
  ],
  "author": {
    "name": "Aviral Goel",
    "email": "aviralg@users.noreply.github.com",
    "time": "Wed May 06 14:00:52 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed May 06 14:00:52 2026 -0700"
  },
  "message": "[clang][ssaf] Add `clang-ssaf-analyzer` (#196124)\n\nThis patch introduces `clang-ssaf-analyzer`, a new SSAF tool that runs whole-program analyses over an `LUSummary` and writes the resulting `WPASuite` to an output file.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6a78620b757e62ca077af9da3c2589e2842d0e70",
      "old_mode": 33188,
      "old_path": "clang/lib/ScalableStaticAnalysisFramework/Tool/Utils.cpp",
      "new_id": "f14f34eb3bbb06183503cd0712ffbc2b2842eac9",
      "new_mode": 33188,
      "new_path": "clang/lib/ScalableStaticAnalysisFramework/Tool/Utils.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0967ef424bce6791893e9a57bb952f80fd536e93",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-badext.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b22e81a41ba54f2ec3c878da1e96c4af066c26f7",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-corrupt.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0967ef424bce6791893e9a57bb952f80fd536e93",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-noext"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c562a25f3c55d78f08e9c073a0dbe04be7b2efaa",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b5d8bb58d9bc3a8d1d15f2248c74b2f406e56746",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-wrong-type.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9c30fefc55dd5fb94ccc1e5cf7afbf77cb80869f",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d408b64d05af382c2a1539c715fadd0e33b4d44e",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/all.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e5f7170814295b48804967f26002184d2d0570c6",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/both.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3f52b0acfd900c86c0ce362ccaa66aae02722477",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/pairs.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "aa41194746ea97edab89c5f6a79d895b95fb5a6d",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/tags.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0abdcef15a4499063cd29a30a60e8f0d00f74ad8",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/analyzer.test"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0367ba8b8c484c6cbdd71abd7326479d06e4fed2",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/cli-errors.test"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e4b5eca320b08a265a170facfd234b99ddb966c4",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/help.test"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "59a179abf4d3bac4d7e4a7bf655314e1a2911bf0",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/lit.local.cfg"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bcd4f036ac550138d92cd593810619c3ee37638c",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/validation-errors-permissions.test"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "692991d157c52f5a008a5333cacb967c631f0acc",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/validation-errors.test"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a859934f60606d6242ab1984681f00b0178c5a40",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/Scalable/ssaf-analyzer/version.test"
    },
    {
      "type": "modify",
      "old_id": "cb1f34d2e49bc671b11c79f89c18d8041efb98e1",
      "old_mode": 33188,
      "old_path": "clang/test/CMakeLists.txt",
      "new_id": "dbd1fafae7f3ec28d90170ec5e3de8512e6db7f5",
      "new_mode": 33188,
      "new_path": "clang/test/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "891043ec31f776e26a63821182dfec1e8cec7496",
      "old_mode": 33188,
      "old_path": "clang/tools/CMakeLists.txt",
      "new_id": "a16089be041bf69020ca995c54a05f296968a08f",
      "new_mode": 33188,
      "new_path": "clang/tools/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "67732867181b61f212a0592cd4d2e64b19139c98",
      "new_mode": 33188,
      "new_path": "clang/tools/clang-ssaf-analyzer/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "14f037beb60c1cd6ce4ecd1abb7b6d4b6e09ad51",
      "new_mode": 33188,
      "new_path": "clang/tools/clang-ssaf-analyzer/SSAFAnalyzer.cpp"
    }
  ]
}
