I finally found the bug: its name is "g++"

Markus Werle numerical.simulation@web.de
Thu Sep 6 09:27:00 GMT 2001


Preface
-------

To put the text below into the correct light, let me first state that for me
there is no such thing like free software, I like the ideas of the free
software foundation and I cling to free software whereever I can
(linux forever!)

I write this here because I am concerned about what happened to the core
system, the heart of all this: GCC has becomme ill and parts of it are going
to die if things go on the way they do today.

As a (stupid) _user_ of gcc I felt it was not my right to complain about
misfeatures in a free software project (to be honest: I ignored these
feelings sometimes), but by now I am convinced that it is time either to say
goodbye to gcc (and maybe also to Stallmanns ideas) or to put the finger in
the wound - of course with the risk of some strong reaction about it.

As a german native speaker I apologize for every formulation that sounds too
roughly spoken or insulting. In the text below I want to critisize, not
insult, but things may be overstated in some cases.  Feel free to correct me
then.


So here we go with an essay on a popular free C++ compiler:

gnu C++ users at the end of their rope:
-----------------------------------

If You want to use the C++ part of gcc, I just want to warn You:

!! Don't do it !!

I use gcc/g++ for 5 years now, I installed (OK, most often tried to install) it
several hundred times on different platforms. I _am_ fed up.  I have gone
through every damned c++ bug in that time and payed dearly.

It is not what I want, but I will _buy_ another compiler now.  This decision
will pay off. Guess how I feel, when I (the gnu guy in our office) have to
tell my boss, I would like to migrate from free software to a commercial
product.  I never thought I'd come so far.

A quick glance at the current state:

g++-3.0 opens the door to long debugging nights, because it builds some
objects at the same address twice.  I could not believe my eyes when I saw
this in the debugging output.

How come this bug passed the testsuite?  How come g++-3.0 is not marked red
in the web-page for being completely useless?

Upgrading to gcc-3.0.1 fixes that but won't leave You happy either.  Now I
fiddle with an -O3 ICE-bug that is not reproducable with small code
snippets, but I am not willing to post some 500 lines of my project to the
public (IMHO 2 weeks gcc-debugging per month are enough anyway).

Reading through http://gcc.gnu.org/ml/gcc-bugs/2001-09/ pushes my
disappointment to the maximum. By now gnu C++ users are caught between the
devil and the deep blue sea:

g++-X.XX.X < 2.93.2 are inacceptable regarding the C++ part.
g++-2.95.3 is not close enough to ANSI and has some bugs left.
g++-3.0 is _really_ buggy.
g++-3.0.1 is - well look at September 3-6, 2001 gcc-bugs mailing list
g++-3.0.2 is not ready (promised, to come soon, but who sues the delayer?)

Is it time to bury our hope and remove the C++ part of gcc from our minds
and our harddisks?

Sorry folks: I consider g++-3.0.1 als pre-alpha software. And even worse: the
inferior quality of this C++ compiler has a strong impact on the outstanding
reputation of gnu software built up during the past 20-30 years.

Its current state should be considered harmful to free software in its
entirety.

The C++ language itself has its 500 builtin everyday pitfalls. Now You can
really enjoy with this product: g++-pre-alpha. The shame of the free
software community. Where's the good guy who said _quality_ comes from the
open source model? I always nodded when this was stated.

We have to face it, but for a company it is cheaper to buy Intels' C++
compiler _and_ Comeau's version, instead of fiddling with this bullshit here
and pay later with a lot of time lost while debugging compilers.

Note that the compilers mentioned catched up pretty fast especially in the
template section, so who needs g++ by now?  I even think that the money
invested into g++ by companies would have been better spent on buying a
commercial one and making it a free version (sorry developers)

If the free software community looses the professionals as users of their core
product - the compiler - it is time to hit the breaks with both our feet.

Rethink: Do we really need "profile driven optimizations",
"Sparse Conditional Constant Propagation optimization" or
"a new physical location with significantly improved bandwidth"

No. First of all we need a reliable C++ compiler.
We need correctly generated code.
We need quality.

Features step back. I propose postponing the introduction of all this into
gcc until the day where g++ passes a testsuite that deserves that name.

I propose putting all effort not into new features and optimization but into
quality issues around this (once) precious product.  If g++ cannot settle
down to an accepting amount of open bugs within 3 months no manager of any
enterprise may be convinced that anything in the company should rely on that
product.

I propose to be honest: red markers everywhere for unusable packages.  The
unaware downloading and trying to install such things finds himself left
alone in the rain - no support. Will this vistor come back again? Is he the
CEO of a company in 5 years? Will he decide to use gcc/linux/gnu then?

It's funny: even a free software project - when it looses its "customers" -
is about to die. And the "vendors" (called volunteers here) are, yes they
really _are_ responsible for this. And they will suffer under the death of a
good idea. I like what is written in http://gcc.gnu.org/develop.html , but I
could not see it did help by now, at least not for g++.

What is my responsibility? My capabilities are limited to bug reports.
But I would like to be told it is alpha software first. Sometimes I just
want to spend 5 minutes on my own project and see it compile.

I do not want to say goodbye, but I stand in the door already.
Anything You want to say before I go?



Markus Werle






More information about the Gcc-bugs mailing list