Hello When compiling the following program on a Fedora 6 x86_64 system: #include <stdio.h> #include <limits.h> int main(void) { (void)printf("%llu\n", ULLONG_MAX); return 0; } Produces the following result: cc longlong.c longlong.c: In function 'main': longlong.c:7: error: 'ULLONG_MAX' undeclared (first use in this function) longlong.c:7: error: (Each undeclared identifier is reported only once longlong.c:7: error: for each function it appears in.) If I compile it with cc -std=c99 longlong.c it works. Why is it necessary to specify -std=c99? If I use for example strtoull() I do not need to set -std=c99. Compiling the above on AIX compiles and runs without problems. Also on an older Solaris 8 system using gcc (3.3.2) it compiles and runs straight out of the box. If I want to use ULLONG_MAX how can I do this in a portable way so it compiles on different systems? Thanks, Holger - To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html