================
@@ -937,8 +937,28 @@ CIRGenCallee CIRGenFunction::emitCallee(const clang::Expr 
*e) {
       return emitDirectCallee(cgm, funcDecl);
   }
 
-  cgm.errorNYI(e->getSourceRange(), "Unsupported callee kind");
-  return {};
+  assert(!cir::MissingFeatures::opCallPseudoDtor());
----------------
Lancern wrote:

> Please add a check for dyn_cast<MemberExpr>(e) and add an errorNYI for that 
> case.

Done.

> Also, the two inner if statements above fall through to here, but I'm not 
> convinced we have an indirect call in those cases. Maybe add NYI handlers 
> there too?

I updated the two `if` statements above as follows:

- I added to the first `if` with a guarding `assert` that ensures when it falls 
off we have an indirect call through a function pointer lvalue.
- I changed the second `if` to not falling by replacing the `dyn_cast` with a 
`cast`. The latest code in the incubator actually does this.

https://github.com/llvm/llvm-project/pull/139748
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to