Commit Graph

7 Commits

Author SHA1 Message Date
Daniel Jacobowitz 6aba47ca06 Copyright updates for 2007. 2007-01-09 17:59:20 +00:00
Daniel Jacobowitz 0d5de0100f * NEWS: Mention pointer to member improvements.
* Makefile.in (gnu-v3-abi.o): Delete special rule.
	(eval.o, gnu-v3-abi.o, ia64-tdep.o): Update.
	* ada-valprint.c (ada_print_scalar): Update for new type codes.
	* c-typeprint.c (c_print_type): Update for new type codes.
	(c_type_print_varspec_prefix, c_type_print_varspec_suffix)
	(c_type_print_base): Likewise.
	(c_type_print_args): Rewrite.
	* c-valprint.c (c_val_print): Update for new type codes.  Remove
	support for references to members.  Treat methods like functions.
	* cp-abi.c (cplus_print_method_ptr, cplus_method_ptr_size)
	(cplus_make_method_ptr, cplus_method_ptr_to_value): New.
	* cp-abi.h (cplus_print_method_ptr, cplus_method_ptr_size)
	(cplus_make_method_ptr, cplus_method_ptr_to_value): New prototypes.
	(struct cp_abi_ops): Add corresponding members.
	* cp-valprint.c (cp_print_class_method): Delete.
	(cp_find_class_member): New function.
	(cp_print_class_member): Use it.  Simplify support for bogus
	member pointers.
	* dwarf2read.c (quirk_gcc_member_function_pointer): Use
	lookup_methodptr_type.
	(read_tag_ptr_to_member_type): Likewise, and lookup_memberptr_type.
	* eval.c (evaluate_subexp_standard): Implement EVAL_SKIP for
	OP_SCOPE.  Update call to value_aggregate_elt.  Rewrite member
	pointer support.
	(evaluate_subexp_for_address): Handle OP_SCOPE explicitly.  Handle
	references returned by user defined operators.
	* f-typeprint.c (f_print_type, f_type_print_varspec_prefix)
	(f_type_print_varspec_suffix): Remove support for member pointers.
	* gdbtypes.c (lookup_memberptr_type): Renamed from lookup_member_type
	and adjusted.
	(smash_to_memberptr_type): Likewise, from smash_to_member_type.
	(lookup_methodptr_type): New.
	(rank_one_type): Adjust for TYPE_CODE_MEMBERPTR.
	(recursive_dump_type): Update for new types.
	* gdbtypes.h (enum type_code): Replace TYPE_CODE_MEMBER with
	TYPE_CODE_MEMBERPTR and TYPE_CODE_METHODPTR.
	(lookup_memberptr_type, lookup_methodptr_type)
	(smash_to_memberptr_type): New prototypes.
	(smash_to_method_type): Formatting fix.
	(lookup_member_type, smash_to_member_type): Delete prototypes.
	* gnu-v3-abi.c (gnuv3_get_vtable, gnuv3_get_virtual_fn): New.
	Do not rely on debug information for the vptr or the method's
	enclosing type.  Handle function descriptors for IA64.
	(gnuv3_virtual_fn_field): Rewrite using the new functions.
	(gnuv3_find_method_in, gnuv3_print_method_ptr)
	(gnuv3_method_ptr_size, gnuv3_make_method_ptr)
	(gnuv3_method_ptr_to_value): New.
	(init_gnuv3_ops): Set new members of gnu_v3_abi_ops.
	* hpread.c (hpread_type_lookup): Update for new types.
	* infcall.c (value_arg_coerce): Likewise.
	* m2-typeprint.c (m2_print_type): Remove explicit support
	for member pointers.
	* m2-valprint.c (m2_val_print): Likewise.
	* p-typeprint.c (pascal_type_print_varspec_prefix)
	(pascal_type_print_varspec_suffix, pascal_type_print_base): Likewise.
	* p-valprint.c (pascal_val_print): Likewise.
	(pascal_object_print_class_method, pascal_object_print_class_member):
	Delete.
	* p-lang.h (pascal_object_print_class_method)
	(pascal_object_print_class_member): Delete prototypes.
	* stabsread.c (read_type): Update for new types.
	* typeprint.c (print_type_scalar): Likewise.
	* valops.c (value_struct_elt_for_reference, value_namespace_elt)
	(value_maybe_namespace_elt, value_aggregate_elt): Add want_address
	argument.  Construct a pointer to member if the address of a
	function or data member is requested.
	(value_cast_pointers): Don't modify the input value.
	(value_cast): Adjust pointer to member handling for new types.
	Allow null pointer to member constants.  Don't modify the input
	value.
	(value_ind): Remove pointer to member check.  Handle function
	descriptors for function pointers.
	(value_struct_elt, value_find_oload_method_list, check_field):
	Remove pointer to member checks.
	* value.c (unpack_long): Allow pointers to data members.
	(value_from_longest): Allow member pointers.
	* value.h (value_aggregate_elt): Add want_address.
	* varobj.c (c_variable_editable): Remove check for members.
	* gdbarch.sh: Add vtable_function_descriptors and vbit_in_delta.
	* ia64-tdep.c (ia64_convert_from_func_ptr_addr): Handle descriptors
	in virtual tables.
	(ia64_gdbarch_init): Call set_gdbarch_vtable_function_descriptors.
	* c-lang.h (cp_print_class_method): Delete prototype.
	* arm-tdep.c (arm_gdbarch_init): Call set_gdbarch_vbit_in_delta.
	* mips-tdep.c (mips_gdbarch_init): Likewise.
	* gdbarch.c, gdbarch.h: Regenerated.

	* gdb.cp/classes.exp (test_pointers_to_class_members): Update expected
	output.  Test the types of members and member pointers.
	* gdb.cp/inherit.exp (test_print_mi_member_types): Remove KFAILs for
	gdb/2092.
	* gdb.cp/member-ptr.exp: Search for a comment instead of a
	statement.  Enable for GCC.  Update expected output for some tests
	and add new tests.  Remove obsolete GCC KFAILs.  Allow GCC's class
	layout.
	* gdb.cp/member-ptr.cc (Padding, Padding::vspacer, Base, Base::get_x)
	(Base::vget_base, Left, Left::vget, Right, Right::vget, Diamond)
	(Diamond::vget_base): New.
	(main): Add new tests.
	* gdb.cp/printmethod.exp: Update expected output for member functions.
	* gdb.cp/virtfunc.exp (test_virtual_calls): Add a KFAIL for
	print pEe->D::vg().
