diff options
author | Stephan Bergmann <stephan.bergmann@allotropia.de> | 2024-09-16 17:52:53 +0200 |
---|---|---|
committer | Stephan Bergmann <stephan.bergmann@allotropia.de> | 2024-09-17 21:01:48 +0200 |
commit | 4bbe329ef07bb38c939c6bef53ae4aa9928b9a52 (patch) | |
tree | a2c3637e0ec72d25a2e8dce98874562467a36dac /svtools/source/uitest | |
parent | 45ffeed6674e4f3c5b92f951094d41a0d0ec8002 (diff) |
Avoid -Werror,-Wcast-function-type-mismatch
...as seen when building LOWA (i.e., --disable-dynloading) with a recent Clang
with
<https://github.com/llvm/llvm-project/commit/999d4f840777bf8de26d45947192aa0728edc0fb>
"Split -Wcast-function-type into a separate group (#86131)", where
-Wcast-function-type-mismatch generally warns about casts between incompatible
function types...
> cppuhelper/source/shlib.cxx:294:23: error: cast from 'void *(*)(void *, void *)' to 'ImplementationConstructorFn *' (aka 'css::uno::XInterface *(*)(css::uno::XComponentContext *, const css::uno::Sequence<css::uno::Any> &)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
> 294 | = reinterpret_cast<ImplementationConstructorFn *>(
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 295 | map[i].constructor_function);
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...but not for the special case of casting from/to void(*)(void).
(Using the correct function type
> css::uno::XInterface * (*)(css::uno::XComponentContext *, css::uno::Sequence<css::uno::Any> const &)
throughout would be even better, but doesn't easily fit into this C code that is
included in low-level places that don't know those UNO types and is shared
between LOWA and Android etc.)
Change-Id: Ic4dbabbff0f772b34cf692db968c3ad257c37cb2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173463
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
Diffstat (limited to 'svtools/source/uitest')
0 files changed, 0 insertions, 0 deletions