this silences the warning of
The result of the '<<' expression is undefined
quote from n3337, ยง5.8 expr.shift:
If E1 has an unsigned type, the value ... (is deterministic)...
Otherwise, if E1 has a signed type and non-negative value, and E1 x 2^E2
is representable in the result type, then that is the resulting value;
otherwise, the behavior is undefined.
Signed-off-by: Kefu Chai <kchai@redhat.com>
for (set<uint32_t>::iterator j = from.begin();
j != from.end();
++j) {
- to.insert(*j | (1 << i));
+ to.insert(*j | (1U << i));
to.insert(*j);
}
to.swap(from);