From: doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott)
Newsgroups: comp.sys.next.programmer
Subject: Re: Replacing NeXT cc with gcc-2.2.2
Date: 31 Aug 92 19:09:09 GMT
Reply-To: doug@foxtrot.ccmrc.ucsb.edu
Distribution: usa

In article <1992Aug31.164909.7198@fcom.cc.utah.edu> swillden@news.ccutah.edu  
(Shawn Willden) writes:
] Hi, I have a few questions about replacing cc with gcc (I have NeXTStep 2.0,  
BTW)
] 
] 1)	I understand that the newest version of gcc incorporates NeXT's 
] Objective-C extensions.  Is gcc lacking anything?  Is NeXT making any new
] additions to their compiler for 3.0 that may not be present in the current 
] version of gcc?
] 
I seem to remember hearing that there were some problems with compiling NeXT  
Apps using gcc in Obj-C mode, but the postings were a long time ago, and since  
then I have seen no references to them.  The NeXT 3.0 compiler will be a  
tradeoff:  it is based on gcc/g++ 1.92 (or something close) with NeXT  
additions, most especially in the preprocessor, which allows NeXT to use a new  
type of # directive in its header files which will probably choke gcc.  Other  
than that, we can only hope that the people at NeXT were able to iron out the  
innumerable bugs and problems that were present in the source for gcc 1.9!

] 2)	How complete is gcc's implementation of C++?  Does it support templates
] as described in _The C++ Programming Language 2nd Ed._ (by Bjarne  
Stroustrup)?  I
] know it doesn't support exceptions (yet).
]
Template support is there, but still needs some work (at least from what I see  
in terms of posted problems).  This seems to be getting better with each  
version.

] 3)	How stable is 2.2.2? 
] 
Not really a very useful way to ask the question, but in general it is pretty  
good.  It is far superior to the modified 1.39 compiler that comes on the 2.1  
NeXT.  However, you should be prepared to upgrade the 2.2.2 compiler to each  
subsequent release.  More problems are fixed than new ones appear, so it has  
always been advantageous to move to the new version ASAP.

] 4)	How standard are the libg++ libraries?  (i.e. how closely do they track
] the work of the ANSI C++ committee? [In implementation, not content, ANSI
] hasn't/isn't going to specify standard libraries, right?])
]
Since implementation in C++ is basically the public interface, I would say that  
it tracks fairly well.  Of course, most of the library classes have no analogue  
in ANSI-land.

] 5)	Is 2.2.2 compatible with the NeXT gdb or would I have to get gdb-4.6 as
] well?
] 
No and no.  You cannot use the NeXT gdb (except to get backtraces), and you  
cannot build gdb 4.6 (or any other version) on the NeXT.  This is a big minus,  
but I refuse to go back to the outdated native C++ compiler.
 
] I would greatly appreciate answers and/or experiences from anyone who has had
] experience with gcc-2.2.2.
] 
I have been using it on both my NeXT and on our Sun since the day it was  
released.  I am very satisfied, and given the alternatives (old NeXT version or  
expensive commercial version) I am quite willing to do the work to upgrade  
and/or patch the code as problems are discovered and fixed.

--
Douglas Scott                              (805)893-8352
Center for Computer Music Research and Composition
University of California, Santa Barbara
Internet: (NeXTMail ok)   <doug@foxtrot.ccmrc.ucsb.edu>