[clang] [clang] move -Wcast-function-type under -Wextra (PR #77178)
Thurston Dang via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 21 09:59:07 PDT 2024
thurstond wrote:
> > I believe this patch is causing some issues on two PPC bots. Would you be able to help take a look? https://lab.llvm.org/buildbot/#/builders/57/builds/33601/steps/5/logs/stdio https://lab.llvm.org/buildbot/#/builders/36/builds/43759/steps/12/logs/stdio
>
> I guess adding this flag (-Wno-cast-function-type-strict) will make the error go away. But it is caused by the conversion of the second argument "void*" to "siginfo_t _" when casting from "SignalHandlerType" i.e. "void (___sanitizer::SignalHandlerType)(int, void *, void *);" to "void (*sa_sigaction) (int, siginfo_t *, void *);". If you are sure that this conversion is valid, I guess we can add this flag. Might be similar for others.
The reason for the weird cast: SignalHandlerType has 'void*' instead of 'siginfo_t*' because it is typedef'ed in sanitizer_common/sanitizer_common.h, which does not have access to the header (signal.h) that defines siginfo_t; we therefore cannot fix SignalHandlerType.
https://github.com/llvm/llvm-project/pull/77178
More information about the cfe-commits
mailing list