)]}'
{
  "commit": "eaef650f57900b36751dea4e0383de1e73cdff29",
  "tree": "4fb76aedb5edfb6e5b878a7cf85f93bc0098e223",
  "parents": [
    "9240c64f4528064cec31e8875fb891b473f8ca7c"
  ],
  "author": {
    "name": "Andy Kaylor",
    "email": "akaylor@nvidia.com",
    "time": "Fri Jun 12 10:26:03 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jun 12 10:26:03 2026 -0700"
  },
  "message": "[CIR] Implement handling for CXXConstructLValue expressions (#203402)\n\nThis implements the handling to emit an l-value for CXXConstructExpr and\nCXXTemporaryObjectExpr expressions. This is a simple copy from the\nequivalent code in classic codegen and uses existing CIR code for most\nof the actual work.\n\nA multi-argument constructor call written with explicit type syntax\nproduces a CXXTemporaryObjectExpr. Using it as the base of a member\naccess reaches emitLValue with that expression class. A single-argument\nconstructor call performs a constructor conversion, so the base of the\nmember access is a CXXFunctionalCastExpr whose subexpression is a\nCXXConstructExpr. emitCastLValue forwards to the subexpression, reaching\nemitLValue with the CXXConstructExpr class.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e110f6e5d21a2629dcd1b32d429f89ea14ee3dee",
      "old_mode": 33188,
      "old_path": "clang/lib/CIR/CodeGen/CIRGenExpr.cpp",
      "new_id": "beaedd853f57b74d4c822e3c812c0fbcc33debca",
      "new_mode": 33188,
      "new_path": "clang/lib/CIR/CodeGen/CIRGenExpr.cpp"
    },
    {
      "type": "modify",
      "old_id": "21b2640b36071168c45a174831c34c8963b50097",
      "old_mode": 33188,
      "old_path": "clang/lib/CIR/CodeGen/CIRGenFunction.cpp",
      "new_id": "4b020c96964a7e728c7f811c3c38bac267e760fe",
      "new_mode": 33188,
      "new_path": "clang/lib/CIR/CodeGen/CIRGenFunction.cpp"
    },
    {
      "type": "modify",
      "old_id": "35112d1dd7b6845058e6a51cc00d6625d0c381c5",
      "old_mode": 33188,
      "old_path": "clang/lib/CIR/CodeGen/CIRGenFunction.h",
      "new_id": "317151c8d61c6a6f79af0128d89d2a4285097d53",
      "new_mode": 33188,
      "new_path": "clang/lib/CIR/CodeGen/CIRGenFunction.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "51d8be2b417aa3aa0b5639bd5da1443a1860bdcc",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGen/cxx-construct-lvalue.cpp"
    }
  ]
}
