From: Grzegorz J. <ja...@he...> - 2003-06-09 18:30:52
|
On Sun, 8 Jun 2003, Dean Giberson wrote: > First I would like to say that the method Grzegorz to fix my earlier > problem worked. I've been working late nights and did not get a chance > to try it until recently. > > Briefly how to replace the GC in opencxx is simple. Download the newest > GC & replace the gc folder in opencxx. GC now has autotools support so > you can just run ./configure && make. Then copy over the two missing > file that opencxx requires for it's autoconf (Makefile.gc.in & > Makefile.options.in) and run ./configure && make for opencxx. Works > great. Thanks > > Now the new problem. Trying to compile the samples I get the following > error: > > ////////////////////////////////////////////////////////////////////////////////// > ../src/occ -m -v -I../gc -I../src -- -g VerboseClass.mc > [Preprocess... g++ -I../gc -I../src -D__opencxx -E -o VerboseClass.occ > -x c++ VerboseClass.mc] > [Translate... VerboseClass.occ into: VerboseClass.ii] > /usr/include/c++/3.2.2/i386-redhat-linux/bits/c++locale.h:48: parse > error before `; }' > MOP warning: The hash table is full. Expanded... > Produce VerboseClass-init.cc .. > [Compile... g++ -fPIC -shared -o VerboseClass-init.so VerboseClass-init.cc] > 1 Error(s). OpenC++ stops. > make: *** [VerboseClass.so] Error 1 > ////////////////////////////////////////////////////////////////////////////////// > > What seems to be happening is that the translator is getting hung up on > the __typeof operator in the following code from > '/usr/include/c++/3.2.2/i386-redhat-linux/bits/c++locale.h': > > ////////////////////////////////////////////////////////////////////////////////// > #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) > namespace __gnu_cxx > { > extern "C" __typeof(uselocale) __uselocale; > } > #endif > ////////////////////////////////////////////////////////////////////////////////// > > My question is how do I bypass this? Of course it would be cool if > opencxx understood the __typeof operator but simply not having it > preprocessed in would be good enough for me right now. Quick and dirty: #define __typeof(x) int // or any other type If type of x is from nontrivial metaclass this of course will not trigger user-defined translation. Hope this helps. Best regards Grzegorz > > Thank you for any help, > Dean Giberson > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: Etnus, makers of TotalView, The best > thread debugger on the planet. Designed with thread debugging features > you've never dreamed of, try TotalView 6 free at www.etnus.com. > _______________________________________________ > Opencxx-users mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/opencxx-users > > ################################################################## # Grzegorz Jakacki Huada Electronic Design # # Senior Engineer, CAD Dept. 1 Gaojiayuan, Chaoyang # # tel. +86-10-64365577 x2074 Beijing 100015, China # # Copyright (C) 2002 Grzegorz Jakacki, HED. All Rights Reserved. # ################################################################## |