samitolvanen wrote:

> If a function is declared without a prototype (pre-C23), it doesn't mean it 
> has a void argument list; it means the argument list is undeclared. So you 
> can't just assume the argument list is void; you have to compute the argument 
> types from the actual arguments passed to the call.

Agreed, that would the best solution here.

> Or you could just forbid unprototyped functions in KCFI mode, If you don't 
> want to deal with the edge cases here (i.e. -Werror=strict-prototypes).

I'm fine with this option too. However, I assume the author has a use case for 
KCFI in an existing code base, which uses unprototyped functions.

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

Reply via email to