https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125656
--- Comment #3 from Drea Pinski <pinskia at gcc dot gnu.org> ---
I tried to reproducing it with:
```
#include <limits>
#include <cstddef>
typedef size_t storage_type;
storage_type a;
#define PLF_TYPE_BITWIDTH (sizeof(storage_type)*8)
#define PLF_ARRAY_CAPACITY ((total_size + PLF_TYPE_BITWIDTH - 1) /
PLF_TYPE_BITWIDTH)
#define PLF_ARRAY_CAPACITY_BITS (PLF_ARRAY_CAPACITY * PLF_TYPE_BITWIDTH)
void f(int total_size)
{
a = std::numeric_limits<storage_type>::max()
<< (PLF_TYPE_BITWIDTH - (PLF_ARRAY_CAPACITY_BITS - total_size));
}
```
But no luck.
Can you provide the preprocessed source were the warning happens?