aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlat9nq <22451773+lat9nq@users.noreply.github.com>2021-04-18 00:40:31 -0400
committerlat9nq <22451773+lat9nq@users.noreply.github.com>2021-04-18 01:31:26 -0400
commitf973274b99d6683d257d77b5d2fd1994853ec3a7 (patch)
tree59b6f685fbb2878a921153e9e89b4f3c542d01b1 /src
parentde69a5266fde93a793fc3664db205ec7bad3e9a9 (diff)
general: Ignore implicit-fallthrough for SDL.h
SDL 2.0.14 introduces an incompatibility with Clang, causing it to trigger -Wimplicit-fallthrough even though it is marked. Ignore it for now, with a comment mentioning why this is needed.
Diffstat (limited to 'src')
-rw-r--r--src/input_common/sdl/sdl_impl.cpp10
-rw-r--r--src/yuzu_cmd/config.cpp10
-rw-r--r--src/yuzu_cmd/emu_window/emu_window_sdl2.cpp9
-rw-r--r--src/yuzu_cmd/emu_window/emu_window_sdl2_gl.cpp10
-rw-r--r--src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp8
5 files changed, 47 insertions, 0 deletions
diff --git a/src/input_common/sdl/sdl_impl.cpp b/src/input_common/sdl/sdl_impl.cpp
index 9418e78fa2..f682a6db40 100644
--- a/src/input_common/sdl/sdl_impl.cpp
+++ b/src/input_common/sdl/sdl_impl.cpp
@@ -17,7 +17,17 @@
#include <unordered_map>
#include <utility>
#include <vector>
+
+// Ignore -Wimplicit-fallthrough due to https://github.com/libsdl-org/SDL/issues/4307
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wimplicit-fallthrough"
+#endif
#include <SDL.h>
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+
#include "common/logging/log.h"
#include "common/param_package.h"
#include "common/settings_input.h"
diff --git a/src/yuzu_cmd/config.cpp b/src/yuzu_cmd/config.cpp
index 2f984d1b86..7e1d5f3791 100644
--- a/src/yuzu_cmd/config.cpp
+++ b/src/yuzu_cmd/config.cpp
@@ -4,7 +4,17 @@
#include <memory>
#include <sstream>
+
+// Ignore -Wimplicit-fallthrough due to https://github.com/libsdl-org/SDL/issues/4307
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wimplicit-fallthrough"
+#endif
#include <SDL.h>
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+
#include <inih/cpp/INIReader.h>
#include "common/file_util.h"
#include "common/logging/log.h"
diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp b/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp
index ce8b7c2183..3bb555a6ba 100644
--- a/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp
+++ b/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp
@@ -2,7 +2,16 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
+// Ignore -Wimplicit-fallthrough due to https://github.com/libsdl-org/SDL/issues/4307
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wimplicit-fallthrough"
+#endif
#include <SDL.h>
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+
#include "common/logging/log.h"
#include "common/scm_rev.h"
#include "core/core.h"
diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl2_gl.cpp b/src/yuzu_cmd/emu_window/emu_window_sdl2_gl.cpp
index a765fa7b3a..3c49a300ba 100644
--- a/src/yuzu_cmd/emu_window/emu_window_sdl2_gl.cpp
+++ b/src/yuzu_cmd/emu_window/emu_window_sdl2_gl.cpp
@@ -5,8 +5,18 @@
#include <algorithm>
#include <cstdlib>
#include <string>
+
#define SDL_MAIN_HANDLED
+// Ignore -Wimplicit-fallthrough due to https://github.com/libsdl-org/SDL/issues/4307
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wimplicit-fallthrough"
+#endif
#include <SDL.h>
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+
#include <fmt/format.h>
#include <glad/glad.h>
#include "common/assert.h"
diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp b/src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp
index dfd53e2858..3401ad4b49 100644
--- a/src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp
+++ b/src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp
@@ -16,7 +16,15 @@
#include "yuzu_cmd/emu_window/emu_window_sdl2_vk.h"
// Include these late to avoid polluting everything with Xlib macros
+// Ignore -Wimplicit-fallthrough due to https://github.com/libsdl-org/SDL/issues/4307
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wimplicit-fallthrough"
+#endif
#include <SDL.h>
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
#include <SDL_syswm.h>
EmuWindow_SDL2_VK::EmuWindow_SDL2_VK(InputCommon::InputSubsystem* input_subsystem)