This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [using gcc book] ch1 objective-c blurb
- From: Ziemowit Laski <zlaski at apple dot com>
- To: Colin Douglas Howell <chowell2 at pacbell dot net>
- Cc: Chris Devers <cdevers at pobox dot com>, GCC list <gcc at gcc dot gnu dot org>
- Date: Mon, 25 Aug 2003 18:52:01 -0700
- Subject: Re: [using gcc book] ch1 objective-c blurb
On Monday, Aug 25, 2003, at 18:50 US/Pacific, Colin Douglas Howell
wrote:
Chris Devers wrote:
After splitting the text of _Using and Porting GCC_ into the
_Using..._
and _Porting..._ books, the material remaining in _Using..._ is
primarily
about C, C++, and Objective-C support. Chapter one, which is only a
page
long, includes paragraphs about the first two language, but doesn't
really
discuss the Objective-C aspect.
Based roughly on what is said about C++/G++, I've taken a stab at a
writeup of the ObjC side, but I'd like to be sure that what I'm saying
isn't wildly inaccurate.
For comparison, here's the existing G++ writeup:
G++ is a compiler, not merely a preprocessor. G++ builds
object code directly from your C++ program source. There
is no intermediate C version of the program. (By contrast,
for example, some other implementations use a program that
generates a C program from your C++ source.) Avoiding an
intermediate C representation of the program means that you
get better object code, and better debugging information. The
GNU debugger, GDB, works with this information in the object
code to give you comprehensive C++ source-level editing
capabilities (see section .C and C++. in Debugging with GDB).
Here's my ObjC paragraph:
Compilation of Objective-C programs is done with GCC itself,
rather than a front end like G++ or GNAT. As with G++
programs, the lack of a preprocessor and the direct build
of object code from your Objective-C program source provides
better object code and better debugging capabilities.
Does this accurately reflect things? Is there anything else that
should be
mentioned?
My first thought about this is that while some discussion of Objective
C
may be called for, the paragraph you propose above is completely
unnecessary.
The manual mentions that G++ doesn't use a preprocessor because the
first
popular C++ compiler, AT&T's CFRONT, actually *was* a preprocessor
which used
the normal C compiler as the back end. The GNU project wanted to
emphasize that
G++ had a superior implementation.
I admittedly don't know much about Objective C, but my impression is
that it
never had a preprocessor-based implementation (in the CFRONT sense of
the term),
so there is no particular reason to point out that our implementation
doesn't
use one.
Actually, I believe there used to exist (and perhaps exists still?) a
Stepstone
translator, which was precisely cfront-style technology. :-)
--Zem
--------------------------------------------------------------
Ziemowit Laski 1 Infinite Loop, MS 301-2K
Mac OS X Compiler Group Cupertino, CA USA 95014-2083
Apple Computer, Inc. +1.408.974.6229 Fax .5477