rather than smash_to_method_type.
* values.c (check_stub_method): Deal with operator names.
* values.c: Move declaration of cplus_demangle to top of file.
* values.c (baseclass_addr): If can't read memory, set *ERRP
rather than calling error().
* values.c (value_static_field): Recursively check all baseclasses.
Return NULL if not found.
* values.c, value.h: New functions value_{headof,from_vtable_info}.
values.c (value_virtual_fn_field):
Don't bother to do anything with
return value from fill_in_vptr_fieldno.CVS: Modified Files:
specially.
* valprint.c: Move print controls to top and add objectprint.
Add command "set print object on/off".
* valprint.c (value_print, is_vtbl_member): Put things in local
variables rather than continually doing VALUE_TYPE (val), etc.
regardless of LONG_LONG.
symtab.c, symtab.h (allocate_stub_method): New function.
* symtab.c (decode_line_1): Deal with operators specified as
"operator" <optional whitespace> <symbols for operator>.
(operator_chars): Help do it.
* symtab.c (lookup_struct_elt_type): Call check_stub_type.
Take additional argument noerr.
Don't dump core if TYPE_FIELD_NAME is NULL.
Check the baseclasses recursively.
is OP_SCOPE, give an error.
* eval.c (evaluate_subexp): Pass third arg to lookup_struct_elt_type.
* eval.c (evaluate_subexp), values.c (value_virtual_fn_field):
Don't bother to do anything with
return value from fill_in_vptr_fieldno.
* eval.c (evaluate_subexp): If value_static_field returns NULL,
give an error.
and start clobbering it; allocate_stub_method instead.
* dbxread.c (read_struct_type): Put "op$" instead of "operator"
in the symbol table.
* dbxread.c (read_struct_type): Set fcontext to 0 for normal member
function.
* dbxread.c (read_struct_type): Initialize name to 0.
* dbxread.c (read_ofile_symtab, N_CATCH): Add offset to bufp->n_value.
* dbxread.c (dbx_create_type): Zero TYPE_VPTR_BASETYPE.
(read_struct_type): Don't bother to set TYPE_VTPR_{BASETYPE,FIELDNO}
if it's just going to be {0,1}.
* dbxread.c (virtual_context): Use TYPE_BASECLASS starting at 0
(yes, it's #if 0, but just in case...).
expread.y (typebase): Add {unsigned,} long long {,int}.
* expread.y (variable): Allow for destructor with foo::~name.
* vax-opcode.h, expread.y, expprint.c, cplus-dem.c: Declare some
things "const".
the symtabs which we all know and love: (1) Look in the
STATIC_BLOCK for mangled symbols right after we check the blocks,
(2, 3) Look in the STATIC_BLOCK for all the symtabs and psymtabs
at the end.
* dbxread.c (read_struct_type): If const/volatile character is
missing, don't complain, just continue.
* dbxread.c (read_struct_type): Only try to read the fcontext if
it is there. Also change "error_type " to "return error_type ".
values.c (value_virtual_fn_field): If there is no fcontext,
then do things the way GDB 3.x did.
valops.c (search_struct_method): Add type to value_virtual_fn_field
arguments.
* dbxread.c (read_struct_type): Fix typo: *pp != '\0' -> **pp != '\0'.
core.c (core_close): Call CLEAR_SOLIB.
(core_open): Remove comment about "should deal with shared lib".
(core_xfer_memory): If we can't xfer the usual way, try the
shared libraries.
solib.c (so_list): New fields so_bfd and so_sections{,_end}.
(find_solib): Use solib_map_sections to get ld_text.
(solib_map_sections, solib_xfer_memory): New functions.
(clear_solib): Free so_sections and close so_bfd.
tm-sunos.h: Add solib_xfer_memory, solib_add.