)]}'
{
  "commit": "85c810060e1a2a90dc4ec184b4c4275db17ef28f",
  "tree": "28b3fe6f699647511cef8ef915793ef367f6ee23",
  "parents": [
    "3d4f979e271d2a1fe0906f4d1b16db108838f98f"
  ],
  "author": {
    "name": "Aaron Ballman",
    "email": "aaron@aaronballman.com",
    "time": "Fri May 02 07:20:02 2025 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri May 02 07:20:02 2025 -0400"
  },
  "message": "[C] Diagnose use of C++ keywords in C (#137234)\n\nThis adds a new diagnostic group, -Wc++-keyword, which is off by default\nand grouped under -Wc++-compat. The diagnostic catches use of C++\nkeywords in C code.\n\nThis change additionally fixes an issue with -Wreserved-identifier not\ndiagnosing use of reserved identifiers in function parameter lists in a\nfunction declaration which is not a definition.\n\nFixes https://github.com/llvm/llvm-project/issues/21898",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "95e0574562a2da64975be0cf621bd86a25169dba",
      "old_mode": 33188,
      "old_path": "clang/docs/ReleaseNotes.rst",
      "new_id": "2c65fc4667562c266b966e4dd57b052ee7333498",
      "new_mode": 33188,
      "new_path": "clang/docs/ReleaseNotes.rst"
    },
    {
      "type": "modify",
      "old_id": "4f235fecf4cf92ef87dcf6bbc741710c30a0a77b",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Basic/DiagnosticGroups.td",
      "new_id": "58439553d41c9e8c913c025c21e5a8228a4e4651",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Basic/DiagnosticGroups.td"
    },
    {
      "type": "modify",
      "old_id": "f29edfa835d423022b77835d14d2c76412f63a7f",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Basic/DiagnosticLexKinds.td",
      "new_id": "a3c32107596f07fe7fbea165f48908d6181eadb5",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Basic/DiagnosticLexKinds.td"
    },
    {
      "type": "modify",
      "old_id": "1275b056227b50aa412d828b18415d9d6b9deb1d",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Basic/IdentifierTable.h",
      "new_id": "54540193cfcc0cfc8578ddc747a1da3176c958f9",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Basic/IdentifierTable.h"
    },
    {
      "type": "modify",
      "old_id": "868e851342eb8d102c7eb2fe2de46f22c70d09df",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Basic/TokenKinds.def",
      "new_id": "fb53d88deea4ae6d25a6cdb3dce20b487a990ef7",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Basic/TokenKinds.def"
    },
    {
      "type": "modify",
      "old_id": "16151c94464f9999eb10442ea7935121b2fb50ea",
      "old_mode": 33188,
      "old_path": "clang/lib/Basic/IdentifierTable.cpp",
      "new_id": "cc472c9044c82b6a7201b99c35c81848ef929a48",
      "new_mode": 33188,
      "new_path": "clang/lib/Basic/IdentifierTable.cpp"
    },
    {
      "type": "modify",
      "old_id": "4c050bf1f5bb228bcd7f2480623d3398e95cc872",
      "old_mode": 33188,
      "old_path": "clang/lib/Lex/Preprocessor.cpp",
      "new_id": "9ea7b95622c763433a8f88e7add1f33f95c58f07",
      "new_mode": 33188,
      "new_path": "clang/lib/Lex/Preprocessor.cpp"
    },
    {
      "type": "modify",
      "old_id": "e1d7fc6d60f3c1f78bf56ab8054dc390ac563784",
      "old_mode": 33188,
      "old_path": "clang/lib/Sema/SemaDecl.cpp",
      "new_id": "d7421934032cf8ed157077023b51bd0998aebbe8",
      "new_mode": 33188,
      "new_path": "clang/lib/Sema/SemaDecl.cpp"
    },
    {
      "type": "modify",
      "old_id": "9bbedf59b77fc629fb1ece43dacb4007bfadc79a",
      "old_mode": 33188,
      "old_path": "clang/test/OpenMP/assumes_messages.c",
      "new_id": "4d63cc2e8aca5e764e8aa23821d3e965c9b27328",
      "new_mode": 33188,
      "new_path": "clang/test/OpenMP/assumes_messages.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f417469441114519c7b7c616b9ffafa3fe8f4cd5",
      "new_mode": 33188,
      "new_path": "clang/test/Sema/c++-keyword-in-c.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2a6c366991ba5d74e29a72b5ae2a1a1fe0ed370d",
      "new_mode": 33188,
      "new_path": "clang/test/Sema/c++-keyword-in-objc.m"
    }
  ]
}
