On Sat, 12 Jun 2004 20:01:05 PDT, "Carl B. Constantine" said: > Second, I'm obviouslly using gcc's -Wtraditional setting for these > errors to come up, so my question was: how do I get rid of these errors > so that everything works correctly while still using -Wtraditional? > Should I even be using -Wtraditional? 'info gcc' (under 'Invoking gcc' and then 'warning options'): `-Wtraditional (C only)' Warn about certain constructs that behave differently in traditional and ISO C. Also warn about ISO C constructs that have no traditional C equivalent, and/or problematic constructs which should be avoided. There then follows a long laundry list of close to 100 lines of things that are totally legal in ISO C but not in "traditional" (for instance, a 'switch' operand of 'long' type, or ANSI/ISO string concatenation, or initialization of a union). Interestingly enough, the only reason you're not *totally* inundated with warnings is probably because it doesn't even bother trying to flag ANSI function prototypes: * Use of ISO C style function definitions. This warning intentionally is _not_ issued for prototype declarations or variadic functions because these ISO C features will appear in your code when using libiberty's traditional C compatibility macros, `PARAMS' and `VPARAMS'. This warning is also bypassed for nested functions because that feature is already a gcc extension and thus not relevant to traditional C compatibility. You should probably only worry about it if you're writing code that also has to work under a K&R compiler - gcc no longer even supports '-traditional' except for the preprocessor. I personally know for a fact that even the IBM RT running AIX 2.2.1 from 1986: (yes, 20 megaherz clock, the *big* models had 16M of memory if I remember right) would do at least gcc 2.7.1, which did at least some of the ANSI features. http://www.old-computers.com/museum/computer.asp?st=1&c=867 If you have a platform that *still* doesn't have an ANSI C, the right thing to do is take it out back and shoot it. Or donate it to a museum. ;)
Attachment:
pgp5z6catjDbR.pgp
Description: PGP signature