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: D. Credits Up: Aspell .33.7.1 alpha A Previous: B. To Do Contents