)]}'
{
  "commit": "b421e4039ddf914ca55a1be0468b138bf7dc188c",
  "tree": "f1d956857e25137ed63357b28a7b9f614e19deda",
  "parents": [
    "ff67199151e64f4dc1f13a96aea80dd50c43d669"
  ],
  "author": {
    "name": "Ben Clayton",
    "email": "bclayton@google.com",
    "time": "Thu Nov 23 08:08:53 2023 +0000"
  },
  "committer": {
    "name": "Ben Clayton",
    "email": "bclayton@google.com",
    "time": "Thu Nov 23 08:08:53 2023 +0000"
  },
  "message": "[tint][wgsl][fuzz] Fix static init ordering bug\n\nBecause C++ makes no ordering guarantees, we were having some fuzzers\nregister themselves before the vector holding the registered fuzzers was\nconstructed. Upon construction, the vector would wipe away all the\nregistered fuzzers, and so we were only running those that were\nregistered after the vector was constructed.\n\nInstead, use a static local to hold the vector. This is guaranteed to be\nconstructed the first time the function is called, avoiding the ordering\nfoot-gun.\n\nChange-Id: I1f442e6a15c64f6125bd6866d8f8c00829f2055a\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/162303\nReviewed-by: dan sinclair \u003cdsinclair@chromium.org\u003e\nKokoro: Kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: James Price \u003cjrprice@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "701335673511a509e937a92ae2f28b3389510244",
      "old_mode": 33188,
      "old_path": "src/tint/cmd/fuzz/wgsl/fuzz.cc",
      "new_id": "b5a09b0d53693cd84f53764d2d507cf911b05c74",
      "new_mode": 33188,
      "new_path": "src/tint/cmd/fuzz/wgsl/fuzz.cc"
    }
  ]
}
