From 4ce3d8968a4a1f2caa2ae5efb65ffb9870cf1b85 Mon Sep 17 00:00:00 2001 From: Sven van Haastregt Date: Tue, 15 Apr 2025 19:28:47 +0200 Subject: [PATCH] conversions: use C++17 to avoid Wformat warnings (#2369) Using C++17's `if constexpr` avoids Wformat warnings in this template function, as it is now made explicit that the various format strings are only used with appropriate types. Signed-off-by: Sven van Haastregt --- test_conformance/conversions/CMakeLists.txt | 2 +- test_conformance/conversions/basic_test_conversions.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/test_conformance/conversions/CMakeLists.txt b/test_conformance/conversions/CMakeLists.txt index 037430ef..32990eba 100644 --- a/test_conformance/conversions/CMakeLists.txt +++ b/test_conformance/conversions/CMakeLists.txt @@ -12,6 +12,6 @@ if("${CLConform_TARGET_ARCH}" STREQUAL "ARM" OR "${CLConform_TARGET_ARCH}" STREQ list(APPEND ${MODULE_NAME}_SOURCES fplib.cpp) endif() -set_gnulike_module_compile_flags("-Wno-sign-compare -Wno-format") +set_gnulike_module_compile_flags("-Wno-sign-compare") include(../CMakeCommon.txt) diff --git a/test_conformance/conversions/basic_test_conversions.cpp b/test_conformance/conversions/basic_test_conversions.cpp index edad671b..34463869 100644 --- a/test_conformance/conversions/basic_test_conversions.cpp +++ b/test_conformance/conversions/basic_test_conversions.cpp @@ -318,7 +318,7 @@ int CalcRefValsPat::check_result(void *test, { const cl_uchar *a = (const cl_uchar *)gAllowZ; - if (is_half()) + if constexpr (is_half()) { const cl_half *t = (const cl_half *)test; const cl_half *c = (const cl_half *)gRef; @@ -335,7 +335,7 @@ int CalcRefValsPat::check_result(void *test, return i + 1; } } - else if (std::is_integral::value) + else if constexpr (std::is_integral::value) { // char/uchar/short/ushort/half/int/uint/long/ulong const OutType *t = (const OutType *)test; const OutType *c = (const OutType *)gRef; @@ -350,7 +350,7 @@ int CalcRefValsPat::check_result(void *test, return i + 1; } } - else if (std::is_same::value) + else if constexpr (std::is_same::value) { // cast to integral - from original test const cl_uint *t = (const cl_uint *)test;