Messages in this thread | | | Date | Tue, 31 Jul 2007 21:05:43 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: WARN_ON() which sometimes sucks |
| |
On Wed, 1 Aug 2007, Paul Mackerras wrote: > > It will mean more code on architectures which have a > conditional-trap-on-nonzero instruction, such as powerpc, since the > compiler will generate instructions to evaluate !!x. But I don't see > any reason why ret_warn_on couldn't be a long.
Umm. The WARN_ON() might actually get a "long long" value for all we know. Ie it's perfectly possible that the WARN_ON might look like
/* Must not have high bits on */ WARN_ON(offset & 0xffffffff00000000);
which on a 32-bit pcc would apparently do the wrong thing entirely as it stands now. No?
I think I'll commit the !!(x) version, and you guys can try to figure out what the right thing is long-term. For all I know, the proper solution is to just revert the whole mess, and *not* make WARN_ON() return a value at all, since that seems to be the fundamental mistake here.
Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |