From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Berlin To: gdb-patches@sources.redhat.com Subject: [PATCH] New C++ abstraction patch Date: Tue, 20 Feb 2001 16:02:00 -0000 Message-id: X-SW-Source: 2001-02/msg00407.html Includes Elena's requested changes, moves gnu-v2-abi.c and gnu-v3-abi.c to the root directory. cp-abi.c is gone temporarily until the next set of patches. This patch includes the new files in diff format. 2001-02-20 Daniel Berlin * Makefile.in (SFILES): Add gnu-v2-abi.c, gnu-v3-abi.c (COMMON_OBJS): Add gnu-v2-abi.o, gnu-v3-abi.o (gnu-v3-abi.o): Add. (gnu-v2-abi.o): Add. (symtab.o): Add cp-abi.h. (linespec.o): Add cp-abi.h. (dbxread.o): Add cp-abi.h. (c-typeprint.o): Add cp-abi.h. * cp-abi.h: New file. C++ abi abstraction * gnu-v2-abi.c: New file. C++ abi abstraction implementation for v2 abi. * gnu-v3-abi.c New file. C++ abi abstraction implementation for v3 abi. * valops.c (value_rtti_type): VTBL_PREFIX_P -> vtbl_prefix_p. Add cp-abi.h to the include list. * symtab.c (gdb_mangle_name): DESTRUCTOR_PREFIX_P -> destructor_prefix_p. Replace hardcoded g++ v2 constructor name test with constructor_prefix_p. Add cp-abi.h to the include list. * linespec.c (find_methods): Change SYMBOL_TYPE (sym_class) to CHECK_TYPEDEF (t), remove FIXME. Change method name comparison from STREQ to strcmp_iw. DESTRUCTOR_PREFIX_P -> destructor_prefix_p, fix test so it works (it was broken before, it was doing the reverse of what it should). Add cp-abi.h to include list. * dbxread.c (record_minimal_symbol): VTBL_PREFIX_P -> vtbl_prefix_p. Add cp-abi.h to include list. * c-typeprint.c (c_type_print_base): Remove hardcoded g++ v2 destructor/constructor name test, replace with destructor_prefix_p, constructor_prefix_p. Change STREQN (method_name, "~", 1) to method_name[0] == '~'. Add cp-abi.h to include list * jv-typeprint.c (java_type_print_base): Remove hardcoded g++ v2 destructor/constructor name test, replace with destructor_prefix_p, constructor_prefix_p. * symtab.h: Remove VTBL_PREFIX_P macro. Remove DESTRUCTOR_PREFIX_P macro.