scnlib icon indicating copy to clipboard operation
scnlib copied to clipboard

warning C4127: conditional expression is constant

Open matbech opened this issue 3 years ago • 0 comments

I get the following warning with VS 2022 17.3

1>C:\Projects\Libraries\scnlib\scnlib\src\locale.cpp(311,9): warning C4127: conditional expression is constant
1>C:\Projects\Libraries\scnlib\scnlib\src\locale.cpp(311,9): message : consider using 'if constexpr' statement instead
1>C:\Projects\Libraries\scnlib\scnlib\src\locale.cpp(311): message : while compiling class template member function 'bool scn::v1::detail::basic_custom_locale_ref<char>::is_alnum(scn::v1::span<const char>) const'
1>C:\Projects\Libraries\scnlib\scnlib\src\locale.cpp(538): message : see reference to class template instantiation 'scn::v1::detail::basic_custom_locale_ref<char>' being compiled

The fix is to replace several occurrences of: if (sizeof(CharT) == 1) {
with if constexpr (sizeof(CharT) == 1) {

PR: https://github.com/eliaskosunen/scnlib/pull/61

matbech avatar May 20 '22 02:05 matbech