S
santosh
Paulo said:santosh said:santosh said:Paulo Jorge de O. C. de Matos wrote:
I guess these are in fact, the things I use the most from C99. The
other stuff might be useful to others. I even inquired the gcc
people why C99 is so poorly [in ~10 years they still miss a couple
of features] implemented. Their reply was ... interesting but
not as clear as one would wish:
http://gcc.gnu.org/ml/gcc-help/2008-03/msg00221.html
Interesting.
And to follow up, Paulo's respondent seems to be implying pretty
strongly that a reason for gcc's slow implementation of C99 (and for
many other implementations as well) is that C is proving to be an
ill-designed language to extend easily.
Although I don't know much about compilers, I've had the opportunity
of implementing a software verifier based on SAT techniques inside
gcc. From what I have seen gcc is a pretty big beast and quite
complex. I would even go to the point of saying that the problem might
not be [only] C as a language but GCC that was not prepared to be
extended to this point and many things start to conflict with each
other resulting in bugs and missing features. For an example, check:
http://www.nabble.com/Inline-functions-in-C99-td15789469.html
This is however, just my intuition. I have no concrete information or
proof that the problem with the C99 implementation lies with GCC.
[snip]
Okay this is an interesting view and yes, from what little I have seen
of gcc's code, it is very complex. But if the complexity of the code
were one reason for difficulty in extending gcc's feature set, then one
would presume that g++ would suffer as badly, if not more, since C++ is
a much more diffcult language to write a compiler for. However it may
be that g++ has had the benefit of a better design, perhaps learning
from some of the problems faced by gcc.