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
===============================================================================