)]}'
{
  "commit": "604e4adef0f09fec00a618f003d3a8108f4c576d",
  "tree": "c7b8d8c241740e1a4d558bebbec7b1eee2e78d92",
  "parents": [
    "49c052363b4ff1a66dddee5525cdaeb215ccd244"
  ],
  "author": {
    "name": "Vlad Serebrennikov",
    "email": "serebrennikov.vladislav@gmail.com",
    "time": "Wed Feb 11 01:09:20 2026 +0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Feb 10 21:09:20 2026 +0000"
  },
  "message": "[clang] Non-trivial fixes in C++ DR tests (#179813)\n\nThis is a follow-up to #179674, which applies various fixes across C++\nDR tests uncovered by `-verify-directives` (#179835\n).\n\nChanges here serve double duty. First, they fix actual problems found by\n`-verify-directives`, because I\u0027ve been manually enforcing those rules\nmanually for quite a while. Second, they show typical problems and\npossible solutions when you opt-in a test to use `-verify-directives`.\nThis PR focuses on interesting cases, as partial diagnostic matches,\nwhich are trivial to fix, are fixed in boring #179674\n\nChanges include:\n1. Getting rid of instantiations at the end of TU that emit diagnostics:\neither trigger them earlier, or move them to a separate file\n2. Reordering of `expected-error` and `expected-note` to match the order\nin which corresponding diagnsotics are emitted.\n3. Eliminating leftover partial matches of diagnostic text\n4. Removing some extension warnings, because C++ DR tests are not\ninterested in features backported to older language modes.\n5. Fix for a hilarious case of CWG413 test, which was checking for a\nnote from a typo correction that happened in another test.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6d3a3238d4f3851cfa2fe157bf9d0e292b33b541",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg0xx.cpp",
      "new_id": "793ef5c7e2fdb6f12ca557188f0d25f087502e29",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg0xx.cpp"
    },
    {
      "type": "modify",
      "old_id": "c5b96c4ab8ffcfbc89949f8061e2e9424a9b0d1e",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg10xx.cpp",
      "new_id": "f0aaa174d6c0650dd69c809e342eda860296bf82",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg10xx.cpp"
    },
    {
      "type": "modify",
      "old_id": "0f97c484becdb637e4a1178ed5571af948be24e8",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg13xx.cpp",
      "new_id": "29d66ffb9241f51a7c6a202cc99c3110b47c83cb",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg13xx.cpp"
    },
    {
      "type": "modify",
      "old_id": "8e3e49dc42ce0353efb893807f5c11779db5f5ae",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg15xx.cpp",
      "new_id": "e97584c293cc4cead3f56af2655e85564e35f0a5",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg15xx.cpp"
    },
    {
      "type": "modify",
      "old_id": "1a36aba859e507c7b75339769081a354b3306db2",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg16xx.cpp",
      "new_id": "efb743871d528cdf7b186ba79d05c33fa048ef1b",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg16xx.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "25b9fcb747ec798f6f1876d791b77e155f50e412",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg1736.cpp"
    },
    {
      "type": "modify",
      "old_id": "8c4f916a606a442e9582e121f437f4520a90a3a1",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg17xx.cpp",
      "new_id": "cafa21dc17ee370eedbb64167ef33963cd25df2f",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg17xx.cpp"
    },
    {
      "type": "modify",
      "old_id": "c0363fa467ea1cf03395a4067877ef2831125025",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg18xx.cpp",
      "new_id": "f8f85611498f4aa3a19d5f59eea83e5cd48bab30",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg18xx.cpp"
    },
    {
      "type": "modify",
      "old_id": "066a429ea1c59c51031d726178f86885057ebb17",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg1xx.cpp",
      "new_id": "359a194b1fdbb912b8d4f8b46dd0e814d63b0d15",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg1xx.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "23469f999b773437de06f08ecb957652e3105161",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg2026.cpp"
    },
    {
      "type": "modify",
      "old_id": "339d4d83c47e98e7b2338d031fe4db2a337914b2",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg20xx.cpp",
      "new_id": "6b120844a606d39c2c01ef6a1a6b0d1f1b3a8332",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg20xx.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "03cd31b4e8446fc18e53b9610a6e53d95c55f2a2",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg2406.cpp"
    },
    {
      "type": "modify",
      "old_id": "c499a2dfcccb33f0500025c85d55c578bf01b866",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg24xx.cpp",
      "new_id": "ec3b29ac7a5991ec092d3c8b90e71a6222aad810",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg24xx.cpp"
    },
    {
      "type": "modify",
      "old_id": "0e0fc735c68432bfaf474a9f71bad093107679ec",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg25xx.cpp",
      "new_id": "ea79fe16a4fe66703f083b5de86b74d98378642b",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg25xx.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0a04a486d78ba7525fffa9cb80c44ea06d8b3e5c",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg2881.cpp"
    },
    {
      "type": "modify",
      "old_id": "d0ee191ef23d8b4556283d39bf347c26539ee20d",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg28xx.cpp",
      "new_id": "6d247bb9abe0ef6c9c958bc4e63c68c52d6df35f",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg28xx.cpp"
    },
    {
      "type": "modify",
      "old_id": "a4995ddc2c588b5c2b98214b7785eb488dbf0b9c",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg2xx.cpp",
      "new_id": "566eba71310a030ccd9dc3a836dd3a58499c68c8",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg2xx.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6ea01805580a69b47e17940e044b8706bfe7f318",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg329.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8ee41a87cf47c298dda043afb33ba279f00b11ee",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg390.cpp"
    },
    {
      "type": "modify",
      "old_id": "754eb231572875c428b920f23ff9e2e8b66c9347",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg3xx.cpp",
      "new_id": "e3cd0725c8170e4d12ce5e99e640939c8a821c66",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg3xx.cpp"
    },
    {
      "type": "modify",
      "old_id": "eccfbea014921976ae55b59d56a2bb186a4bf8fc",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg4xx.cpp",
      "new_id": "ee2940d7f2fae669e5f9b40bacd259910e1fcdbf",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg4xx.cpp"
    },
    {
      "type": "modify",
      "old_id": "f29c1e8131019bd260be5adb6b32c8a6c0fa19a6",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg5xx.cpp",
      "new_id": "450f8b211326f97b70ec28e940eac08e1527da4b",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg5xx.cpp"
    },
    {
      "type": "modify",
      "old_id": "3937a80d4f3c9c35682998bb77911144737cfb07",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg6xx.cpp",
      "new_id": "3f91780d3366cac00eb196aab74999e953b206eb",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg6xx.cpp"
    },
    {
      "type": "modify",
      "old_id": "84bcc07bf0a3e60c9f0c8fa980128a2903fac43c",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg7xx.cpp",
      "new_id": "7f49f5ecabf0fb74d9711014a0d34986d26cbe72",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg7xx.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5618b82388bf0b909916055cc7ba009d593b4bcd",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg98.cpp"
    },
    {
      "type": "modify",
      "old_id": "96e46742650d6f1befbcef66d294b2284f5defea",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/drs/cwg9xx.cpp",
      "new_id": "3863cb4600fc7e36c86a92091ea1574b65bfff19",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/drs/cwg9xx.cpp"
    }
  ]
}
