From c8d80a292012f036e1a1d3eb3b0501e3e3917872 Mon Sep 17 00:00:00 2001 From: Lee Bousfield Date: Tue, 18 Mar 2025 18:46:28 -0500 Subject: [PATCH] ci: Fail on warnings (#9668) * ci: Fail on warnings * misc: Fix compiler warnings --- .github/workflows/ci.yaml | 2 +- src/plugins/PluginAPI.hpp | 11 +++++++---- src/protocols/FrogColorManagement.cpp | 7 +++++-- src/protocols/XXColorManagement.cpp | 1 + 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 416ea93b7..06c1e1970 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -21,7 +21,7 @@ jobs: - name: Build Hyprland run: | - make all + CFLAGS=-Werror CXXFLAGS=-Werror make all - name: Compress and package artifacts run: | diff --git a/src/plugins/PluginAPI.hpp b/src/plugins/PluginAPI.hpp index fbacbaab1..0f3332947 100644 --- a/src/plugins/PluginAPI.hpp +++ b/src/plugins/PluginAPI.hpp @@ -61,9 +61,10 @@ struct SVersionInfo { // C ABI is needed to prevent symbol mangling, but we don't actually need C compatibility, // so we ignore this warning about return types that are potentially incompatible with C. -// Clang supports this pragma too. -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wreturn-type-c-linkage" +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreturn-type-c-linkage" +#endif class IHyprLayout; class CWindow; @@ -322,4 +323,6 @@ APICALL inline EXPORT const char* __hyprland_api_get_client_hash() { } // NOLINTEND -#pragma GCC diagnostic pop +#ifdef __clang__ +#pragma clang diagnostic pop +#endif diff --git a/src/protocols/FrogColorManagement.cpp b/src/protocols/FrogColorManagement.cpp index 65afa75e3..99bdb2bb2 100644 --- a/src/protocols/FrogColorManagement.cpp +++ b/src/protocols/FrogColorManagement.cpp @@ -1,5 +1,6 @@ #include "FrogColorManagement.hpp" #include "color-management-v1.hpp" +#include "macros.hpp" #include "protocols/ColorManagement.hpp" #include "protocols/core/Subcompositor.hpp" #include "protocols/types/ColorManagement.hpp" @@ -13,6 +14,7 @@ static wpColorManagerV1TransferFunction getWPTransferFunction(frogColorManagedSu case FROG_COLOR_MANAGED_SURFACE_TRANSFER_FUNCTION_GAMMA_22: return WP_COLOR_MANAGER_V1_TRANSFER_FUNCTION_GAMMA22; case FROG_COLOR_MANAGED_SURFACE_TRANSFER_FUNCTION_ST2084_PQ: return WP_COLOR_MANAGER_V1_TRANSFER_FUNCTION_ST2084_PQ; case FROG_COLOR_MANAGED_SURFACE_TRANSFER_FUNCTION_SCRGB_LINEAR: return WP_COLOR_MANAGER_V1_TRANSFER_FUNCTION_EXT_LINEAR; + default: UNREACHABLE(); } } @@ -103,9 +105,10 @@ CFrogColorManagementSurface::CFrogColorManagementSurface(SPcolorManagement->m_imageDescription.transferFunction = convertTransferFunction(getWPTransferFunction(FROG_COLOR_MANAGED_SURFACE_TRANSFER_FUNCTION_ST2084_PQ)); break; - }; // intended fall through + }; + [[fallthrough]]; case FROG_COLOR_MANAGED_SURFACE_TRANSFER_FUNCTION_UNDEFINED: - case FROG_COLOR_MANAGED_SURFACE_TRANSFER_FUNCTION_SCRGB_LINEAR: LOGM(TRACE, "FIXME: add tf support for {}", (uint32_t)tf); // intended fall through + case FROG_COLOR_MANAGED_SURFACE_TRANSFER_FUNCTION_SCRGB_LINEAR: LOGM(TRACE, "FIXME: add tf support for {}", (uint32_t)tf); [[fallthrough]]; case FROG_COLOR_MANAGED_SURFACE_TRANSFER_FUNCTION_SRGB: surface->colorManagement->m_imageDescription.transferFunction = convertTransferFunction(getWPTransferFunction(tf)); diff --git a/src/protocols/XXColorManagement.cpp b/src/protocols/XXColorManagement.cpp index 36ace0f2d..056a2cefd 100644 --- a/src/protocols/XXColorManagement.cpp +++ b/src/protocols/XXColorManagement.cpp @@ -23,6 +23,7 @@ static wpColorManagerV1TransferFunction getWPTransferFunction(xxColorManagerV4Tr case XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_ST2084_PQ: return WP_COLOR_MANAGER_V1_TRANSFER_FUNCTION_ST2084_PQ; case XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_ST428: return WP_COLOR_MANAGER_V1_TRANSFER_FUNCTION_ST428; case XX_COLOR_MANAGER_V4_TRANSFER_FUNCTION_HLG: return WP_COLOR_MANAGER_V1_TRANSFER_FUNCTION_HLG; + default: UNREACHABLE(); } }