[clang] [libcxx] [Clang] Add __builtin_invoke and use it in libc++ (PR #116709)
Nikolas Klauser via cfe-commits
cfe-commits at lists.llvm.org
Tue May 20 08:00:37 PDT 2025
================
@@ -5406,6 +5408,101 @@ ExprResult Sema::ConvertVectorExpr(Expr *E, TypeSourceInfo *TInfo,
RParenLoc, CurFPFeatureOverrides());
}
+ExprResult Sema::BuiltinInvoke(CallExpr *TheCall) {
+ auto Loc = TheCall->getBeginLoc();
+ auto Args = MutableArrayRef(TheCall->getArgs(), TheCall->getNumArgs());
+ assert(llvm::none_of(Args,
----------------
philnik777 wrote:
```
template <class T>
auto test(T v) {
return __builtin_invoke(v);
}
```
should do the trick, right? Assuming I've set things up correctly on my end, this does not trigger the assert here.
https://github.com/llvm/llvm-project/pull/116709
More information about the cfe-commits
mailing list