* c-valprint.c (c_val_print): Use extract_address to retrieve

the address of the virtual function.
	From Peter Bloecher (Peter.Bloecher@eedn.ericsson.se).

	* eval.c (evaluate_subexp_standard), valarith.c (value_x_unop):
	Handle C++ operator *.
This commit is contained in:
Peter Schauer 1997-08-03 15:24:55 +00:00
parent e6071dc57f
commit 153da921f3
1 changed files with 5 additions and 4 deletions

View File

@ -1,5 +1,5 @@
/* Support for printing C values for GDB, the GNU debugger. /* Support for printing C values for GDB, the GNU debugger.
Copyright 1986, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996 Copyright 1986, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of GDB. This file is part of GDB.
@ -286,9 +286,10 @@ c_val_print (type, valaddr, address, stream, format, deref_ref, recurse,
/* Print the unmangled name if desired. */ /* Print the unmangled name if desired. */
/* Print vtable entry - we only get here if NOT using /* Print vtable entry - we only get here if NOT using
-fvtable_thunks. (Otherwise, look under TYPE_CODE_PTR.) */ -fvtable_thunks. (Otherwise, look under TYPE_CODE_PTR.) */
print_address_demangle(*((int *) (valaddr + /* FIXME bytesex */ print_address_demangle (extract_address (
TYPE_FIELD_BITPOS (type, VTBL_FNADDR_OFFSET) / 8)), valaddr + TYPE_FIELD_BITPOS (type, VTBL_FNADDR_OFFSET) / 8,
stream, demangle); TYPE_LENGTH (TYPE_FIELD_TYPE (type, VTBL_FNADDR_OFFSET))),
stream, demangle);
} }
else else
cp_print_value_fields (type, valaddr, address, stream, format, cp_print_value_fields (type, valaddr, address, stream, format,