https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/227998
>From e62dc6663b5937a472beca8ed81b019b2c0e42f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= <[email protected]> Date: Tue, 6 Oct 2026 08:11:02 +0200 Subject: [PATCH] rvalue --- clang/lib/Sema/SemaDeclAttr.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp index eb4a8c2ab9ae0..3fce8589739cd 100644 --- a/clang/lib/Sema/SemaDeclAttr.cpp +++ b/clang/lib/Sema/SemaDeclAttr.cpp @@ -6261,9 +6261,19 @@ static void handleClusterDimsAttr(Sema &S, Decl *D, const ParsedAttr &AL) { !AL.checkAtMostNumArgs(S, /*Num=*/3)) return; - S.addClusterDimsAttr(D, AL, AL.getArgAsExpr(0), - AL.getNumArgs() > 1 ? AL.getArgAsExpr(1) : nullptr, - AL.getNumArgs() > 2 ? AL.getArgAsExpr(2) : nullptr); + // Convert all arguments to rvalues. + ExprResult Converted1 = S.DefaultLvalueConversion(AL.getArgAsExpr(0)); + assert(!Converted1.isInvalid()); + ExprResult Converted2 = AL.getNumArgs() > 1 + ? S.DefaultLvalueConversion(AL.getArgAsExpr(1)) + : ExprResult(); + ExprResult Converted3 = AL.getNumArgs() > 2 + ? S.DefaultLvalueConversion(AL.getArgAsExpr(2)) + : ExprResult(); + + S.addClusterDimsAttr(D, AL, Converted1.get(), + Converted2.isInvalid() ? nullptr : Converted2.get(), + Converted3.isInvalid() ? nullptr : Converted3.get()); } static void handleNoClusterAttr(Sema &S, Decl *D, const ParsedAttr &AL) { _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
