gnu/gcc/172dc0ed63274f24653f830754a6d49e37bfc3fe libstdc++: Avoid '-Wtype-limits' warnings in 'libstdc++-v3/config/locale/generic/ctype_members.cc'
In a GCC/AIX build I ran into:
ctype_members.cc: In member function 'virtual char std::ctype<wchar_t>::do_narrow(wchar_t, char) const':
ctype_members.cc:212:14: error: comparison is always true due to limited range of data type [-Werror=type-limits]
212 | if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
| ~~~~~^~~~
ctype_members.cc: In member function 'virtual const wchar_t* std::ctype<wchar_t>::do_narrow(const wchar_t*, const wchar_t*, char, char*) const':
ctype_members.cc:226:21: error: comparison is always true due to limited range of data type [-Werror=type-limits]
226 | if (*__lo >= 0 && *__lo < 128)
| ~~~~~~^~~~
cc1plus: all warnings being treated as errors
make[5]: *** [Makefile:685: ctype_members.lo] Error 1
make[5]: Target 'all' not remade because of errors.
make[5]: Leaving directory '[...]/build-gcc/powerpc-ibm-aix7.3.1.0/libstdc++-v3/src/c++11'
That's '[...]/ctype_members.cc' ->
'[...]/source-gcc/libstdc++-v3/config/locale/generic/ctype_members.cc'.
Apply to that file the very same patch as had been applied to
'libstdc++-v3/config/locale/gnu/ctype_members.cc' in
commit 975025de350bb8cc264fef0a5f88f71abe5b3791
"libstdc++: Avoid -Wtype-limits warnings in locale/gnu/ctype_members.cc".
libstdc++-v3/
* config/locale/generic/ctype_members.cc (use_table): New function.
(ctype<wchar_t>::do_narrow): Use use_table.
Co-authored-by: Jonathan Wakely <jwakely@redhat.com>
1 file changed