)]}'
{
  "commit": "dcdd1bc13db6af3d2fbed6ebe3d296d28107e77f",
  "tree": "39751aa97d3852f907ff98d8c91392a4d0c5cef1",
  "parents": [
    "0a9c408adc3f4cb5dfa6fe90871c96ed87f97a0b"
  ],
  "author": {
    "name": "Chuanqi Xu",
    "email": "yedeng.yd@linux.alibaba.com",
    "time": "Fri Sep 04 16:07:43 2026 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Sep 04 16:07:43 2026 +0800"
  },
  "message": "[C++20] [Modules] Identify the tag redecl through Using (#221147)\n\nClose https://github.com/llvm/llvm-project/issues/96423\n\nWe\u0027ve already have some logics to merge the redecls. But if the previous\ndecls are found through using decl, we can\u0027t merge them right now. As\nthe reproducer shows. The using decl is common in modules as a common\nmethod to wrap headers into a module.\n\nThe fix is simple too. If the existing check fails, we\u0027ll check if the\nfound one is a using decl, if yes, we will reuse the existing check with\nthe target decl for using decl.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9b07b591b8c0716cc2ce413b993247e8bc599484",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Sema/Sema.h",
      "new_id": "2bfe58f02bc3a53233f47dcc4a6b440e34c9e35c",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Sema/Sema.h"
    },
    {
      "type": "modify",
      "old_id": "d6114ccbae7fe933e66659106dd5f3f228809d6c",
      "old_mode": 33188,
      "old_path": "clang/lib/Sema/SemaDecl.cpp",
      "new_id": "ccdc33d6fa39b081770e4f7b2d9d9b86763add61",
      "new_mode": 33188,
      "new_path": "clang/lib/Sema/SemaDecl.cpp"
    },
    {
      "type": "modify",
      "old_id": "4f7e59ea43ef105bd8b3378980660fdbb0d383eb",
      "old_mode": 33188,
      "old_path": "clang/lib/Sema/SemaTemplate.cpp",
      "new_id": "b8b0c71894daacfff4305d4b3ec18e8e09b05c65",
      "new_mode": 33188,
      "new_path": "clang/lib/Sema/SemaTemplate.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a5dc3a484cfc01e2a58040eb0197f2efeffdcabd",
      "new_mode": 33188,
      "new_path": "clang/test/Modules/pr96423.cppm"
    }
  ]
}
