This is the mail archive of the
mailing list for the GCC project.
Proposal: remove the Obj-C++ front end
- From: Steven Bosscher <stevenb dot gcc at gmail dot com>
- To: Mike Stump <mikestump at comcast dot net>, Stan Shebs <stanshebs at earthlink dot net>
- Cc: GCC Mailing List <gcc at gcc dot gnu dot org>, IainS <developer at sandoe-acoustics dot co dot uk>, David Edelsohn <dje at gcc dot gnu dot org>, Ian Lance Taylor <ian at airs dot com>, Andrew Pinski <pinskia at gmail dot com>
- Date: Thu, 20 May 2010 21:02:28 +0200
- Subject: Proposal: remove the Obj-C++ front end
The Obj-C++ front end is effectively unmaintained, and has virtually
no serious users. I propose to remove it from GCC.
Perhaps the only user of some significance is GNUstep, but they are
already in an awkward position because they wish to use ObjC 2.0, and
they are looking at clang for that.
The burden on GCC on the other hand, from a maintainer's point of
view, is very significant. Obj-C++ was allowed in for GCC 4.1 under
the condition that Apple would maintain the front end. Clearly this
condition is currently not satisfied. The Obj-C++ front end ties
together the c, objc, and g++ front ends in very uncomfortable ways.
The front end also from time to time breaks because someone changes
g++ and breaks one of the many non-obvious dependencies between g++
There are also technical reasons for removing this front end. For one,
objc exceptions in objc++ don't work for the GNU runtime. The
implementation of the language also appears to be out of sync with
Apple (apart from ObjC 2.0).
Removing *anything* from GCC always leads to discussions, and I've
been in enough of them to not propose this removal lightly. I think
everyone understands that the GCC community does not exist only to
benefit itself. But this trade-off should be considered seriously,
between the benefits of an unmaintained and essentially broken objc++
for a very limited number of users (if any) against very high
maintenance cost for the GCC community. In my view: if there is no
active maintainer for objc++ then it should go.
I'll get in my flame resistant suit now...