)]}'
{
  "commit": "2a02304bc025302bee96fc9b56ee454bfc0dc2a3",
  "tree": "ee14c6e094b326de04462e830f4dd77aeae3619e",
  "parents": [
    "eeb6590961d8e373e1aa34713f78b8a807c27312"
  ],
  "author": {
    "name": "Kai Ninomiya",
    "email": "kainino@chromium.org",
    "time": "Mon Oct 05 20:28:54 2026 -0700"
  },
  "committer": {
    "name": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Oct 05 20:28:54 2026 -0700"
  },
  "message": "Remove usages of assert(), add PRESUBMIT checks\n\nassert() is controlled by NDEBUG, but that\u0027s confusing because we\nactually control asserts via DAWN_ENABLE_ASSERTS. Make all asserts\nconsistently use DAWN_ASSERT and DAWN_ENABLE_ASSERTS.\n\nDAWN_ASSERT is also better because it avoids unused variable warnings.\n(The genesis of this change was discovering one [[maybe_unused]] that\nwas only necessary because of an assert().)\n\nAdds both PRESUBMIT and Clang-Tidy rules to try to enforce this.\nUnfortunately the NDEBUG check won\u0027t be totally warning-clean because\nsometimes we actually want that and not DAWN_ENABLE_ASSERTS. In fact I\ndidn\u0027t find any place we used it wrong - there\u0027s only one place NDEBUG\nis used; the other one that was incorrect was already fixed:\nhttps://dawn.googlesource.com/dawn/+/098fd8d2225013faec7bfaa3bccd2022a19cb19f\n\nNote there are some places where assert() is implicitly in scope for\nsome reason, but we didn\u0027t explicitly include \u003ccassert\u003e. These are\ndetected best-effort (if they\u0027re single-line) by PRESUBMIT. assert() is\na macro, not a function, so we can\u0027t detect these with\nbugprone-unsafe-functions.CustomFunctions.\n\nBug: 501491694\nChange-Id: I583edcedddc09c8f11d1315c6de76957e6f5d498\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/345796\nReviewed-by: dan sinclair \u003cdsinclair@chromium.org\u003e\nCommit-Queue: Kai Ninomiya \u003ckainino@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5b828932a4341eefd04e6ce046fdc162bc960fd9",
      "old_mode": 33188,
      "old_path": ".clang-tidy",
      "new_id": "29a6e1eda0edcfb50d2fc7fb6be85786f07275f9",
      "new_mode": 33188,
      "new_path": ".clang-tidy"
    },
    {
      "type": "modify",
      "old_id": "17b00af3c7ea8480c11ab38e3ef8ad65c24d2891",
      "old_mode": 33188,
      "old_path": "PRESUBMIT.py",
      "new_id": "e2b606f53bdc683d172978a311a6157930857249",
      "new_mode": 33188,
      "new_path": "PRESUBMIT.py"
    },
    {
      "type": "modify",
      "old_id": "b0a3cd0a1dcf3fac259062418f5101c6ef5a3ca4",
      "old_mode": 33188,
      "old_path": "generator/templates/art/structures.cpp",
      "new_id": "1325775ffcdd9338805d0a4b7d66f7dac20b3c37",
      "new_mode": 33188,
      "new_path": "generator/templates/art/structures.cpp"
    },
    {
      "type": "modify",
      "old_id": "b42561b16ee0a3f385fb3567becff55f66e2e415",
      "old_mode": 33188,
      "old_path": "src/dawn/common/Compiler.h",
      "new_id": "8000137a9ac31c5674fa2e5fb0e543c9ea9b7c77",
      "new_mode": 33188,
      "new_path": "src/dawn/common/Compiler.h"
    },
    {
      "type": "modify",
      "old_id": "c917d493b77340e1fed885e8279f842415c52016",
      "old_mode": 33188,
      "old_path": "src/dawn/native/metal/DeviceMTL.mm",
      "new_id": "1eaa6c0c37097245155fac83a5fcc72e7bf1a76e",
      "new_mode": 33188,
      "new_path": "src/dawn/native/metal/DeviceMTL.mm"
    },
    {
      "type": "modify",
      "old_id": "b1299f3a09e028bb1a0e8874cd191af39625944b",
      "old_mode": 33188,
      "old_path": "src/dawn/native/webgpu/CaptureContext.h",
      "new_id": "e582b1307d903cfb3d04165bd6cd4c5fc7b64b11",
      "new_mode": 33188,
      "new_path": "src/dawn/native/webgpu/CaptureContext.h"
    },
    {
      "type": "modify",
      "old_id": "9c16028b532b68d8ae5704ded45ebc06f0c72321",
      "old_mode": 33188,
      "old_path": "src/dawn/node/binding/AsyncRunner.cpp",
      "new_id": "5f3f2a298e39b41bb85057fb68a93cb92bf40f26",
      "new_mode": 33188,
      "new_path": "src/dawn/node/binding/AsyncRunner.cpp"
    },
    {
      "type": "modify",
      "old_id": "53a0ca4f8d04a0d8e8bcb99d402676a6b5cd67cb",
      "old_mode": 33188,
      "old_path": "src/dawn/node/binding/Converter.cpp",
      "new_id": "fca3181afac880e6d410a73fdd8c71128125a2b5",
      "new_mode": 33188,
      "new_path": "src/dawn/node/binding/Converter.cpp"
    },
    {
      "type": "modify",
      "old_id": "e9420b10b39781a95c8b7938d85311aa9461fe93",
      "old_mode": 33188,
      "old_path": "src/dawn/node/binding/GPUAdapterInfo.cpp",
      "new_id": "f7e2d7d7fcb6229a6bcab16401f3ba552c1c7bb4",
      "new_mode": 33188,
      "new_path": "src/dawn/node/binding/GPUAdapterInfo.cpp"
    },
    {
      "type": "modify",
      "old_id": "bf34b3b11839cc37b12854aa5974ba0ee2813e8f",
      "old_mode": 33188,
      "old_path": "src/dawn/node/binding/GPUBuffer.cpp",
      "new_id": "86984965e0a70863472a4e8365bf87640663fb22",
      "new_mode": 33188,
      "new_path": "src/dawn/node/binding/GPUBuffer.cpp"
    },
    {
      "type": "modify",
      "old_id": "6f1cb6a1cd14ba9894935266b59e31de61c5eabf",
      "old_mode": 33188,
      "old_path": "src/dawn/node/binding/GPUDevice.cpp",
      "new_id": "30562098813ce6fb3a3d47b60310fd90e47c6f31",
      "new_mode": 33188,
      "new_path": "src/dawn/node/binding/GPUDevice.cpp"
    },
    {
      "type": "modify",
      "old_id": "bbaf067bbf637f29d41eea9907a87f6e46c553bc",
      "old_mode": 33188,
      "old_path": "src/dawn/node/binding/GPUQueue.cpp",
      "new_id": "52b0db41a29aa173c1ea086c58c3e4f4f6b991c2",
      "new_mode": 33188,
      "new_path": "src/dawn/node/binding/GPUQueue.cpp"
    },
    {
      "type": "modify",
      "old_id": "e86bac22b4f57a79b8e904adc55a7882354742f1",
      "old_mode": 33188,
      "old_path": "src/dawn/node/binding/GPUShaderModule.cpp",
      "new_id": "5cb238447191a7f5a89a720ad18231ecfd944174",
      "new_mode": 33188,
      "new_path": "src/dawn/node/binding/GPUShaderModule.cpp"
    },
    {
      "type": "modify",
      "old_id": "8cb35b2fc7c9f3294cc37c3fd2214124fcee93a3",
      "old_mode": 33188,
      "old_path": "src/dawn/node/interop/Core.h",
      "new_id": "358627373cc8f9e5a307a9cff375682e25a88fb0",
      "new_mode": 33188,
      "new_path": "src/dawn/node/interop/Core.h"
    },
    {
      "type": "modify",
      "old_id": "2aa97c5d1e4fa0d80f4608a72ad571e8100926f8",
      "old_mode": 33188,
      "old_path": "src/dawn/node/napi_v8/napi_v8.cpp",
      "new_id": "038d693235acbace28fdf95d6e5db297b0760eff",
      "new_mode": 33188,
      "new_path": "src/dawn/node/napi_v8/napi_v8.cpp"
    },
    {
      "type": "modify",
      "old_id": "220410e410905206318551040796a8c868f17214",
      "old_mode": 33188,
      "old_path": "src/dawn/node/standalone/BUILD.gn",
      "new_id": "38f5124b7a4e42be11b08e58c9188eb7d37f7fb5",
      "new_mode": 33188,
      "new_path": "src/dawn/node/standalone/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "adac08cb85db99119ba33821bb1164f57aad8208",
      "old_mode": 33188,
      "old_path": "src/dawn/node/standalone/EventLoop.cpp",
      "new_id": "af6d3bae5f392b6d2d288983285f7efc0374e9c3",
      "new_mode": 33188,
      "new_path": "src/dawn/node/standalone/EventLoop.cpp"
    },
    {
      "type": "modify",
      "old_id": "58c67512649fb7284f0edeb22880c1010202a5b6",
      "old_mode": 33188,
      "old_path": "src/dawn/node/standalone/EventLoop.h",
      "new_id": "b8aba4752097cf7a81056548b3675cdb57e297c3",
      "new_mode": 33188,
      "new_path": "src/dawn/node/standalone/EventLoop.h"
    },
    {
      "type": "modify",
      "old_id": "728bd486404b99ba33096e8eb9cfaf4b72acadee",
      "old_mode": 33188,
      "old_path": "src/tint/lang/wgsl/writer/ast_printer/literal_test.cc",
      "new_id": "47fa4042719b57a25771f33a81c04f4d1ece5e91",
      "new_mode": 33188,
      "new_path": "src/tint/lang/wgsl/writer/ast_printer/literal_test.cc"
    },
    {
      "type": "modify",
      "old_id": "658acfffcbfe416ff88ac0725926bce7122c1aae",
      "old_mode": 33188,
      "old_path": "tools/android/webgpu/src/main/cpp/JNIContext.cpp",
      "new_id": "015f3e41b0056a93c8e0489c6d27417cd935f83f",
      "new_mode": 33188,
      "new_path": "tools/android/webgpu/src/main/cpp/JNIContext.cpp"
    }
  ]
}
