~leon_plickat/public-inbox

wlclock: Fails to build with Clang 15 due to -Werror

Details
Message ID
<ttzs-maz0-wny@FreeBSD.org>
DKIM signature
missing
Download raw message
Regressed by https://github.com/llvm/llvm-project/commit/11da1b53d8c
See also https://discourse.llvm.org/t/rfc-enabling-wstrict-prototypes-by-default-in-c/60521
meson.build has warning_level=3 adding -Wpedantic and enabling -Wstrict-prototypes.

Note, lavalauncher and wayout (sxmo) have similar errors.

$ export CC=clang CXX=clang++
$ meson setup /tmp/wlclock_build
$ meson compile -C /tmp/wlclock_build
[...]
src/output.c:22:18: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
static void noop () {}
                 ^
                  void
src/wlclock.c:578:23: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
static void clock_run ()
                      ^
                       void

https://pkg-status.freebsd.org/beefy18/data/main-amd64-default/p58633340e9ed_s5636590214/logs/errors/wlclock-1.0.1.log

What Clang suggests helps only partially:

src/output.c:68:14: error: incompatible function pointer types initializing 'void (*)(void *, struct wl_output *, int32_t, int32_t, int32_t, int32_t, int32_t, const char *, const char *, int32_t)' (aka 'void (*)(void *, struct wl_output *, int, int, int, int, int, const char *, const char *, int)') with an expression of type 'void (void)' [-Werror,-Wincompatible-function-pointer-types]
        .geometry = noop,
                    ^~~~
src/output.c:69:14: error: incompatible function pointer types initializing 'void (*)(void *, struct wl_output *, uint32_t, int32_t, int32_t, int32_t)' (aka 'void (*)(void *, struct wl_output *, unsigned int, int, int, int)') with an expression of type 'void (void)' [-Werror,-Wincompatible-function-pointer-types]
        .mode     = noop,
                    ^~~~
src/output.c:86:22: error: incompatible function pointer types initializing 'void (*)(void *, struct zxdg_output_v1 *, int32_t, int32_t)' (aka 'void (*)(void *, struct zxdg_output_v1 *, int, int)') with an expression of type 'void (void)' [-Werror,-Wincompatible-function-pointer-types]
        .logical_size     = noop,
                            ^~~~
src/output.c:87:22: error: incompatible function pointer types initializing 'void (*)(void *, struct zxdg_output_v1 *, int32_t, int32_t)' (aka 'void (*)(void *, struct zxdg_output_v1 *, int, int)') with an expression of type 'void (void)' [-Werror,-Wincompatible-function-pointer-types]
        .logical_position = noop,
                            ^~~~
src/output.c:88:22: error: incompatible function pointer types initializing 'void (*)(void *, struct zxdg_output_v1 *, const char *)' with an expression of type 'void (void)' [-Werror,-Wincompatible-function-pointer-types]
        .description      = noop,
                            ^~~~
src/output.c:91:22: error: incompatible function pointer types initializing 'void (*)(void *, struct zxdg_output_v1 *)' with an expression of type 'void (void)' [-Werror,-Wincompatible-function-pointer-types]
        .done             = noop
                            ^~~~
Reply to thread Export thread (mbox)