Richard Kenner wrote:
As was said before, the difficultly in people working with GCC is
primarily lack of adequate documentation.
I am not sure of that.
GCC is a huge piece of software. This is the major difficulty: grasping
a 3MLOC software whose source is available, rather well commented, with
some documentation (I agree it could be better; feel free to add it at
least on the wiki).
Compare this to the Linux kernel (which I do not know in detail). While
it might be more documented in the source tree, it is certainly more
documented outside (there are several good books on kernel internals;
I'm not sure that equivalent books for GCC exist, and I would spend 50
euros -of my own money- for such a book if it existed).
And still, diving and contributing to the Linux kernel and/or to GCC is
really hard (I admit I don't know what is harder, and probably nobody
knows both software in the same details!).
The biggest barrier to working on GCC is a learning & working effort
barrier. I don't think documentation would help a lot (and maintaining
it is a nightmare).
I am not sure (I really don't know) if more documentation on GCC exist,
even inside companies with teams of a dozen of talented GCC
contributors. I don't believe (maybe I am wrong) that for instance IBM
or Google or AMD (or any company with several GCC developers full time)
have a lot of (maybe proprietary) internal documentation on GCC.
I even don't believe that competitor proprietary compilers are much more
documented than GCC.
GCC is an incredibly complex software (because any similar compiler has
to be complex and huge).
PS. My mentor on GCC has been Sebastian Pop. I'll never thank him enough!
--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***