2007-01-03 18:05:45 +00:00
Joel Brobecker b60f089831 * gdb.arch/altivec-abi.exp: Replace gdb_suppress_entire_file with
untested followed by return combination.
	* gdb.arch/altivec-regs.exp: Likewise.
	* gdb.arch/e500-abi.exp: Likewise.
	* gdb.arch/e500-regs.exp: Likewise.
	* gdb.arch/gdb1291.exp: Likewise.
	* gdb.arch/gdb1431.exp: Likewise.
	* gdb.arch/gdb1558.exp: Likewise.
	* gdb.arch/i386-prologue.exp: Likewise.
	* gdb.arch/i386-unwind.exp: Likewise.
	* gdb.asm/asm-source.exp: Likewise.
	* gdb.base/a2-run.exp: Likewise.
	* gdb.base/advance.exp: Likewise.
	* gdb.base/all-bin.exp: Likewise.
	* gdb.base/annota1.exp: Likewise.
	* gdb.base/annota3.exp: Likewise.
	* gdb.base/args.exp: Likewise.
	* gdb.base/arithmet.exp: Likewise.
	* gdb.base/assign.exp: Likewise.
	* gdb.base/async.exp: Likewise.
	* gdb.base/attach.exp: Likewise.
	* gdb.base/bang.exp: Likewise.
	* gdb.base/bigcore.exp: Likewise.
	* gdb.base/bitfields.exp: Likewise.
	* gdb.base/bitfields2.exp: Likewise.
	* gdb.base/break.exp: Likewise.
	* gdb.base/call-sc.exp: Likewise.
	* gdb.base/call-strs.exp: Likewise.
	* gdb.base/callfuncs.exp: Likewise.
	* gdb.base/checkpoint.exp: Likewise.
	* gdb.base/chng-syms.exp: Likewise.
	* gdb.base/code-expr.exp: Likewise.
	* gdb.base/commands.exp: Likewise.
	* gdb.base/completion.exp: Likewise.
	* gdb.base/cond-expr.exp: Likewise.
	* gdb.base/condbreak.exp: Likewise.
	* gdb.base/consecutive.exp: Likewise.
	* gdb.base/constvars.exp: Likewise.
	* gdb.base/corefile.exp: Likewise.
	* gdb.base/cvexpr.exp: Likewise.
	* gdb.base/dbx.exp: Likewise.
	* gdb.base/define.exp: Likewise.
	* gdb.base/detach.exp: Likewise.
	* gdb.base/display.exp: Likewise.
	* gdb.base/dump.exp: Likewise.
	* gdb.base/ena-dis-br.exp: Likewise.
	* gdb.base/ending-run.exp: Likewise.
	* gdb.base/environ.exp: Likewise.
	* gdb.base/eval-skip.exp: Likewise.
	* gdb.base/exprs.exp: Likewise.
	* gdb.base/fileio.exp: Likewise.
	* gdb.base/finish.exp: Likewise.
	* gdb.base/float.exp: Likewise.
	* gdb.base/foll-exec.exp: Likewise.
	* gdb.base/foll-fork.exp: Likewise.
	* gdb.base/foll-vfork.exp: Likewise.
	* gdb.base/freebpcmd.exp: Likewise.
	* gdb.base/funcargs.exp: Likewise.
	* gdb.base/gcore.exp: Likewise.
	* gdb.base/gdb1090.exp: Likewise.
	* gdb.base/gdb1250.exp: Likewise.
	* gdb.base/huge.exp: Likewise.
	* gdb.base/info-proc.exp: Likewise.
	* gdb.base/interrupt.exp: Likewise.
	* gdb.base/jump.exp: Likewise.
	* gdb.base/langs.exp: Likewise.
	* gdb.base/lineinc.exp: Likewise.
	* gdb.base/list.exp: Likewise.
	* gdb.base/logical.exp: Likewise.
	* gdb.base/long_long.exp: Likewise.
	* gdb.base/macscp.exp: Likewise.
	* gdb.base/maint.exp: Likewise.
	* gdb.base/mips_pro.exp: Likewise.
	* gdb.base/miscexprs.exp: Likewise.
	* gdb.base/multi-forks.exp: Likewise.
	* gdb.base/opaque.exp: Likewise.
	* gdb.base/overlays.exp: Likewise.
	* gdb.base/pc-fp.exp: Likewise.
	* gdb.base/pointers.exp: Likewise.
	* gdb.base/printcmds.exp: Likewise.
	* gdb.base/psymtab.exp: Likewise.
	* gdb.base/ptype.exp: Likewise.
	* gdb.base/recurse.exp: Likewise.
	* gdb.base/relational.exp: Likewise.
	* gdb.base/relocate.exp: Likewise.
	* gdb.base/remote.exp: Likewise.
	* gdb.base/reread.exp: Likewise.
	* gdb.base/restore.exp: Likewise.
	* gdb.base/return.exp: Likewise.
	* gdb.base/return2.exp: Likewise.
	* gdb.base/scope.exp: Likewise.
	* gdb.base/sect-cmd.exp: Likewise.
	* gdb.base/sep.exp: Likewise.
	* gdb.base/sepdebug.exp: Likewise.
	* gdb.base/setshow.exp: Likewise.
	* gdb.base/setvar.exp: Likewise.
	* gdb.base/sigall.exp: Likewise.
	* gdb.base/sigbpt.exp: Likewise.
	* gdb.base/signals.exp: Likewise.
	* gdb.base/signull.exp: Likewise.
	* gdb.base/sizeof.exp: Likewise.
	* gdb.base/solib.exp: Likewise.
	* gdb.base/step-line.exp: Likewise.
	* gdb.base/step-test.exp: Likewise.
	* gdb.base/structs.exp: Likewise.
	* gdb.base/structs2.exp: Likewise.
	* gdb.base/term.exp: Likewise.
	* gdb.base/twice.exp: Likewise.
	* gdb.base/until.exp: Likewise.
	* gdb.base/varargs.exp: Likewise.
	* gdb.base/volatile.exp: Likewise.
	* gdb.base/watchpoint.exp: Likewise.
	* gdb.base/whatis-exp.exp: Likewise.
	* gdb.base/whatis.exp: Likewise.
	* gdb.cp/ambiguous.exp: Likewise.
	* gdb.cp/annota2.exp: Likewise.
	* gdb.cp/annota3.exp: Likewise.
	* gdb.cp/bool.exp: Likewise.
	* gdb.cp/breakpoint.exp: Likewise.
	* gdb.cp/casts.exp: Likewise.
	* gdb.cp/class2.exp: Likewise.
	* gdb.cp/classes.exp: Likewise.
	* gdb.cp/cplusfuncs.exp: Likewise.
	* gdb.cp/ctti.exp: Likewise.
	* gdb.cp/derivation.exp: Likewise.
	* gdb.cp/exception.exp: Likewise.
	* gdb.cp/gdb1355.exp: Likewise.
	* gdb.cp/hang.exp: Likewise.
	* gdb.cp/inherit.exp: Likewise.
	* gdb.cp/local.exp: Likewise.
	* gdb.cp/m-data.exp: Likewise.
	* gdb.cp/m-static.exp: Likewise.
	* gdb.cp/member-ptr.exp: Likewise.
	* gdb.cp/method.exp: Likewise.
	* gdb.cp/misc.exp: Likewise.
	* gdb.cp/namespace.exp: Likewise.
	* gdb.cp/overload.exp: Likewise.
	* gdb.cp/ovldbreak.exp: Likewise.
	* gdb.cp/pr-1023.exp: Likewise.
	* gdb.cp/pr-1210.exp: Likewise.
	* gdb.cp/pr-574.exp: Likewise.
	* gdb.cp/printmethod.exp: Likewise.
	* gdb.cp/psmang.exp: Likewise.
	* gdb.cp/ref-params.exp: Likewise.
	* gdb.cp/ref-types.exp: Likewise.
	* gdb.cp/rtti.exp: Likewise.
	* gdb.cp/templates.exp: Likewise.
	* gdb.cp/try_catch.exp: Likewise.
	* gdb.cp/userdef.exp: Likewise.
	* gdb.cp/virtfunc.exp: Likewise.
	* gdb.disasm/am33.exp: Likewise.
	* gdb.disasm/h8300s.exp: Likewise.
	* gdb.disasm/mn10300.exp: Likewise.
	* gdb.disasm/sh3.exp: Likewise.
	* gdb.disasm/t01_mov.exp: Likewise.
	* gdb.disasm/t02_mova.exp: Likewise.
	* gdb.disasm/t03_add.exp: Likewise.
	* gdb.disasm/t04_sub.exp: Likewise.
	* gdb.disasm/t05_cmp.exp: Likewise.
	* gdb.disasm/t06_ari2.exp: Likewise.
	* gdb.disasm/t07_ari3.exp: Likewise.
	* gdb.disasm/t08_or.exp: Likewise.
	* gdb.disasm/t09_xor.exp: Likewise.
	* gdb.disasm/t10_and.exp: Likewise.
	* gdb.disasm/t11_logs.exp: Likewise.
	* gdb.disasm/t12_bit.exp: Likewise.
	* gdb.disasm/t13_otr.exp: Likewise.
	* gdb.hp/gdb.aCC/optimize.exp: Likewise.
	* gdb.hp/gdb.aCC/watch-cmd.exp: Likewise.
	* gdb.hp/gdb.base-hp/callfwmall.exp: Likewise.
	* gdb.hp/gdb.base-hp/dollar.exp: Likewise.
	* gdb.hp/gdb.base-hp/hwwatchbus.exp: Likewise.
	* gdb.hp/gdb.base-hp/pxdb.exp: Likewise.
	* gdb.hp/gdb.base-hp/reg-pa64.exp: Likewise.
	* gdb.hp/gdb.base-hp/reg.exp: Likewise.
	* gdb.hp/gdb.base-hp/sized-enum.exp: Likewise.
	* gdb.hp/gdb.compat/xdb1.exp: Likewise.
	* gdb.hp/gdb.compat/xdb3.exp: Likewise.
	* gdb.hp/gdb.objdbg/objdbg01.exp: Likewise.
	* gdb.hp/gdb.objdbg/objdbg02.exp: Likewise.
	* gdb.hp/gdb.objdbg/objdbg03.exp: Likewise.
	* gdb.hp/gdb.objdbg/objdbg04.exp: Likewise.
	* gdb.mi/gdb701.exp: Likewise.
	* gdb.mi/gdb792.exp: Likewise.
	* gdb.mi/mi-basics.exp: Likewise.
	* gdb.mi/mi-break.exp: Likewise.
	* gdb.mi/mi-cli.exp: Likewise.
	* gdb.mi/mi-console.exp: Likewise.
	* gdb.mi/mi-disassemble.exp: Likewise.
	* gdb.mi/mi-eval.exp: Likewise.
	* gdb.mi/mi-file.exp: Likewise.
	* gdb.mi/mi-read-memory.exp: Likewise.
	* gdb.mi/mi-regs.exp: Likewise.
	* gdb.mi/mi-return.exp: Likewise.
	* gdb.mi/mi-simplerun.exp: Likewise.
	* gdb.mi/mi-stack.exp: Likewise.
	* gdb.mi/mi-stepi.exp: Likewise.
	* gdb.mi/mi-syn-frame.exp: Likewise.
	* gdb.mi/mi-until.exp: Likewise.
	* gdb.mi/mi-var-block.exp: Likewise.
	* gdb.mi/mi-var-child.exp: Likewise.
	* gdb.mi/mi-var-cmd.exp: Likewise.
	* gdb.mi/mi-var-display.exp: Likewise.
	* gdb.mi/mi-watch.exp: Likewise.
	* gdb.mi/mi2-basics.exp: Likewise.
	* gdb.mi/mi2-break.exp: Likewise.
	* gdb.mi/mi2-cli.exp: Likewise.
	* gdb.mi/mi2-console.exp: Likewise.
	* gdb.mi/mi2-disassemble.exp: Likewise.
	* gdb.mi/mi2-eval.exp: Likewise.
	* gdb.mi/mi2-file.exp: Likewise.
	* gdb.mi/mi2-read-memory.exp: Likewise.
	* gdb.mi/mi2-regs.exp: Likewise.
	* gdb.mi/mi2-return.exp: Likewise.
	* gdb.mi/mi2-simplerun.exp: Likewise.
	* gdb.mi/mi2-stack.exp: Likewise.
	* gdb.mi/mi2-stepi.exp: Likewise.
	* gdb.mi/mi2-syn-frame.exp: Likewise.
	* gdb.mi/mi2-until.exp: Likewise.
	* gdb.mi/mi2-var-block.exp: Likewise.
	* gdb.mi/mi2-var-child.exp: Likewise.
	* gdb.mi/mi2-var-cmd.exp: Likewise.
	* gdb.mi/mi2-var-display.exp: Likewise.
	* gdb.mi/mi2-watch.exp: Likewise.
	* gdb.stabs/exclfwd.exp: Likewise.
	* gdb.stabs/weird.exp: Likewise.
	* gdb.threads/gcore-thread.exp: Likewise.
	* gdb.trace/actions.exp: Likewise.
	* gdb.trace/backtrace.exp: Likewise.
	* gdb.trace/circ.exp: Likewise.
	* gdb.trace/collection.exp: Likewise.
	* gdb.trace/deltrace.exp: Likewise.
	* gdb.trace/infotrace.exp: Likewise.
	* gdb.trace/limits.exp: Likewise.
	* gdb.trace/packetlen.exp: Likewise.
	* gdb.trace/passc-dyn.exp: Likewise.
	* gdb.trace/passcount.exp: Likewise.
	* gdb.trace/report.exp: Likewise.
	* gdb.trace/save-trace.exp: Likewise.
	* gdb.trace/tfind.exp: Likewise.
	* gdb.trace/tracecmd.exp: Likewise.
	* gdb.trace/while-dyn.exp: Likewise.
	* gdb.trace/while-stepping.exp: Likewise.
2006-08-10 05:27:22 +00:00
Michael Chastain 6e19e2bf78 2004-02-11 Michael Chastain <mec.gnu@mindspring.com>
Partial fix for PR gdb/1543.
	* gdb.cp/ambiguous.exp, gdb.cp/annota2.exp, gdb.cp/annota3.exp,
	gdb.cp/anon-union.exp, gdb.cp/casts.exp, gdb.cp/classes.exp,
	gdb.cp/cplusfuncs.exp, gdb.cp/ctti.exp, gdb.exp/demangle.exp,
	gdb.cp/derivation.exp, gdb.cp/exception.exp, gdb.cp/hang.exp,
	gdb.cp/inherit.exp, gdb.cp/local.exp, gdb.cp/maint.exp,
	gdb.cp/member-ptr.exp, gdb.cp/method.exp, gdb.cp/misc.exp,
	gdb.cp/namespace.exp, gdb.cp/overload.exp, gdb.cp/ovldbreak.exp,
	gdb.cp/psmang.exp, gdb.cp/ref-types.exp, gdb.cp/templates.exp,
	gdb.cp/userdef.exp, gdb.cp/virtfunc.exp: Remove reference
	to bug-gdb@prep.ai.mit.edu .
	* gdb.cp/bs15503.cc, gdb.cp/class2.cc, gdb.cp/cttiadd.cc,
	gdb.cp/cttiadd1.cc, gdb.cp/cttiadd2.cc, gdb.cp/cttiadd3.cc,
	gdb.cp/exception.cc, gdb.cp/member-ptr.cc, gdb.cp/namespace1.cc:
	Likewise.
