vala-lang / vala-language-server

Code Intelligence for Vala & Genie
GNU Lesser General Public License v2.1
290 stars 43 forks source link

incompatible function pointer types build failure #310

Open chenrui333 opened 3 months ago

chenrui333 commented 3 months ago

👋 while regression building vala-language-server, I ran into some incompatible function pointer types build failure with newer clang

  [18/49] clang -Isrc/vala-language-server.p -Isrc -I../src -I. -I/opt/homebrew/Cellar/pcre2/10.44/include -I/opt/homebrew/Cellar/glib/2.80.4/include/glib-2.0 -I/opt/homebrew/Cellar/glib/2.80.4/lib/glib-2.0/include -I/opt/homebrew/opt/gettext/include -I/opt/homebrew/Cellar/glib/2.80.4/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/ffi -I/opt/homebrew/Cellar/libgee/0.20.6/include/gee-0.8 -I/opt/homebrew/Cellar/json-glib/1.8.0/include/json-glib-1.0 -I/opt/homebrew/Cellar/jsonrpc-glib/3.44.0/include/jsonrpc-glib-1.0 -I/opt/homebrew/Cellar/vala/0.56.17/include/vala-0.56 -I/opt/homebrew/Cellar/glib/2.80.4/include/gio-unix-2.0 -fdiagnostics-color=always -Wall -Winvalid-pch -std=gnu11 -O3 '-DG_LOG_DOMAIN="vls"' -MD -MQ src/vala-language-server.p/meson-generated_codehelp_codehelp.c.o -MF src/vala-language-server.p/meson-generated_codehelp_codehelp.c.o.d -o src/vala-language-server.p/meson-generated_codehelp_codehelp.c.o -c src/vala-language-server.p/codehelp/codehelp.c
  FAILED: src/vala-language-server.p/meson-generated_codehelp_codehelp.c.o 
  clang -Isrc/vala-language-server.p -Isrc -I../src -I. -I/opt/homebrew/Cellar/pcre2/10.44/include -I/opt/homebrew/Cellar/glib/2.80.4/include/glib-2.0 -I/opt/homebrew/Cellar/glib/2.80.4/lib/glib-2.0/include -I/opt/homebrew/opt/gettext/include -I/opt/homebrew/Cellar/glib/2.80.4/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/ffi -I/opt/homebrew/Cellar/libgee/0.20.6/include/gee-0.8 -I/opt/homebrew/Cellar/json-glib/1.8.0/include/json-glib-1.0 -I/opt/homebrew/Cellar/jsonrpc-glib/3.44.0/include/jsonrpc-glib-1.0 -I/opt/homebrew/Cellar/vala/0.56.17/include/vala-0.56 -I/opt/homebrew/Cellar/glib/2.80.4/include/gio-unix-2.0 -fdiagnostics-color=always -Wall -Winvalid-pch -std=gnu11 -O3 '-DG_LOG_DOMAIN="vls"' -MD -MQ src/vala-language-server.p/meson-generated_codehelp_codehelp.c.o -MF src/vala-language-server.p/meson-generated_codehelp_codehelp.c.o.d -o src/vala-language-server.p/meson-generated_codehelp_codehelp.c.o -c src/vala-language-server.p/codehelp/codehelp.c
  src/vala-language-server.p/codehelp/codehelp.c:2730:23: error: incompatible function pointer types assigning to 'GFunc' (aka 'void (*)(void *, void *)') from 'void (gconstpointer, gpointer)' (aka 'void (const void *, void *)') [-Wincompatible-function-pointer-types]
                  serialize_parameter = ____lambda4__gfunc;
                                      ^ ~~~~~~~~~~~~~~~~~~
  1 error generated.
  [19/49] clang -Isrc/vala-language-server.p -Isrc -I../src -I. -I/opt/homebrew/Cellar/pcre2/10.44/include -I/opt/homebrew/Cellar/glib/2.80.4/include/glib-2.0 -I/opt/homebrew/Cellar/glib/2.80.4/lib/glib-2.0/include -I/opt/homebrew/opt/gettext/include -I/opt/homebrew/Cellar/glib/2.80.4/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/ffi -I/opt/homebrew/Cellar/libgee/0.20.6/include/gee-0.8 -I/opt/homebrew/Cellar/json-glib/1.8.0/include/json-glib-1.0 -I/opt/homebrew/Cellar/jsonrpc-glib/3.44.0/include/jsonrpc-glib-1.0 -I/opt/homebrew/Cellar/vala/0.56.17/include/vala-0.56 -I/opt/homebrew/Cellar/glib/2.80.4/include/gio-unix-2.0 -fdiagnostics-color=always -Wall -Winvalid-pch -std=gnu11 -O3 '-DG_LOG_DOMAIN="vls"' -MD -MQ src/vala-language-server.p/meson-generated_codehelp_completionengine.c.o -MF src/vala-language-server.p/meson-generated_codehelp_completionengine.c.o.d -o src/vala-language-server.p/meson-generated_codehelp_completionengine.c.o -c src/vala-language-server.p/codehelp/completionengine.c
  FAILED: src/vala-language-server.p/meson-generated_codehelp_completionengine.c.o 
  clang -Isrc/vala-language-server.p -Isrc -I../src -I. -I/opt/homebrew/Cellar/pcre2/10.44/include -I/opt/homebrew/Cellar/glib/2.80.4/include/glib-2.0 -I/opt/homebrew/Cellar/glib/2.80.4/lib/glib-2.0/include -I/opt/homebrew/opt/gettext/include -I/opt/homebrew/Cellar/glib/2.80.4/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/ffi -I/opt/homebrew/Cellar/libgee/0.20.6/include/gee-0.8 -I/opt/homebrew/Cellar/json-glib/1.8.0/include/json-glib-1.0 -I/opt/homebrew/Cellar/jsonrpc-glib/3.44.0/include/jsonrpc-glib-1.0 -I/opt/homebrew/Cellar/vala/0.56.17/include/vala-0.56 -I/opt/homebrew/Cellar/glib/2.80.4/include/gio-unix-2.0 -fdiagnostics-color=always -Wall -Winvalid-pch -std=gnu11 -O3 '-DG_LOG_DOMAIN="vls"' -MD -MQ src/vala-language-server.p/meson-generated_codehelp_completionengine.c.o -MF src/vala-language-server.p/meson-generated_codehelp_completionengine.c.o.d -o src/vala-language-server.p/meson-generated_codehelp_completionengine.c.o -c src/vala-language-server.p/codehelp/completionengine.c
  src/vala-language-server.p/codehelp/completionengine.c:4590:22: error: incompatible function pointer types assigning to 'GFunc' (aka 'void (*)(void *, void *)') from 'void (gconstpointer, gpointer)' (aka 'void (const void *, void *)') [-Wincompatible-function-pointer-types]
          serialize_parameter = ___lambda62__gfunc;
                              ^ ~~~~~~~~~~~~~~~~~~
  1 error generated.

relates to https://github.com/Homebrew/homebrew-core/pull/177974

benwaffle commented 3 months ago

Looks like a vala compiler bug. Can you report it at https://gitlab.gnome.org/GNOME/vala/-/issues?

chenrui333 commented 3 months ago

yeah, totally. filing an issue now.


upstream bug report, https://gitlab.gnome.org/GNOME/vala/-/issues/1554