[PATCH] D156244: [clang] Do not crash on use of a variadic overloaded operator
Shafik Yaghmour via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 25 09:29:03 PDT 2023
shafik added inline comments.
================
Comment at: clang/lib/Sema/SemaOverload.cpp:14001
+
+ if (FnDecl->isInvalidDecl())
+ return ExprError();
----------------
Fznamznon wrote:
> shafik wrote:
> > shafik wrote:
> > > It feels a bit weird that we are succeeding in finding the best viable function and what we find is invalid.
> > It looks like we have a couple of test that generate the `cannot be variadic` diagnostic for overloads e.g. `clang/test/SemaCXX/overloaded-operator-decl.cpp` it might be worth looking into why they don't crash and this case does.
> Yes, but it seems to be done this way in other places as well:
> https://github.com/llvm/llvm-project/blob/0478ef2d366c6f88678e37d54190dcdaa0ec69da/clang/lib/Sema/SemaOverload.cpp#L15145 .
I see that but that diagnostic looks like it is generated by the call to `CheckMemberOperatorAccess(...)` which is not really the same situation we have here.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D156244/new/
https://reviews.llvm.org/D156244
More information about the cfe-commits
mailing list