https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87742

--- Comment #4 from Liu Hao <lh_mouse at 126 dot com> ---
In my real-world example,
0) the enclosing function is indeterminately recursive, but there is no
infinite loop, and
1) `o` has type `size_t`, which is a compile time constant because it is the
index of a type in a parameter pack;  because the number of elements in the
array is the `sizeof...` the parameter pack, in no case will it be out of
bound.

BTW the cast there is not to `unsigned char` but to an enum whose underlying
type is `unsigned char`. Using a wider integer type for it might resolve the
problem. Your information is invaluable.

Reply via email to