================ @@ -2252,7 +2252,26 @@ RValue CIRGenFunction::emitCall(clang::QualType calleeTy, CallArgList args; assert(!cir::MissingFeatures::opCallArgEvaluationOrder()); - emitCallArgs(args, dyn_cast<FunctionProtoType>(fnType), e->arguments(), + // C++23 static-member operators (`static operator()` / + // `static operator[]`) produce a CXXOperatorCallExpr whose first argument + // is the object expression even though the operator is static. Emit the + // object for its side effects and drop it before walking the parameter + // arguments. + bool staticOperator = false; ---------------- erichkeane wrote:
This bool isn't used anywhere else... why not just do the stuff on line 2270/2271 inside the conditional on 2265 instead? https://github.com/llvm/llvm-project/pull/197068 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
