aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--alc/backends/pipewire.cpp14
-rw-r--r--alc/backends/sdl2.cpp5
-rw-r--r--examples/alffplay.cpp8
3 files changed, 21 insertions, 6 deletions
diff --git a/alc/backends/pipewire.cpp b/alc/backends/pipewire.cpp
index 25e21af5..b573bd5a 100644
--- a/alc/backends/pipewire.cpp
+++ b/alc/backends/pipewire.cpp
@@ -50,8 +50,20 @@
#include "opthelpers.h"
#include "ringbuffer.h"
-/* Ignore warnings caused by PipeWire headers (lots in standard C++ mode). */
+/* Ignore warnings caused by PipeWire headers (lots in standard C++ mode). GCC
+ * doesn't support ignoring -Weverything, so we have the list the individual
+ * warnings to ignore (and ignoring -Winline doesn't seem to work).
+ */
_Pragma("GCC diagnostic push")
+_Pragma("GCC diagnostic ignored \"-Wpedantic\"")
+_Pragma("GCC diagnostic ignored \"-Wconversion\"")
+_Pragma("GCC diagnostic ignored \"-Wfloat-conversion\"")
+_Pragma("GCC diagnostic ignored \"-Wmissing-field-initializers\"")
+_Pragma("GCC diagnostic ignored \"-Wunused-parameter\"")
+_Pragma("GCC diagnostic ignored \"-Wold-style-cast\"")
+_Pragma("GCC diagnostic ignored \"-Wsign-compare\"")
+_Pragma("GCC diagnostic ignored \"-Winline\"")
+_Pragma("GCC diagnostic ignored \"-Wpragmas\"")
_Pragma("GCC diagnostic ignored \"-Weverything\"")
#include "pipewire/pipewire.h"
#include "pipewire/extensions/metadata.h"
diff --git a/alc/backends/sdl2.cpp b/alc/backends/sdl2.cpp
index c0726033..a4a5a9ac 100644
--- a/alc/backends/sdl2.cpp
+++ b/alc/backends/sdl2.cpp
@@ -32,7 +32,10 @@
#include "core/device.h"
#include "core/logging.h"
-#include <SDL2/SDL.h>
+_Pragma("GCC diagnostic push")
+_Pragma("GCC diagnostic ignored \"-Wold-style-cast\"")
+#include "SDL.h"
+_Pragma("GCC diagnostic pop")
namespace {
diff --git a/examples/alffplay.cpp b/examples/alffplay.cpp
index fef83707..177d508a 100644
--- a/examples/alffplay.cpp
+++ b/examples/alffplay.cpp
@@ -28,12 +28,12 @@
#include <mutex>
#include <ratio>
-extern "C" {
#ifdef __GNUC__
_Pragma("GCC diagnostic push")
_Pragma("GCC diagnostic ignored \"-Wconversion\"")
_Pragma("GCC diagnostic ignored \"-Wold-style-cast\"")
#endif
+extern "C" {
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libavformat/avio.h"
@@ -55,12 +55,12 @@ constexpr auto AVNoPtsValue = AV_NOPTS_VALUE;
constexpr auto AVErrorEOF = AVERROR_EOF;
struct SwsContext;
-#ifdef __GNUC__
-_Pragma("GCC diagnostic pop")
-#endif
}
#include "SDL.h"
+#ifdef __GNUC__
+_Pragma("GCC diagnostic pop")
+#endif
#include "AL/alc.h"
#include "AL/al.h"