diff --git a/meson.build b/meson.build index bee402c6..af509fb8 100644 --- a/meson.build +++ b/meson.build @@ -66,6 +66,10 @@ chainloader_compiler_options = [ # definitions, so we'll try to exclude those bits wine_compiler_options = [ '-DNOMINMAX', + # Since Wine 5.12 any use of attributes (like visibility specifiers, or + # calling conventions) in templated member or variable types causes a warning + '-Wno-attributes', + '-Wno-ignored-attributes', # Winsock conflicts with the Posix sockets API. Before Wine 6.8 there was a # `WINE_NOWINSOCK` that would exclude just `winsock.h` from `windows.h`, but # they got rid of that so we now need to explicitly define the ifdef guards diff --git a/src/wine-host/bridges/clap.h b/src/wine-host/bridges/clap.h index fd4f5adb..006a460d 100644 --- a/src/wine-host/bridges/clap.h +++ b/src/wine-host/bridges/clap.h @@ -110,17 +110,11 @@ struct ClapPluginInstance { */ std::optional editor; - // FIXME: This emits `-Wignored-attributes` as of Wine 5.22 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wignored-attributes" - /** * The plugin object. The plugin gets destroyed together with this struct. */ std::unique_ptr plugin; -#pragma GCC diagnostic pop - /** * Contains the plugin's supported extensions. Initialized after the host * calls `clap_plugin::init()`. @@ -357,18 +351,12 @@ class ClapBridge : public HostBridge { */ Configuration config_; - // FIXME: This emits `-Wignored-attributes` as of Wine 5.22 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wignored-attributes" - /** * The shared library handle of the CLAP plugin. */ std::unique_ptr, decltype(&FreeLibrary)> plugin_handle_; -#pragma GCC diagnostic pop - /** * The windows CLAP plugin's entry point. Initialized in the constructor, * and deinitialized again when the entry point gets dropped. diff --git a/src/wine-host/bridges/vst2.h b/src/wine-host/bridges/vst2.h index 02d12274..42523db6 100644 --- a/src/wine-host/bridges/vst2.h +++ b/src/wine-host/bridges/vst2.h @@ -183,18 +183,12 @@ class Vst2Bridge : public HostBridge { */ ScopedValueCache process_level_cache_; - // FIXME: This emits `-Wignored-attributes` as of Wine 5.22 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wignored-attributes" - /** * The shared library handle of the VST2 plugin. */ std::unique_ptr, decltype(&FreeLibrary)> plugin_handle_; -#pragma GCC diagnostic pop - /** * The loaded plugin's `AEffect` struct, obtained using the above library * handle. diff --git a/src/wine-host/utils.h b/src/wine-host/utils.h index 18dd948f..ac79f1c4 100644 --- a/src/wine-host/utils.h +++ b/src/wine-host/utils.h @@ -113,18 +113,12 @@ class Win32Thread { Win32Thread& operator=(Win32Thread&&) noexcept; private: - // FIXME: This emits `-Wignored-attributes` as of Wine 5.22 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wignored-attributes" - /** * The handle for the thread that is running, will be a null pointer if this * class was constructed with the default constructor. */ std::unique_ptr, decltype(&CloseHandle)> handle_; - -#pragma GCC diagnostic pop }; /** diff --git a/src/wine-host/xdnd-proxy.h b/src/wine-host/xdnd-proxy.h index 74860742..8111d263 100644 --- a/src/wine-host/xdnd-proxy.h +++ b/src/wine-host/xdnd-proxy.h @@ -240,12 +240,9 @@ class WineXdndProxy { */ X11Window proxy_window_; -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wignored-attributes" std::unique_ptr, std::decay_t> hook_handle_; -#pragma GCC diagnostic pop /** * MT-PowerDrumkit for some reason initializes a drag-and-drop operation, diff --git a/subprojects/packagefiles/clap/meson.build b/subprojects/packagefiles/clap/meson.build index 857fa1b6..a97962af 100644 --- a/subprojects/packagefiles/clap/meson.build +++ b/subprojects/packagefiles/clap/meson.build @@ -1,5 +1,3 @@ project('clap', 'cpp', version : '1.1.1') -# Without the `is_system` we'd get warnings about `CLAP_EXPORT` on `clap_entry` -# not doing anything. -clap_dep = declare_dependency(include_directories : include_directories('include', is_system : true)) +clap_dep = declare_dependency(include_directories : include_directories('include'))