extra: tweak hard max in conditions and macros
This is two changes but since it's on the same line, I'm committing them
together.
1) If you have a macro then that's not a hard max. This affects things
like:
for_each_set_bit(i, foo, BITS_PER_LONG) {
Smatch always thinks that "i" can go up to 63 and marks it as a hard max
but really it's just a macro and macros have crazy checks.
2) Say you have a limit "limit = 5,7,9" and a condition "if (a < limit) {"
then in the original code it said that the limit has a hard max so "a" must
have a hard max. That isn't true. "a" only gets a hard max if you cap it
at a known value.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>