)]}'
{
  "commit": "389854967d7803d5e3d909ca2b3995c56c080c01",
  "tree": "57796312e5e93919f12ffb24cb1ca89d3bf2a626",
  "parents": [
    "f23c77132e0b3fbba4281dca9b674970d84f9d2d"
  ],
  "author": {
    "name": "Devon Loehr",
    "email": "dloehr@google.com",
    "time": "Thu Jul 11 14:53:27 2024 -0400"
  },
  "committer": {
    "name": "swiftshader-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "swiftshader-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Jul 15 15:13:13 2024 +0000"
  },
  "message": "Make implicit `this` captures explicit\n\nWhen declaring a lambda with a value-capture default `[\u003d, ...]`, the `this` pointer is implicitly captured by value as well. This results in potentially-unintuitive behavior (https://reviews.llvm.org/D142639) and is deprecated in C++20. It produces a warning in newer versions of clang.\n\nUnfortunately, several compilers disallow explicitly capturing `this` with a value-capture default, so to get around this we capture necessary variable directly, with no capture default.\n\nSince it\u0027s just removing syntactic sugar, there are no changes to the compiled code. In conjunction with a patch to marl (https://github.com/google/marl/pull/266), this should remove all the instances of the warning from swiftshader.\n\nBug: 351004963\nChange-Id: I0c6641ca1ba1f5995472ba036f994ca94e6f2b4a\nReviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/73808\nCommit-Queue: Shahbaz Youssefi \u003csyoussefi@google.com\u003e\nReviewed-by: Shahbaz Youssefi \u003csyoussefi@google.com\u003e\nKokoro-Result: kokoro \u003cnoreply+kokoro@google.com\u003e\nTested-by: Shahbaz Youssefi \u003csyoussefi@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "415f2a0e7c43aa3ad579ef83cefab79f0db58b78",
      "old_mode": 33188,
      "old_path": "src/Pipeline/ComputeProgram.cpp",
      "new_id": "a26f3f40cc4b27cbacb0b2e8e825bab59c423bcf",
      "new_mode": 33188,
      "new_path": "src/Pipeline/ComputeProgram.cpp"
    },
    {
      "type": "modify",
      "old_id": "8c9e15ffb0cec26e178abb0f0a13063271f7ac59",
      "old_mode": 33188,
      "old_path": "src/Reactor/Coroutine.hpp",
      "new_id": "63f9408b60cc5b7fece2603df67c45169e090db6",
      "new_mode": 33188,
      "new_path": "src/Reactor/Coroutine.hpp"
    },
    {
      "type": "modify",
      "old_id": "667e1a04dc34267896f113c859b7ee7c3ed184b5",
      "old_mode": 33188,
      "old_path": "third_party/llvm-10.0/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp",
      "new_id": "fefce4b5f11a85e3436faa4a75bc35a7d563bf93",
      "new_mode": 33188,
      "new_path": "third_party/llvm-10.0/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp"
    },
    {
      "type": "modify",
      "old_id": "7bb01946616153d8806d3c0b7988944949fc88fe",
      "old_mode": 33188,
      "old_path": "third_party/llvm-10.0/llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp",
      "new_id": "5afff135c0acbae0dd996b7e85b9a5b2eb815ed1",
      "new_mode": 33188,
      "new_path": "third_party/llvm-10.0/llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp"
    },
    {
      "type": "modify",
      "old_id": "30906a32b00c53ff52bfd6b559071b56cd2558f6",
      "old_mode": 33188,
      "old_path": "third_party/llvm-10.0/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp",
      "new_id": "878161de819fe76e585384a9d8c1e2f70a3e53f9",
      "new_mode": 33188,
      "new_path": "third_party/llvm-10.0/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp"
    },
    {
      "type": "modify",
      "old_id": "74192cb20cd055ee9981c211a4e30cf85c8a1fe9",
      "old_mode": 33188,
      "old_path": "third_party/llvm-10.0/llvm/lib/Target/PowerPC/PPCMIPeephole.cpp",
      "new_id": "4531dd69d0cbe163cda381fc2a3fafa36b4fc782",
      "new_mode": 33188,
      "new_path": "third_party/llvm-10.0/llvm/lib/Target/PowerPC/PPCMIPeephole.cpp"
    },
    {
      "type": "modify",
      "old_id": "04c7e856b5d4ac3128e81f3937d536be709d97af",
      "old_mode": 33188,
      "old_path": "third_party/llvm-10.0/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp",
      "new_id": "e2c9e6f2062a47d4f17a3a1130aa778caff77dc3",
      "new_mode": 33188,
      "new_path": "third_party/llvm-10.0/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp"
    },
    {
      "type": "modify",
      "old_id": "6d0a4975e2668f4d0c746b48ab18212aa8a16eca",
      "old_mode": 33188,
      "old_path": "third_party/llvm-10.0/llvm/lib/Transforms/Scalar/GVNSink.cpp",
      "new_id": "7891c0323594516acea54eb1298599976aed97f6",
      "new_mode": 33188,
      "new_path": "third_party/llvm-10.0/llvm/lib/Transforms/Scalar/GVNSink.cpp"
    },
    {
      "type": "modify",
      "old_id": "ebfd5fe8b762d6c19c9e33fda600dbb59a0f2749",
      "old_mode": 33188,
      "old_path": "third_party/llvm-10.0/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp",
      "new_id": "e7fd775b463dfdc6957df0ecb5ada36426d7a6ea",
      "new_mode": 33188,
      "new_path": "third_party/llvm-10.0/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp"
    }
  ]
}
