This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: fortran and apple rantings...
- From: Stan Shebs <shebs at apple dot com>
- To: Aldy Hernandez <aldyh at redhat dot com>
- Cc: gcc external <gcc at gcc dot gnu dot org>
- Date: Sat, 29 Dec 2001 17:50:00 -0800
- Subject: Re: fortran and apple rantings...
- References: <1009673277.6831.67.camel@litecycle.cc.andrews.edu>
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