Просмотр исходного кода

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.
lat9nq 5 лет назад
Родитель
Сommit
f973274b99

+ 10 - 0
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"

+ 10 - 0
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"

+ 9 - 0
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"

+ 10 - 0
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"

+ 8 - 0
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)