tom@tnosoes.UUCP (Tom Vijlbrief) (11/14/89)
gdb crashes on C++ classes which contain an enum. the enum type is not found by lookup_symbol(), so sym_class is set to '0'; The following diff works: *** symtab.c.org Tue Nov 14 16:30:54 1989 --- symtab.c.new Tue Nov 14 16:35:04 1989 *************** *** 1570,1576 **** while (*class_name++ != ' '); sym_class = lookup_symbol (class_name, 0, STRUCT_NAMESPACE, 0); ! for (method_counter = TYPE_NFN_FIELDS (SYMBOL_TYPE (sym_class)) - 1; method_counter >= 0; --method_counter) { --- 1570,1578 ---- while (*class_name++ != ' '); sym_class = lookup_symbol (class_name, 0, STRUCT_NAMESPACE, 0); ! /* tom@tnosoes.uucp */ ! if (sym_class) ! for (method_counter = TYPE_NFN_FIELDS (SYMBOL_TYPE (sym_class)) - 1; method_counter >= 0; --method_counter) { =============================================================================== Tom Vijlbrief TNO Institute for Perception P.O. Box 23 Phone: +31 34 63 562 11 3769 ZG Soesterberg E-mail: tnosoes!tom@mcvax.cwi.nl The Netherlands or: uunet!mcvax!tnosoes!tom ===============================================================================