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

John McCall via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 30 14:58:05 PDT 2024


================
@@ -5915,6 +5916,16 @@ bool Sema::GatherArgumentsForCall(SourceLocation CallLoc, FunctionDecl *FDecl,
           ProtoArgType->isBlockPointerType())
         if (auto *BE = dyn_cast<BlockExpr>(Arg->IgnoreParenNoopCasts(Context)))
           BE->getBlockDecl()->setDoesNotEscape();
+      // During template instantiation it is possible that we already created
+      // the HLSLOutArgExpr if it was produced during tree transformation.
----------------
rjmccall wrote:

Since you've fixed TreeTransform to look through the `HLSLOutArgExpr`, it should now no longer be possible to see an `HLSLOutArgExpr` here.

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


More information about the cfe-commits mailing list