https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69138
Xi Ruoyao <ryxi at stu dot xidian.edu.cn> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ryxi at stu dot xidian.edu.cn
--- Comment #3 from Xi Ruoyao <ryxi at stu dot xidian.edu.cn> ---
> template <typename T>
> class B {
> static constexpr uint8_t small_within_templated_class = 0xFFFFFFFF;
> };
>
> constexpr uint8_t i = B<int>::small_within_templated_class;
"s/class/struct/" to make member public. This case is NOT warned. But
clang++ warns:
~~~
pr69138-1.cpp:4:59: warning: implicit conversion from 'unsigned int' to
'const uint8_t' (aka 'const unsigned char') changes value from 4294967295
to 255 [-Wconstant-conversion]
static constexpr uint8_t small_within_templated_class = 0xFFFFFFFF;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~
1 warning generated.
~~~