next up previous contents
Next: D. Credits Up: Aspell .33.7.1 alpha A Previous: B. To Do   Contents


C. Support for Gcc 2.7.2

(and other non-standard compliance compilers)

My original plan was to program in such a way that it would Aspell would
compile under Gcc 2.7.2 however after releasing a rather nasty bug in
2.7.2 with nested types I have desired to drop all support for Gcc 2.7.2.
As of Aspell .27 all hope for being able to compile under Gcc 2.7.2 is
lost as I am now using many modern C++ features which are simply not
present in Gcc 2.7.2, most notably template specialization and template
members. Egcs 1.1.1 is a very good standards compliant compiler and that
is now the officially supported compiler. However as Egcs 1.1.1 is
relatively new and, except for namespaces, provides little new
functionality I will continue to support Egcs 1.0.3. Gcc 2.8.1 should in
theory work however it is so buggy I have yet to get it to compile with it
nor has anyone else that I know of.

Yes, my code could be rewritten so that is could compile under Gcc 2.7.2
but Why? Using modern C++ has probably accelerated the development of this
library my at least 50%. And for that matter why stop at Gcc 2.7.2 why not
go all out and totally rewrite my code pure C. I hope you see my point.

However that does not mean I want to sacrifice portability unnecessarily.
If you see any of part of my code that in not Standard C++ please let me
know. My hope is that my code could compile on all Standard compliance C++
compilers with the addition of a few extra header files from SGI's STL.

As a side note I think that Mozilla's C++ portability guide (http://
www.mozilla.org/docs/tplist/catBuild/portable-cpp.html) could be summed up
in one sentence: Program in the dark ages of C++.

--------------------------------------------------------------------------
next up previous contents
Next: D. Credits Up: Aspell .33.7.1 alpha A Previous: B. To Do   Contents
Kevin Atkinson 2001-08-19
