fortran and apple rantings...

Stan Shebs shebs@apple.com
Sat Dec 29 17:58:00 GMT 2001


Aldy Hernandez wrote:
> 
> i've been playing with a macosX and i'm terribly disappointed that a
> toplevel make doesn't even build out of FSF sources.  it seems some
> magic bits are in the blessed apple sources.

Welcome to my personal hell... :-)

> in any case, i'm trying to bootstrap a sane compiler with the apple
> sources, and apple's hacked up gcc complains at the following on the
> apple sources (f/global.c):
> 
>     static const char *const ffeglobal_type_string_[] =
>     {
>       [999] "??",
>       [999] "main program",

These are designated initializers, which started life as a GNU
extension and are now part of C99.  Unfortunately, the syntax
for these conflict with the ObjC syntax for message-passing,
so cc1obj doesn't allow designated initializers.  This normally
wouldn't matter, but - wait for it - Apple's compiler is tweaked
to run cc1obj on both C and ObjC code.

.
.
.
.
.
.
.

(Yes, I just about choked on my own glottis when I learned about
this one.  The people who sign my paychecks still think it's a
great idea, sigh - and in truth it works for all of BSD, Emacs,
GDB, GCC up until 3.0, etc.)

> can we write it another way to assuage the apple compiler?

No.  What we always have to do here is make bootstrap, which is
careful to build only the C compiler with the vendor compiler.
(The C frontend also uses designated initializers, but they're
conditionalized.)

Stan



More information about the Gcc mailing list