/* * zansi1.c - Things Zortech accepts but shouldn't. */ #undef __LINE__ ANSI C does not #define __FILE__ allow these predefined #undef __DATE__ macros to be the subject #define __TIME__ of a "#define" or #undef __STDC__ "#undef" directive. #define x a + 5 #define x a - 5 /* not legal to redefine macro */ /* * ANSI C requires a comma before an ellipsis. C++ requires * that there be no comma before the ellipsis. Zortech allows * the comma to be optional in both languages. */ int printf(char *format ...); /* comma required before ellipsis */ #include grok ! (:-^) /* should not allow garbage */ main(int argc, char **argv) { long float george; /* 'long float' is not legal in ANSI C */ auto int atoi(char *); /* 'auto' is not legal for function */ const int fred = 5lulululu; /* Illegal suffix accepted */ } #if ((int)1.5) > 4 /* neither floats nor casts are legal in #if */ #endif