2004-02-11 14:01:25 +00:00
Michael Chastain a0644324db 2004-01-12 Michael Chastain <mec.gnu@mindspring.com>
* gdb.cp/member-ptr.exp: Use gdb_test, gdb_test_multiple.  Add
	some patterns for recent versions of gcc and hpacc.  Delete
	calls to setup_xfail for hppa*-*-*.  Delete redundant tests.
	Delete tests that access a NULL pointer-to-member-data.  This
	script is still disabled for gcc.
2004-01-13 04:36:04 +00:00
Michael Chastain 4d9eda44f5 2003-11-23 Michael Chastain <mec.gnu@mindspring.com>
Partial fix for PR testsuite/1456.
	* gdb.cp/ambiguous.exp: Replace reference to gcc_compiled with
	call to test_compiler_info.
	* gdb.cp/ctti.exp: Likewise.
	* gdb.cp/derivation.exp: Likewise.
	* gdb.cp/member-ptr.exp: Likewise.
	* gdb.cp/virtfunc.exp (test_virtual_calls): Remove unused
	reference to gcc_compiled.
2003-11-23 18:24:46 +00:00
Michael Chastain 1105b7eff4 2003-08-22 Michael Chastain <mec@shout.net>
* gdb.cp: New directory.
	* gdb.cp/*: Copy from gdb.c++/*.
	* gdb.c++/*: Remove.
	* Makefile.in: Change gdb.c++ to gdb.cp.
	* configure.in:  Ditto.
	* configure: Regnerate.
2003-08-23 03:55:59 +00:00