This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: fortran and apple rantings...


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]