Hi,
Although, I agree that 1u << 31 is much better, I believe 1 << 31 is not wrong either as long as it is assigned to an 'unsigned int' as the compiler performs an implicit conversion from a lower data type to a higher data type ('int' to 'unsigned int' in this case). That's the reason the line "return *shadow_addr" at lib/asan.c:89 (that Shawn talked about in the previous thread) seems correct to me as 'unsigned char' is being implicitly converted to 'bool'.
Best, Harshit
On Thu, Jan 7, 2021 at 4:28 PM Felix Held felix-coreboot@felixheld.de wrote:
While I find the BIT() macro to be much better than the BITx defines
Why?
The BITx defines seem to be a rather redundant way of doing things to me.
I don't think it was invented by edk2, so edk2 using it shouldn't be held against the format. :)
Sure, but that's where I remember seeing those defines in coreboot [1].
I don't mind those being "inconsistent" because they represent two different things; one is a single bit value, the other a multibit value.
When you have a register with single bit values and multibit values which is a very common case, I prefer having both in the same style/format. At least for me this improves readability.
There could of course be a multibit macro, but the benefit diminishes because the macro is neither shorter nor simpler than the expansion.
Yeah, that would likely also be bad for readability.
Regards, Felix
[1]
https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/src... _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org