)]}'
{
  "commit": "71bfdd13040328bc83b520d09eee847fd2b7f82c",
  "tree": "de5d426a5ca3afdc95fd4c4ce8eecb00391a210d",
  "parents": [
    "3b04094f36bf224d499e6a289b07ae193937e977"
  ],
  "author": {
    "name": "Sirraide",
    "email": "aeternalmail@gmail.com",
    "time": "Thu Dec 11 05:54:09 2025 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Dec 11 05:54:09 2025 +0100"
  },
  "message": "[Clang] Add support for the C `_Defer` TS (#162848)\n\nThis implements WG14 N3734 (https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3734.pdf),\naka `_Defer`; it is currently only supported in C if `-fdefer-ts` is passed.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4f33670a8500a5521de030b3d0bb155a64796972",
      "old_mode": 33188,
      "old_path": "clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp",
      "new_id": "6618341296aaff64f3e803e66464b2e912547775",
      "new_mode": 33188,
      "new_path": "clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp"
    },
    {
      "type": "modify",
      "old_id": "005e858821804e3e413a6f3feda802a65279b7cd",
      "old_mode": 33188,
      "old_path": "clang/docs/ReleaseNotes.rst",
      "new_id": "899a4ee0dee0e596f5745745903600a0d714a246",
      "new_mode": 33188,
      "new_path": "clang/docs/ReleaseNotes.rst"
    },
    {
      "type": "modify",
      "old_id": "8f427427d71ed9a198c484347006d08c9a5f7289",
      "old_mode": 33188,
      "old_path": "clang/include/clang/AST/RecursiveASTVisitor.h",
      "new_id": "c3ac310bf540228dc12262414d3532d3ebb98902",
      "new_mode": 33188,
      "new_path": "clang/include/clang/AST/RecursiveASTVisitor.h"
    },
    {
      "type": "modify",
      "old_id": "e1cca34d2212c165fbaea7ea090df5f336a2f1c2",
      "old_mode": 33188,
      "old_path": "clang/include/clang/AST/Stmt.h",
      "new_id": "d56de08eaf279e6881ec35cadd97d0248dcd08b5",
      "new_mode": 33188,
      "new_path": "clang/include/clang/AST/Stmt.h"
    },
    {
      "type": "modify",
      "old_id": "9401377002223bf06831a92ebe03b6f1d85281c4",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Basic/DiagnosticParseKinds.td",
      "new_id": "442a90ec2472dc0cd792883a508bab75eef4b624",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Basic/DiagnosticParseKinds.td"
    },
    {
      "type": "modify",
      "old_id": "28803829f387da598152bbbb08ea30ae54b3daf7",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Basic/DiagnosticSemaKinds.td",
      "new_id": "c79c208a07acd6ddae42cd5a2ae29196e2eb30a8",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Basic/DiagnosticSemaKinds.td"
    },
    {
      "type": "modify",
      "old_id": "b27492d19a65b7d79a9dfa8c91fef1dc29cb7b4f",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Basic/IdentifierTable.h",
      "new_id": "043c184323876e221512dcf02738f4e4d3de1131",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Basic/IdentifierTable.h"
    },
    {
      "type": "modify",
      "old_id": "e515c0cee79eb84d57b79d032dc10f53884a393c",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Basic/LangOptions.def",
      "new_id": "093d2709e59f9b72bf738b1e8f138eb6a5730cfa",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Basic/LangOptions.def"
    },
    {
      "type": "modify",
      "old_id": "bf3686bb372d5b7e06aa17bc024c23de12fe9f2a",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Basic/StmtNodes.td",
      "new_id": "2d740425a3cb00303286425a98d44d2c3e96fb9b",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Basic/StmtNodes.td"
    },
    {
      "type": "modify",
      "old_id": "564d6010181cc2c87f709d2b8db51b444296c27d",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Basic/TokenKinds.def",
      "new_id": "8240d395d3e8f6ca52035bfee7ae1bfe8f420a14",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Basic/TokenKinds.def"
    },
    {
      "type": "modify",
      "old_id": "e55146f0c78234307046c33ffd06b5c7cac58a98",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Options/Options.td",
      "new_id": "e704d9e6275eca484a4a2131612e78df39844904",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Options/Options.td"
    },
    {
      "type": "modify",
      "old_id": "58eb1c0a7c1149c3aeffcb851d2a1a5ae37aa08a",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Parse/Parser.h",
      "new_id": "47eedf216a44b73866399fad48b037f97e2bc45e",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Parse/Parser.h"
    },
    {
      "type": "modify",
      "old_id": "d14b5dc5ffaa4faf591913effc2511f472185d12",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Sema/Sema.h",
      "new_id": "97b6bb3d1b3a80392197bc7ec8b5fe420e04c8e9",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Sema/Sema.h"
    },
    {
      "type": "modify",
      "old_id": "d7d429eacd67a3f412b4b0a77b6cc44fe7bdb713",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Serialization/ASTBitCodes.h",
      "new_id": "b48f02c60188954ea0159beba502ad9bebb32aad",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Serialization/ASTBitCodes.h"
    },
    {
      "type": "modify",
      "old_id": "11ece494490dec9e22aedf5b5b1b0436c66559f6",
      "old_mode": 33188,
      "old_path": "clang/lib/AST/Stmt.cpp",
      "new_id": "10aacd75a650a17e1811f79a51b6ceb44b73f33c",
      "new_mode": 33188,
      "new_path": "clang/lib/AST/Stmt.cpp"
    },
    {
      "type": "modify",
      "old_id": "ff8ca01ec5477d4b8a6f313ce801ad2b4b4e9baa",
      "old_mode": 33188,
      "old_path": "clang/lib/AST/StmtPrinter.cpp",
      "new_id": "9bc5ee0c7f40e6966b035470c5789c519ea07bb1",
      "new_mode": 33188,
      "new_path": "clang/lib/AST/StmtPrinter.cpp"
    },
    {
      "type": "modify",
      "old_id": "4a8c638c853314f22f3d28613edb8898538311c1",
      "old_mode": 33188,
      "old_path": "clang/lib/AST/StmtProfile.cpp",
      "new_id": "b6395a17547f70199513276acc77af878ebc963d",
      "new_mode": 33188,
      "new_path": "clang/lib/AST/StmtProfile.cpp"
    },
    {
      "type": "modify",
      "old_id": "d1c959b9687c4062f7479c7c31ef8cce20ab58e1",
      "old_mode": 33188,
      "old_path": "clang/lib/Basic/IdentifierTable.cpp",
      "new_id": "9b4019834c4be92a691970cde57f4d615ed3cddf",
      "new_mode": 33188,
      "new_path": "clang/lib/Basic/IdentifierTable.cpp"
    },
    {
      "type": "modify",
      "old_id": "36be3295950b88f800a0fdd728e5fb4f17f12c2f",
      "old_mode": 33188,
      "old_path": "clang/lib/CodeGen/CGStmt.cpp",
      "new_id": "c050fd41ac0e95dd5d168f885dbb19abb58ff530",
      "new_mode": 33188,
      "new_path": "clang/lib/CodeGen/CGStmt.cpp"
    },
    {
      "type": "modify",
      "old_id": "664ee1547ccf174ae7b7f2a25baa381d91672366",
      "old_mode": 33188,
      "old_path": "clang/lib/CodeGen/CodeGenFunction.h",
      "new_id": "10238ffd3971c591880e5f366fbe0785a1b2f026",
      "new_mode": 33188,
      "new_path": "clang/lib/CodeGen/CodeGenFunction.h"
    },
    {
      "type": "modify",
      "old_id": "542b70b3e9d4c1f775125d83362e5b216a37d2ab",
      "old_mode": 33188,
      "old_path": "clang/lib/Driver/ToolChains/Clang.cpp",
      "new_id": "71196146345523fd806a34436d0775b0713c8ee3",
      "new_mode": 33188,
      "new_path": "clang/lib/Driver/ToolChains/Clang.cpp"
    },
    {
      "type": "modify",
      "old_id": "fd464d68b5b424f4044dee3daa927400ab6a7eea",
      "old_mode": 33188,
      "old_path": "clang/lib/Frontend/InitPreprocessor.cpp",
      "new_id": "8253fad9e55036801152f95e45cf42599be6d5c1",
      "new_mode": 33188,
      "new_path": "clang/lib/Frontend/InitPreprocessor.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "162876ddfa39559a0a685ca936bd5eb5ad458ba2",
      "new_mode": 33188,
      "new_path": "clang/lib/Headers/stddefer.h"
    },
    {
      "type": "modify",
      "old_id": "7e73d89c2a18c147a343fe0089ed3dcdbb470872",
      "old_mode": 33188,
      "old_path": "clang/lib/Parse/ParseStmt.cpp",
      "new_id": "78ce4b76d29ae0461d9e06f51a788519ec4bde7c",
      "new_mode": 33188,
      "new_path": "clang/lib/Parse/ParseStmt.cpp"
    },
    {
      "type": "modify",
      "old_id": "36704c3826dfdd0d0aef91d6a4b2c289e5a9c8d4",
      "old_mode": 33188,
      "old_path": "clang/lib/Sema/JumpDiagnostics.cpp",
      "new_id": "36c9d9afb37f1c4705b5078ece28cc6f5e2da288",
      "new_mode": 33188,
      "new_path": "clang/lib/Sema/JumpDiagnostics.cpp"
    },
    {
      "type": "modify",
      "old_id": "a0483c302719904f16d6d2a45e69d761cf89e293",
      "old_mode": 33188,
      "old_path": "clang/lib/Sema/SemaExceptionSpec.cpp",
      "new_id": "b5ff1dbd26d68d6bf6608faa7481cb5093ebd5f0",
      "new_mode": 33188,
      "new_path": "clang/lib/Sema/SemaExceptionSpec.cpp"
    },
    {
      "type": "modify",
      "old_id": "a8c2e39b49923f147aec62efb9fd54b1f871f6d8",
      "old_mode": 33188,
      "old_path": "clang/lib/Sema/SemaExpr.cpp",
      "new_id": "5836587a6ffa5e63e56c0e85a94e1a81cad3a8cb",
      "new_mode": 33188,
      "new_path": "clang/lib/Sema/SemaExpr.cpp"
    },
    {
      "type": "modify",
      "old_id": "6bb1a27d1800cfd7da1fb2638812e78aca9f28b2",
      "old_mode": 33188,
      "old_path": "clang/lib/Sema/SemaStmt.cpp",
      "new_id": "1b1643250d05e2cd3aa9f99a69966bd18638449b",
      "new_mode": 33188,
      "new_path": "clang/lib/Sema/SemaStmt.cpp"
    },
    {
      "type": "modify",
      "old_id": "8e5dbeb7923486e2ef9ca9c3a673af29d45a9a86",
      "old_mode": 33188,
      "old_path": "clang/lib/Sema/TreeTransform.h",
      "new_id": "d5b6fdd7dc405583048225cd87ffc2d35648209d",
      "new_mode": 33188,
      "new_path": "clang/lib/Sema/TreeTransform.h"
    },
    {
      "type": "modify",
      "old_id": "eef97a8588f0b612dcb37beb9e325267b7ab631b",
      "old_mode": 33188,
      "old_path": "clang/lib/Serialization/ASTReaderStmt.cpp",
      "new_id": "495517ccb31f3e77e3b13dcf3c3f6750b951630b",
      "new_mode": 33188,
      "new_path": "clang/lib/Serialization/ASTReaderStmt.cpp"
    },
    {
      "type": "modify",
      "old_id": "acf345392aa1a2e94600e02ed889867a568732da",
      "old_mode": 33188,
      "old_path": "clang/lib/Serialization/ASTWriterStmt.cpp",
      "new_id": "a457e627799c9d98443fbdb5adfae86c33b0a827",
      "new_mode": 33188,
      "new_path": "clang/lib/Serialization/ASTWriterStmt.cpp"
    },
    {
      "type": "modify",
      "old_id": "a759aee47b8ea9fca7f7463f6287361efe425faf",
      "old_mode": 33188,
      "old_path": "clang/lib/StaticAnalyzer/Core/ExprEngine.cpp",
      "new_id": "d3de632179e1df3521053c047d80f46935ced5f3",
      "new_mode": 33188,
      "new_path": "clang/lib/StaticAnalyzer/Core/ExprEngine.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "eba057f93c9c25f13777c0f4f69027ea08fcf38b",
      "new_mode": 33188,
      "new_path": "clang/test/AST/ast-dump-defer-ts.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bcc217a59777864d06b907beba4c563fa7d1abd9",
      "new_mode": 33188,
      "new_path": "clang/test/AST/ast-print-defer-ts.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5622fecbb4feda6ce28fcbd28fc6035a475cc2aa",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGen/defer-ts-musttail.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d831b4380b9295feaad6c4ce7982b887bc1ad406",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGen/defer-ts-nested-cleanups.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a91816f50d8d55a1598f4531ca066f0d030d2b78",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGen/defer-ts-seh.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "79b09064d330c440d5575d6a62861a37cbc02f52",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGen/defer-ts.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "929f2c58f974a7810c94ce4224196f388a7f2d48",
      "new_mode": 33188,
      "new_path": "clang/test/Lexer/defer-keyword.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "118fe9ee3cc8f5df13d748d15e110d9231ccc3b6",
      "new_mode": 33188,
      "new_path": "clang/test/Parser/defer-ts.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fa25cac8575f6ecd6e2284ed7452a86bc0e84a46",
      "new_mode": 33188,
      "new_path": "clang/test/Parser/defer-ts.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e4995ac9b23ea8337a674a411bb05a86c1f067c1",
      "new_mode": 33188,
      "new_path": "clang/test/Preprocessor/defer-ts.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4b773ed3f09a0c6494564e1f0a386a9589eb3351",
      "new_mode": 33188,
      "new_path": "clang/test/Sema/defer-ts-seh.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "49230fa721e0f7091a0e15d728e3702e09c9abe5",
      "new_mode": 33188,
      "new_path": "clang/test/Sema/defer-ts-sjlj.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "95c68fa213eaae2afe3a11efba5f53ab632a3331",
      "new_mode": 33188,
      "new_path": "clang/test/Sema/defer-ts.c"
    },
    {
      "type": "modify",
      "old_id": "0a43d73063c1f5fe07ebe4a6c086ee7deb264897",
      "old_mode": 33188,
      "old_path": "clang/tools/libclang/CXCursor.cpp",
      "new_id": "c49ca567049c75db37191b9aa52ec845be6fd614",
      "new_mode": 33188,
      "new_path": "clang/tools/libclang/CXCursor.cpp"
    }
  ]
}
