is the last test below with 0x100000000 (2^32) in the formula guaranteed
to work or may cpp truncate the results to 32 bit? I'd rather avoid
introducing a test that can never trigger.

[There doesn't really exist anything called "cpp" anymore -- you mean
to say "the C preprocessor"].

#if CONFIG_CARBASE + CONFIG_CARSIZE + (CONFIG_COREBOOT_ROMSIZE_KB * 1024) > 0x100000000

In C99, this is just fine.  I'm not sure about C90; indeed, in C90
there is no requirement to support integer types of more than 32 bits
at all!

You can always write "0x100000000LL" (or "ULL") instead, which isn't
C90 either, but GCC supports it anyway.

What compiler mode is coreboot compiled in, anyway?  I recommend we
should use GNU99 mode (-std=gnu99), for v3 at least.


Segher


--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to