[clang] [Clang] Preserve coroutine parameter referenced state (PR #70973)

Yuxuan Chen via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 1 16:10:36 PDT 2023


================
@@ -1965,9 +1965,15 @@ bool Sema::buildCoroutineParameterMoves(SourceLocation Loc) {
     if (PD->getType()->isDependentType())
       continue;
 
+    // Preserve the referenced state for unused parameter diagnostics.
+    bool DeclReferenced = PD->isReferenced();
+
     ExprResult PDRefExpr =
         BuildDeclRefExpr(PD, PD->getType().getNonReferenceType(),
                          ExprValueKind::VK_LValue, Loc); // FIXME: scope?
+
+    PD->setReferenced(DeclReferenced);
----------------
yuxuanchen1997 wrote:

`BuildDeclRefExpr` builds a `DeclRef` `Expr` and marks the referenced `Decl` as `Referenced`. 

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


More information about the cfe-commits mailing list