I'm having trouble compiling aspell 0.50.3 under
Solaris 9 with Forte Developer 7 C++ 5.4.
Apart from some minor changes, that mostly look
like misconfigurations of the STL library, I'm stuck with the same error that Manfred Metz
had (see [1]). The error message we get is:


"readonly_ws.cpp", line 197: Error: Redefining acommon::hash<acommon::K>
after use in aspeller_default_readonly_ws::ReadOnlyWS::SoundslikeLookupParms.

I looked at the Forte C++ migration guide and it says the following [2]:

C++ contains rules that prohibit any redefinition of an outer scope name
that has been used in the class.

According to the above, the declaration:


struct SoundslikeLookupParms {
...
hash<const char*> hash;
... };

appearing in readonly_ws.cpp, is incorrect. I don't have a copy of the C++ standard available, but from a comp.lang.c++ posting [3] which quotes the
standard it seems that under paragraph 2 of chapter
9.2 (scope rules for classes) the above code is illegal.
The paragraph reads (quoted from the above post):


 2) A name N used in a class S shall refer to the same declaration
 when re-evaluated in its context and in the completed scope of S.

So, I suppose that Forte is right about this, and g++ is not.


I suppose one would go about renaming the member 'hash', but I don't
know where else it could be in use. If it's just a matter of renaming, then I could submit a patch. Please let me know.


 1. http://mail.gnu.org/archive/html/aspell-devel/2003-02/msg00008.html
 2. 
http://www.ictp.trieste.it/~manuals/programming/sun/c-plusplus/c++_ug/AppA.migr.doc.html#379
 3. http://groups.google.com/groups?selm=5cc221%24m7v%40netlab.cs.rpi.edu&output=gplain

--
___.o._________ ,,_ ____________________________ =..'`. ,","_ '> `) ) ,"," _ '> , )// _ '> ,' // _ '>",' http://www.di.uoa.gr/~stud1242
( (/ _'> ' ____`. `-"' ,'swan'_________________________ ``````````



_______________________________________________ Aspell-devel mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/aspell-devel

Reply via email to