2005-03-24 Jeff Johnston * valops.c (check_field_in): Use check_typedef for base classes to avoid problems with opaque type references. Index: gdb-6.8.50.20081128/gdb/valops.c =================================================================== --- gdb-6.8.50.20081128.orig/gdb/valops.c 2008-12-08 10:56:11.000000000 +0100 +++ gdb-6.8.50.20081128/gdb/valops.c 2008-12-08 10:59:14.000000000 +0100 @@ -2484,8 +2484,14 @@ check_field (struct type *type, const ch } for (i = TYPE_N_BASECLASSES (type) - 1; i >= 0; i--) - if (check_field (TYPE_BASECLASS (type, i), name)) - return 1; + { + /* Check the base classes. Make sure we have the real type for + each base class as opposed to an opaque declaration. */ + struct type *baseclass = check_typedef (TYPE_BASECLASS (type, i)); + + if (check_field (baseclass, name)) + return 1; + } return 0; }