[clang] [HLSL] Implement output parameter (PR #101083)

John McCall via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 15 17:28:05 PDT 2024


================
@@ -4148,6 +4152,30 @@ static void emitWriteback(CodeGenFunction &CGF,
   assert(!isProvablyNull(srcAddr.getBasePointer()) &&
          "shouldn't have writeback for provably null argument");
 
+  if (CGF.getLangOpts().HLSL) {
+    if (!isa<OpaqueValueExpr>(writeback.CastExpr)) {
+      RValue TmpVal = CGF.EmitAnyExprToTemp(writeback.CastExpr);
+      if (TmpVal.isScalar())
+        CGF.EmitStoreThroughLValue(TmpVal, srcLV);
----------------
rjmccall wrote:

You're missing the `_Complex` case here.

https://github.com/llvm/llvm-project/pull/101083


More information about the cfe-commits mailing list