Problems with IBM RS6000 C compiler
Karl Heuer
karl at haddock.ima.isc.com
Sat Aug 4 04:12:42 AEST 1990
In article <476 at mtndew.UUCP> friedl at mtndew.UUCP (Stephen J. Friedl) writes:
> 1 | #ifdef undef
> .......a....
>a - 1506-199: (S) Expecting macro name on #ifdef or #ifndef directive.
Looks like a bug; possibly the compiler (mistakenly) believes that `undef' is
a reserved word. It isn't (except immediately following `#'), and besides,
the preprocessor isn't supposed to forbid redefinition of keywords.
>[prototypes in header files don't use `const']
This is a bug. (Easy enough to make, since many of the relevant Standards
give specifications in pre-ANSI C, alas.)
> extern void foo( void *** );
> any_type **array;
> foo(&array);
>I just don't get it; the ANSI compiler on the 3B2 doen't complain about this.
User bug, and a bug in the 3b2 compiler. The code not only violates the
Standard, but it's *wrong*. It will fail to do the right thing on certain
architectures, and no amount of casting will make it right.
Karl W. Z. Heuer (karl at kelp.ima.isc.com or ima!kelp!karl), The Walking Lint
More information about the Comp.lang.c
mailing list