)]}'
{
  "commit": "8917c648bdd68007c96b8ca9995533cc3ee995c2",
  "tree": "02b87b81e6b051a02abc4e1fc8dec31566d71f13",
  "parents": [
    "4874ce46ae35589e138798552750e50b458827cc"
  ],
  "author": {
    "name": "Ben Clayton",
    "email": "bclayton@google.com",
    "time": "Fri Feb 09 21:57:08 2024 +0000"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Feb 09 21:57:08 2024 +0000"
  },
  "message": "[tint][ast] Fix DemoteToHelper with atomicCompareExchangeWeak()\n\nSince the resolver was able to parse \u0027untypable\u0027 builtin structures with https://dawn-review.googlesource.com/c/dawn/+/129482, some transforms (like PromoteInitializersToLet) are able to create lets of these \u0027untypeable\u0027 builtin types.\n\nThe DemoteToHelper transform had its own workaround for the \u0027untypeable\u0027 atomicCompareExchangeWeak() result type, by creating a user-declared structure with the same shape. This workaround can fail if a previous transform builds a variable with the \u0027untypeable\u0027 result type, as the user-declared type cannot be assigned to it.\n\nFortunately the fix here is simple - we can just remove the workaround in DemoteToHelper, which makes the transform emit the \u0027untypeable\u0027 result type, and so the assignment matches types.\n\nBug: chromium:324439761\nFixed: tint:2147\nChange-Id: I89ca496c60ce140bfb7c5d6de54f4931afc85fbf\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/173180\nAuto-Submit: Ben Clayton \u003cbclayton@google.com\u003e\nReviewed-by: Antonio Maiorano \u003camaiorano@google.com\u003e\nCommit-Queue: Ben Clayton \u003cbclayton@google.com\u003e\nKokoro: Kokoro \u003cnoreply+kokoro@google.com\u003e\n(cherry picked from commit f83de0f6583483d76b647ad716702723ec276a42)\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/174024\nReviewed-by: David Neto \u003cdneto@google.com\u003e\nKokoro: Ben Clayton \u003cbclayton@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "93a539cdaece681bc3f3277c1f93f99055f8ded9",
      "old_mode": 33188,
      "old_path": "src/tint/lang/wgsl/ast/transform/demote_to_helper.cc",
      "new_id": "1b88f20a8cbeaa195d1496d8f0bc686fff561c20",
      "new_mode": 33188,
      "new_path": "src/tint/lang/wgsl/ast/transform/demote_to_helper.cc"
    },
    {
      "type": "modify",
      "old_id": "de590a4b6239c31875973203d6470e17074efe9c",
      "old_mode": 33188,
      "old_path": "src/tint/lang/wgsl/ast/transform/demote_to_helper_test.cc",
      "new_id": "0af6dd19861ee58b544ec25ecb46a23e6e7d2046",
      "new_mode": 33188,
      "new_path": "src/tint/lang/wgsl/ast/transform/demote_to_helper_test.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "97c0f58cb1d8eb8d97f13d1fd287f1e7c837080b",
      "new_mode": 33188,
      "new_path": "test/tint/bug/tint/2147.wgsl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c2ed537dac712a7e17c0c86b4b068b96ffc7ba1f",
      "new_mode": 33188,
      "new_path": "test/tint/bug/tint/2147.wgsl.expected.dxc.hlsl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c2ed537dac712a7e17c0c86b4b068b96ffc7ba1f",
      "new_mode": 33188,
      "new_path": "test/tint/bug/tint/2147.wgsl.expected.fxc.hlsl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "62cd623cebfd55ea08818a67c1eaa627904e1e1d",
      "new_mode": 33188,
      "new_path": "test/tint/bug/tint/2147.wgsl.expected.glsl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7b22eef2270a8546ded1c703e07054881c9ba29d",
      "new_mode": 33188,
      "new_path": "test/tint/bug/tint/2147.wgsl.expected.msl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6db60b73512537dc33a5ed38f789a1c884ac8d59",
      "new_mode": 33188,
      "new_path": "test/tint/bug/tint/2147.wgsl.expected.spvasm"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dfb1f4d64ae16eef62f4f295b41836dbe22951c0",
      "new_mode": 33188,
      "new_path": "test/tint/bug/tint/2147.wgsl.expected.wgsl"
    },
    {
      "type": "modify",
      "old_id": "2f5f807ec6e50f0d561e71727bab50d447f29ff6",
      "old_mode": 33188,
      "old_path": "test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.dxc.hlsl",
      "new_id": "a8418d65f790d044e5d91bd379be43e7530dda38",
      "new_mode": 33188,
      "new_path": "test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.dxc.hlsl"
    },
    {
      "type": "modify",
      "old_id": "2f5f807ec6e50f0d561e71727bab50d447f29ff6",
      "old_mode": 33188,
      "old_path": "test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.fxc.hlsl",
      "new_id": "a8418d65f790d044e5d91bd379be43e7530dda38",
      "new_mode": 33188,
      "new_path": "test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.fxc.hlsl"
    },
    {
      "type": "modify",
      "old_id": "6e53b760ff5b0d18531a1617332059013f03937d",
      "old_mode": 33188,
      "old_path": "test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.glsl",
      "new_id": "a0bff775f8d7687cdeaf885d9a77b9a41b8dab85",
      "new_mode": 33188,
      "new_path": "test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.glsl"
    },
    {
      "type": "modify",
      "old_id": "51643495fbfd32e7fea8751d4bd5171ac7bc747c",
      "old_mode": 33188,
      "old_path": "test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.msl",
      "new_id": "0818c093656f07f5e24237238df99c6136180d93",
      "new_mode": 33188,
      "new_path": "test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.msl"
    },
    {
      "type": "modify",
      "old_id": "fd658dcc163037380866f706c49718d9f04df03b",
      "old_mode": 33188,
      "old_path": "test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.spvasm",
      "new_id": "2c0e942f2ab1565c99dd249d8eda695a41929c41",
      "new_mode": 33188,
      "new_path": "test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.spvasm"
    }
  ]
}
