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