------- Additional Comments From danglin at gcc dot gnu dot org 2005-01-08 22:57 ------- I first tested the aix.patch using the cvs head. It still had the same problem.
Using the tree from "12/16/04 11:03:00 UTC" (my original suggestion was known to work at this point), I tested the patch together with rtti.c changes for PR 18257. Still no joy. The vtables aren't being emitted because the runtime check in rtti.c (emit_support_tinfos) is broken: Breakpoint 1, emit_support_tinfos () at ../../gcc/gcc/cp/rtti.c:1342 1342 ../../gcc/gcc/cp/rtti.c: A file or directory in the path name does not exist.. in ../../gcc/gcc/cp/rtti.c (gdb) p debug_tree (dtor) <function_decl 300d5200 __fundamental_type_info type <method_type 300d5380 type <void_type 30018f00 void type_6 VOID align 8 symtab -11 alias set -1 pointer_to_this <pointer_type 30018f80>> SI size <integer_cst 300024a0 constant invariant 32> unit size <integer_cst 30002160 constant invariant 4> align 32 symtab 0 alias set -1 method basetype <record_type 300d4b00 __fundamental_type_info> arg-types <tree_list 300d2648 value <pointer_type 300d4f00> chain <tree_list 300af678 value <integer_type 30009780 int> chain <tree_list 3000ae40 value <void_type 30018f00 void>>>>> public abstract external no-static-chain virtual SI file /opt/build/dave/gcc- 4.0.0/gcc/libstdc++-v3/libsupc++/cxxabi.h line 167 context <record_type 300d4b00 __fundamental_type_info> arguments <parm_decl 300d5280 this type <pointer_type 300d5000 type <record_type 300d4b00 __fundamental_type_info> readonly unsigned SI size <integer_cst 300024a0 32> unit size < integer_cst 30002160 4> align 32 symtab 0 alias set -1> readonly unsigned SI file /opt/build/dave/gcc-4.0.0/gcc/libstdc++-v3/ libsupc++/cxxabi.h line 167 size <integer_cst 300024a0 32> unit size <integer_cst 30002160 4> align 32 initial <pointer_type 300d5000> arg-type <pointer_type 300d5000> chain <parm_decl 300d5300 __in_chrg type <integer_type 30009780 int> readonly SI file /opt/build/dave/gcc-4.0.0/gcc/libstdc++-v3/libsupc++ /cxxabi.h line 167 size <integer_cst 300024a0 32> unit size <integer_cst 30002160 4> align 32 initial <integer_type 30009780 int> arg-type <integer_type 30009780 int>>> chain <function_decl 300d5b00 __base_dtor >> $2 = void I recall now that my change to import_export_decl removed DECL_EXTERNAL from dtor. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19159