Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uunet!mcsun!hp4nl!tnosoes!tom From: tom@tnosoes.UUCP (Tom Vijlbrief) Newsgroups: gnu.gdb.bug Subject: gdb 3.3 crash + fix Keywords: gdb Message-ID: <502@tnosoes.UUCP> Date: 14 Nov 89 15:44:50 GMT Organization: TNO Institute for Perception, Soesterberg, The Netherlands Lines: 37 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 ===============================================================================