bothner@WSL.DEC.COM (09/11/89)
I finally persevered in compiling and linking libg++ with my application. However: * In function convert_to_aggr in cplus_cvt.c:1073 cp->harshness is alloca'd an array of 2 shorts. Then compute_conversion_costs (in cplus-class.c) is invoked with arglen=2. However, the latter routine assumes that cp->harshness is (arglen+1) length - just look at the call to bzero. Not really understanding much of the code, I changed cplus_cvt.c:1073 to alloca an array of 3 shorts. That seems to work. * Compiling libg++ still crashes, if optimization is on. I removed -O -fstrength-reduce from the libg++/src/Makefile, and the library compiled to completion. * I needed to call a C++ routine from C. I tried adding a declaration of the form: extern "C" { struct Any foo(etc); }; struct Any foo(etc) { } However, the extern seemed to have no effect - foo still gets a munged name. (I managed to kludge around it.) --Per