diff --git a/meson.build b/meson.build index 15ecfb37..58aa0619 100644 --- a/meson.build +++ b/meson.build @@ -107,7 +107,14 @@ if get_option('use-bitbridge') native : false, include_directories : include_dir, dependencies : [boost_dep, bitsery_dep, wine_threads_dep, xcb_dep], - cpp_args : compiler_options + ['-m32'], + # FIXME: 32-bit winegcc defines `__stdcall` differently than the 64-bit + # version, and one of the changes is the inclusion of + # `__atribute__((__force_align_arg_pointer__))`. For whetever reason + # this causes GCC to complain when using function pointers with the + # `__stdcall` calling convention in template arguments, although it + # otherwise works just fine. We don't ignore any warnings in the + # regular host application so this should not cause any issues! + cpp_args : compiler_options + ['-m32', '-Wno-ignored-attributes'], link_args : ['-m32'] ) endif