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.
~~~

Reply via email to