Commit Graph

240 Commits

Author SHA1 Message Date
Ulrich Weigand caddefa41f * gdb.cp/cpexprs.exp: Skip test on spu*-*-*.
* gdb.cp/pr9167.exp: Likewise.
2010-06-11 17:35:28 +00:00
Michael Snyder f6978de9f5 2010-06-08 Michael Snyder <msnyder@vmware.com>
* gdb.ada/assign_1.exp: Use ".*" instead of "" as wildcard regexp.
	* gdb.ada/boolean_expr.exp:
	* gdb.ada/frame_args.exp: Ditto.
	* gdb.ada/lang_switch.exp: Ditto.
	* gdb.ada/ptype_arith_binop.exp: Ditto.
	* gdb.ada/ref_param.exp: Ditto.
	* gdb.ada/type_coercion.exp:Ditto.

	* gdb.asm/asm-source.exp: Ditto.

	* gdb.base/attach.exp: Ditto.
	* gdb.base/bitfields2.exp: Ditto.
	* gdb.base/call-signal-resume.exp: Ditto.
	* gdb.base/callfuncs.exp: Ditto.
	* gdb.base/commands.exp: Ditto.
	* gdb.base/dbx.exp: Ditto.
	* gdb.base/default.exp: Ditto.
	* gdb.base/dump.exp: Ditto.
	* gdb.base/exprs.exp: Ditto.
	* gdb.base/freebpcmd.exp: Ditto.
	* gdb.base/interrupt.exp: Ditto.
	* gdb.base/list.exp: Ditto.
	* gdb.base/long_long.exp: Ditto.
	* gdb.base/maint.exp: Ditto.
	* gdb.base/ptype.exp: Ditto.
	* gdb.base/return.exp: Ditto.
	* gdb.base/setshow.exp: Ditto.
	* gdb.base/sigbpt.exp: Ditto.
	* gdb.base/sigrepeat.exp: Ditto.

	* gdb.cp/classes.exp: Ditto.

	* gdb.dwarf2/dw2-restore.exp: Ditto.

	* gdb.gdb/selftest.exp: Ditto.

	* gdb.multi/base.exp: Ditto.
	* gdb.multi/bkpt-multi-exec.exp: Ditto.

	* gdb.python/py-block.exp: Ditto.
	* gdb.python/py-prettyprint.exp: Ditto.
	* gdb.python/py-template.exp: Ditto.

	* gdb.server/ext-attach.exp: Ditto.
	* gdb.server/ext-run.exp: Ditto.
	* gdb.server/server-mon.exp: Ditto.

	* gdb.threads/fork-thread-pending.exp: Ditto.
	* gdb.threads/hand-call-in-threads.exp: Ditto.
	* gdb.threads/interrupted-hand-call.exp: Ditto.
	* gdb.threads/linux-dp.exp: Ditto.
	* gdb.threads/manythreads.exp: Ditto.
	* gdb.threads/print-threads.exp: Ditto.
	* gdb.threads/pthreads.exp: Ditto.
	* gdb.threads/schedlock.exp: Ditto.
	* gdb.threads/thread-unwindonsignal.exp: Ditto.
	* gdb.threads/threadapply.exp: Ditto.
2010-06-10 19:48:20 +00:00
Michael Snyder de7ff7894a 2010-06-08 Michael Snyder <msnyder@vmware.com>
* gdb.ada/exec_changed.exp:
	Use ".*" instead of "" as wildcard regexp.

	* gdb.base/async.exp: Use ".*" instead of "" as wildcard regexp.
	* gdb.base/call-ar-st.exp: Ditto.
	* gdb.base/checkpoint.exp: Ditto.
	* gdb.base/default.exp: Ditto.
	* gdb.base/dump.exp: Ditto.
	* gdb.base/ending-run.exp: Ditto.
	* gdb.base/fileio.exp: Ditto.
	* gdb.base/miscexprs.exp: Ditto.
	* gdb.base/pointers.exp: Ditto.
	* gdb.base/readline.exp: Ditto.
	* gdb.base/reread.exp: Ditto.
	* gdb.base/restore.exp: Ditto.
	* gdb.base/shlib-call.exp: Ditto.
	* gdb.base/valgrind-db-attach.exp: Ditto.
	* gdb.base/volatile.exp: Ditto.
	* gdb.base/watchpoints.exp: Ditto.

	* gdb.cp/classes.exp: Use ".*" instead of "" as wildcard regexp.

	* gdb.python/py-frame.exp: Use ".*" instead of "" as wildcard regexp.
	* gdb.python/py-value.exp: Ditto.

	* gdb.trace/backtrace.exp: Use ".*" instead of "" as wildcard regexp.
	* gdb.trace/circ.exp: Ditto.
	* gdb.trace/collection.exp: Ditto.
	* gdb.trace/packetlen.exp: Ditto.
	* gdb.trace/passc-dyn.exp: Ditto.
	* gdb.trace/report.exp: Ditto.
	* gdb.trace/tfile.exp: Ditto.
	* gdb.trace/tfind.exp: Ditto.
	* gdb.trace/while-dyn.exp: Ditto.
2010-06-08 22:58:03 +00:00
Sami Wagiaalla 4c3376c849 Test and support all cpp operator types.
2010-06-07  Sami Wagiaalla  <swagiaal@redhat.com>

	* value.h: Created oload_search_type enum.
	(find_overload_match): Use oload_search_type enum.
	* valops.c (find_overload_match): Support combined member and
	non-member search.
	* eval.c (evaluate_subexp_standard): Calls to
	find_overload_match now use oload_search_type enum.
	(oload_method_static): Verify index is a proper value.
	* valarith.c (value_user_defined_cpp_op): Search for and handle
	both member and non-member operators.
	(value_user_defined_cpp_op): New function.
	(value_user_defined_op): New function.
	(value_x_unop): Use value_user_defined_op.
	(value_x_binop): Ditto.
	* cp-support.c (make_symbol_overload_list_using): Added block
	iteration.
	Add check for namespace aliases and imported declarations.

2010-06-07  Sami Wagiaalla  <swagiaal@redhat.com>

	* gdb.cp/koenig.exp: Test for ADL operators.
	* gdb.cp/koenig.cc: Added ADL operators.
	* gdb.cp/operator.exp: New test.
	* gdb.cp/operator.cc: New test.
2010-06-07 16:11:35 +00:00
Michael Snyder dc226d5aea 2010-06-04 Michael Snyder <msnyder@vmware.com>
* gdb.cp/pr-1210.exp: Add message string to gdb_test_multiple.
2010-06-04 21:45:04 +00:00
Michael Snyder 35ec993ff8 2010-06-03 Michael Snyder <msnyder@vmware.com>
* gdb.base/commands.exp: Replace gdb_test with gdb_test_no_output.
	* gdb.base/display.exp: Ditto.
	* gdb.base/find.exp: Ditto.
	* gdb.base/ifelse.exp: Ditto.
	* gdb.base/multi-forks.exp: Ditto.
	* gdb.base/recurse.exp: Ditto.
	* gdb.base/setshow.exp: Ditto.
	* gdb.base/value-double-free.exp: Ditto.
	* gdb.base/watch-vfork.exp: Ditto.
	* gdb.base/watch_thread_num.exp: Ditto.
	* gdb.base/watchpoint-solib.exp: Ditto.
	* gdb.base/watchpoint.exp: Ditto.
	* gdb.base/watchpoints.exp: Ditto.

	* gdb.cp/classes.exp: Replace gdb_test with gdb_test_no_output.
	* gdb.cp/overload.exp: Ditto.
	* gdb.cp/virtfunc.exp: Ditto.

	* gdb.python/py-value.exp: Replace gdb_test with gdb_test_no_output.

	* gdb.reverse/watch-precsave.exp:
	Replace gdb_test with gdb_test_no_output.

	* gdb.threads/attach-into-signal.exp:
	Replace gdb_test with gdb_test_no_output.
	* gdb.threads/local-watch-wrong-thread.exp: Ditto.
	* gdb.threads/watchthreads.exp: Ditto.
	* gdb.threads/watchthreads2.exp: Ditto.

	* gdb.trace/deltrace.exp: Replace gdb_test with gdb_test_no_output.
	* gdb.trace/tfind.exp: Ditto.
2010-06-03 23:54:18 +00:00
Jan Kratochvil 31e43e98bf gdb/testsuite/
* gdb.cp/anon-union.exp (pass): Rename to ...
	(print z 2): ... here.
2010-06-02 22:24:15 +00:00
Jan Kratochvil b8e8282fd6 gdb/testsuite/
* gdb.cp/ref-types.exp (pass, pass, pass): Rename to ...
	(print value of rUC, print value of rI, print value of UI): ... here.
2010-06-02 22:20:12 +00:00
Jan Kratochvil 3e0ca3a5f8 gdb/testsuite/
* gdb.cp/ref-types.exp (print value of UI): Remove excessive newline.
2010-06-02 21:38:32 +00:00
Michael Snyder a8d52276ee 2010-06-02 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>
* gdb.cp/class2.exp: Use gdb_test_no_output.
	* gdb.cp/classes.exp: Ditto.
	* gdb.cp/extern-c.exp: Ditto.
	* gdb.cp/inherit.exp: Ditto.
	* gdb.cp/maint.exp: Ditto.
	* gdb.cp/mb-inline.exp: Ditto.
	* gdb.cp/mb-templates.exp: Ditto.
	* gdb.cp/method2.exp: Ditto.
	* gdb.cp/misc.exp: Ditto.
	* gdb.cp/ovldbreak.exp: Ditto.
	* gdb.cp/punctuator.exp: Ditto.
	* gdb.cp/templates.exp: Ditto.
	* gdb.cp/virtbase.exp: Ditto.
2010-06-02 20:03:16 +00:00
Jan Kratochvil 359cc68c80 gdb/testsuite/
* gdb.cp/re-set-overloaded.exp, gdb.cp/re-set-overloaded.cc: New.
2010-06-02 17:35:16 +00:00
Sami Wagiaalla 7d3fe98e4f Fix ADL anonymous name crash.
2010-06-02  Sami Wagiaalla  <swagiaal@redhat.com>

	* cp-support.c (make_symbol_overload_list_adl_namespace): Handle
	anonymous type case.

2010-06-02  Sami Wagiaalla  <swagiaal@redhat.com>

	* gdb.cp/koenig.exp: Added new test case.
	* gdb.cp/koenig.cc: Ditto.
2010-06-02 15:31:30 +00:00
Michael Snyder f8d3bf8f52 2010-05-25 Michael Snyder <msnyder@vmware.com>
* gdb.cp/annota2.exp: Replace uses of send_gdb / gdb_expect.
	* gdb.cp/annota3.exp: Replace uses of send_gdb / gdb_expect.
	* gdb.cp/anon-union.exp: Replace uses of send_gdb / gdb_expect.
	* gdb.cp/cplusfuncs.exp: Replace uses of send_gdb / gdb_expect.
	* gdb.cp/demangle.exp: Replace uses of send_gdb / gdb_expect.
	* gdb.cp/formatted-ref.exp: Replace uses of send_gdb / gdb_expect.
	* gdb.cp/local.exp: Replace uses of send_gdb / gdb_expect.
	* gdb.cp/method.exp: Replace uses of send_gdb / gdb_expect.
	* gdb.cp/misc.exp: Replace uses of send_gdb / gdb_expect.
	* gdb.cp/namespace.exp: Replace uses of send_gdb / gdb_expect.
	* gdb.cp/ovldbreak.exp: Replace uses of send_gdb / gdb_expect.
	* gdb.cp/pr-1023.exp: Replace uses of send_gdb / gdb_expect.
	* gdb.cp/ref-types.exp: Replace uses of send_gdb / gdb_expect.
	* gdb.cp/templates.exp: Replace uses of send_gdb / gdb_expect.
	* gdb.cp/userdef.exp: Replace uses of send_gdb / gdb_expect.
2010-06-01 18:18:35 +00:00
Tom Tromey bbc8b9587b * gdb.arch/i386-prologue.exp (skip_breakpoint): Fix setup_kfail
argument order.
	* gdb.base/macscp.exp: Fix setup_kfail argument order.
	* gdb.base/long_long.exp (gdb_test_xxx): Fix setup_kfail argument
	order.
	* gdb.base/sigbpt.exp (stepi_out): Fix setup_kfail argument
	order.
	* gdb.base/call-sc.exp (setup_kfails): Remove.
	(setup_compiler_kfails): Remove.
	* gdb.base/callfuncs.exp (do_function_calls): Fix setup_kfail
	argument order.
	* gdb.base/siginfo.exp: Fix setup_kfail argument order.
	* gdb.base/sigstep.exp (advance): Fix setup_kfail argument order.
	(advancei): Fix setup_kfail argument order.
	* gdb.base/radix.exp: Fix setup_kfail argument order.
	* gdb.base/solib-weak.exp (do_test): Fix setup_kfail argument
	order.
	* gdb.base/structs.exp (setup_kfails): Remove.
	(setup_compiler_kfails): Fix setup_kfail argument order.
	* gdb.base/sigaltstack.exp (finish_test): Fix setup_kfail argument
	order.
	* gdb.java/jmain.exp: Fix setup_kfail argument order.
	* gdb.pascal/types.exp (test_string_literal_types_accepted): Fix
	setup_kfail argument order.
	* gdb.cp/overload.exp: Fix setup_kfail argument order.
2010-05-25 21:02:00 +00:00
Joel Brobecker 77c015860d Some uses of bug_id and prms_id just reappeared - remove them.
2010-05-17  Joel Brobecker  <brobecker@adacore.com>

        * gdb.base/gdb11530.exp: Delete setting of prms_id and bug_id.
        * gdb.cp/koenig.exp: Likewise.

Tested on x86_64-linux.
2010-05-17 17:06:01 +00:00
Sami Wagiaalla 7322dca9c1 Add ADL support
2010-05-07  Sami Wagiaalla  <swagiaal@redhat.com>

	PR C++/7943:
	* valops.c (find_overload_match): Handle fsym == NULL case.
	Add int no_adl argument.
	(find_oload_champ_namespace_loop): Call make_symbol_overload_list_adl
	when appropriate.
	Add int no_adl argument.
	(find_oload_champ_namespace): 	Add int no_adl argument.
	* parse.c (operator_length_standard): Return length for OP_ADL_FUNC
	expression.
	* expprint.c (op_name_standard): Added string for OP_ADL_FUNC case.
	* eval.c (evaluate_subexp_standard): Added OP_ADL_FUNC case.
	Evaluate arguments and use them to perform ADL lookup.
	Pass no_adl argument to find_overload_match.
	Disable adl lookup when evaluating a fully qualified OP_FUNCALL.
	* cp-support.h: Added prototype for
	make_symbol_overload_list_namespace.
	* cp-support.c (make_symbol_overload_list_namespace): New function.
	(make_symbol_overload_list_adl_namespace): New function.
	(make_symbol_overload_list_adl): New function.
	(make_symbol_overload_list_using): Moved code to add function to
	overload set to make_symbol_overload_list_namespace.
	* c-exp.y: create UNKNOWN_CPP_NAME token.
	Add parse rule for ADL functions.
	(classify_name): Recognize an UNKNOWN_CPP_NAME.

2010-05-07  Sami Wagiaalla  <swagiaal@redhat.com>

	* gdb.cp/koenig.exp: New test.
	* gdb.cp/koenig.cc: New test program.
2010-05-07 14:46:28 +00:00
Joel Brobecker 02e7ea1823 Do not set prms_id/bug_id anymore.
2010-05-05  Joel Brobecker  <brobecker@adacore.com>

	Remove the use of prms_id and bug_id throughout the testsuite.
2010-05-05 18:07:04 +00:00
Pierre Muller e1c34c5d94 PR exp/11349.
* printcmd.c (x_command): Only dereference once implicitly for
	TYPE_CODE_REF.

testsuite dir:
	PR exp/11349.
	* testsuite/gdb.cp/ref-types.exp: Add test to examine
	use a reference local variable.
2010-05-04 06:48:27 +00:00
Chris Moller 0b66f31738 PR 9167
* cp-valprint.c (cp_print_value_fields): Replaced obstack_base()
method of popping recursion-detection stack with a method based on
obstack_object_size().
* gdb.cp/Makefile.in (EXECUTABLES): Added pr9167.
* gdb.cp/pr9167.cc: New file.
* gdb.cp/pr9167.exp: New file.
2010-04-21 17:33:54 +00:00
Chris Moller ec31cde594 PR 10867
* cp-valprint.c (global): Adding new static array recursion
detection obstack.
(cp_print_value_fields, cp_print_static_field): Added new static
array recursion detection code.
* gdb.cp/Makefile.in  (EXECUTABLES): Added pr10687
* gdb.cp/pr10687.cc: New file.
* gdb.cp/pr10687.exp: New file
2010-04-20 20:22:12 +00:00
Ulrich Weigand 5984a431b3 * gdb.cp/inherit.exp (test_print_anon_union): Fix re_class pattern. 2010-04-06 12:45:22 +00:00
Pedro Alves 86b17b608f gdb/
* breakpoint.c (multi_start, multi_end, last_was_multi): Delete.
	(prev_breakpoint_count): New.
	(set_breakpoint_count): Adjust.
	(rbreak_start_breakpoint_count): New.
	(start_rbreak_breakpoints): Adjust.
	(end_rbreak_breakpoints): Adjust.
	(struct commands_info) <arg>: New field.
	(do_map_commands_command): Tweak output to include breakpoint spec
	range.
	(commands_command_1): Adjust.  Avoid setting an xfree cleanup if
	ARG was empty on entry.  Set INFO's arg.
	(create_breakpoint): Adjust.

	* NEWS: Clarify `commands' changes.

	gdb/doc/
	* gdb.texinfo (Break Commands): Clarify `commands' changes, and
	add cross reference.

	gdb/testsuite/
	* gdb.base/commands.exp: Adjust.
	* gdb.cp/extern-c.exp: Adjust.
2010-04-01 14:11:24 +00:00
Sami Wagiaalla 1da644f033 2010-03-29 Sami Wagiaalla <swagiaal@redhat.com>
* gdb.cp/nsusing.exp: Marked imported declaration test as xfail with
	gcc < 4.4.
	* gdb.cp/shadow.exp: Ditto.
2010-03-29 20:35:19 +00:00
Ulrich Weigand 907af001f7 ChangeLog:
* dwarf2read.c (dwarf2_name): Work around GCC bugzilla debug/41828 by
	ignoring spurious DW_AT_name attributes for unnamed structs or unions.
	* completer.c (add_struct_fields): Fix inverted logic.

testsuite/ChangeLog:

	* gdb.cp/inherit.exp (test_ptype_si): XFAIL test for GCC versions
	that do not provide the tagless_struct type name at all.
	(test_print_anon_union): Do not check value of uninitialized
	union member.  Do not use cp_test_ptype_class, so we can accept
	"long" as well as "long int".
2010-03-26 18:05:46 +00:00
Tom Tromey 95a42b64a1 gdb
PR breakpoints/9352:
	* NEWS: Mention changes to `commands' and `rbreak'.
	* symtab.c (do_end_rbreak_breakpoints): New function.
	(rbreak_command): Call start_rbreak_breakpoints; arrange to call
	end_rbreak_breakpoints.
	* breakpoint.c (breakpoint_count, tracepoint_count): Now static.
	(set_breakpoint_count): Likewise.  Clear last_was_multi.
	(multi_start, multi_end, last_was_multi): New globals.
	(start_rbreak_breakpoints, end_rbreak_breakpoints): New
	functions.
	(struct commands_info): New
	(do_map_commands_command): New function.
	(commands_command_1): New function.
	(commands_command): Use it.
	(commands_from_control_command): Likewise.
	(do_delete_breakpoint): New function.
	(delete_command): Use it.
	(map_breakpoint_numbers): Add 'data' argument.  Pass to callback.
	(do_map_disable_breakpoint): New function.
	(disable_command): Use it.
	(do_map_enable_breakpoint): New function.
	(enable_command): Use it.
	(enable_once_breakpoint): Add argument.
	(enable_once_command): Update.
	(enable_delete_breakpoint): Add argument.
	(enable_delete_command): Update.
	(break_command_really): Set last_was_multi when needed.
	(check_tracepoint_command): Fix formatting.
	(validate_commands_for_breakpoint): New function.
	(breakpoint_set_commands): Use it.
	(tracepoint_save_command): Update.
	* breakpoint.h (start_rbreak_breakpoints, end_rbreak_breakpoints):
	Declare.
gdb/doc
	PR breakpoints/9352:
	* gdb.texinfo (Break Commands): Update.
gdb/testsuite
	PR breakpoints/9352:
	* gdb.base/default.exp: Update.
	* gdb.base/commands.exp: Update.
	* gdb.cp/extern-c.exp: Test setting commands on multiple
	breakpoints at once.
2010-03-24 21:24:09 +00:00
Sami Wagiaalla 13387711b2 2010-03-15 Sami Wagiaalla <swagiaal@redhat.com>
PR c++/7936:
        * cp-support.h: Added char *declaration element to using_direct
        data struct.
        (cp_add_using): Added char *declaration argument.
        (cp_add_using_directive): Ditto.
        (cp_lookup_symbol_imports): made extern.
        * cp-namespace.c: Updated with the above changes.
        * dwarf2read.c (read_import_statement): Ditto.
        (read_namespace): Ditto.
        (read_import_statement): Support import declarations.
        * cp-namespace.c (cp_lookup_symbol_imports): Check for imported
        declarations.
        Added support for 'declaration_only' search.
        (cp_lookup_symbol_namespace): Attempt to search for the name as
        is before consideration of imports.
        * symtab.c (lookup_symbol_aux_local): Added a 'declaration_only'
        search at every block level search.
        Now takes language argument.
        (lookup_symbol_aux): Updated.

    2010-03-15  Sami Wagiaalla  <swagiaal@redhat.com>

        * gdb.cp/shadow.exp: Removed kfail; test has been fix.
        * gdb.cp/nsusing.exp: Ditto.
2010-03-15 17:29:36 +00:00
Tom Tromey 6e31430b70 gdb
* c-exp.y (name_not_typename): Add 'operator' clause.
gdb/testsuite
	* gdb.cp/userdef.exp: Add tests for explicit calls to operator==.
	* gdb.cp/userdef.cc (operator==): New function.
	(main): New locals mem1, mem2.
2010-03-15 17:26:47 +00:00
Tom Tromey 1c809c6883 gdb
PR c++/9708:
	* dwarf2read.c (die_needs_namespace) <DW_TAG_variable>: A variable
	in a lexical block does not need a namespace.
	(new_symbol) <DW_TAG_variable>: Put extern variables on
	list_in_scope in all cases.
gdb/testsuite
	PR c++/9708:
	* gdb.cp/m-static.exp: Add regression test.
	* gdb.cp/m-static.cc (method): New method.
	(main): Call it.
2010-03-13 00:27:12 +00:00
Sami Wagiaalla 00ae8fef88 2010-03-12 Sami Wagiaalla <swagiaal@redhat.com>
* buildsym.c (finish_block): Reset using_directives pointer
	after block initialization.


2010-03-12  Sami Wagiaalla  <swagiaal@redhat.com>

	* gdb.cp/gdb2384-base.h: Created 'namespace B'.
	* gdb.cp/gdb2384-base.cc: Use 'namespace B'.
2010-03-12 21:13:15 +00:00
Pedro Alves 759f0f0b7b gdb/testsuite/
* lib/gdb.exp (skip_stl_tests): New.
	(gdb_compile): Symbian needs -ldl.
	(shlib_target_file): New.
	(shlib_symbol_file): New.
	(gdb_load_shlibs): Use shlib_target_file.
	* lib/mi-support.exp (mi_load_shlibs): Use shlib_target_file.
	* gdb.cp/exception.exp: Use skip_stl_tests.
	* gdb.cp/bs15503.exp: Use skip_stl_tests.  Use untested.
	* gdb.cp/try_catch.exp: Use skip_stl_tests.
	* gdb.cp/mb-templates.exp: Ditto.
	* gdb.base/commands.exp: Relax regexes.
	* gdb.base/watchpoint-solib.exp: Don't skip on symbian.  Use
	shlib_target_file and shlib_symbol_file.
	* gdb.base/maint.exp: Allow lowercase t.  Allow .rodata in
	sections.
	* gdb.base/ending-run.exp: Accept E32Main for symbian.
	* gdb.base/solib-disc.exp: Use
	shlib_target_file and shlib_symbol_file.
	* gdb.base/unload.exp: Don't skip on symbian.  Use
	shlib_target_file and shlib_symbol_file.
	* gdb.base/list.exp: Check use_gdb_stub instead of is_remote.
2010-03-12 19:17:01 +00:00
Keith Seitz cec808ecec * gdb.cp/cp-relocate.exp: Remove single-quoting of C++ methods.
* gdb.cp/cplusfuncs.cc (dm_type_short): New function.
        (dm_type_long): New function.
        (dm_type_unsigned_short): New function.
        (dm_type_unsigned_long): New function.
        (myint): New typedef.
        * gdb.cp/cplusfuncs.exp (probe_demangler): Add tests for short,
        long, unsigned shor and long, operator char*, and typedef.
        (test_lookup_operator_functions): Add operator char* test.
        (test_paddr_operator_functions): Likewise.
        (test_paddr_overloaded_functions): Use probe values for
        short, long, and unsigned short and long.
        (test_paddr_hairy_functions): If the demangler probe detected
        gdb type printers, "expect" them. Otherwise "expect" the v2 or v3
        demangler.
        * gdb.cp/expand-sals.exp: Backtrace may contain class names.
        * gdb.cp/member-ptr.exp: Refine expected result for "print pmf"
        and "print null_pmf".
        Add test "ptype a.*pmf".
        * gdb.cp/overload.exp: Allow optional "int" to appear with
        "short" and "long".
        * gdb.cp/ovldbreak.exp: Use append to construct super-duper
        long expect value for men_overload1arg.
        Allow "int" to appear with "short" and "long".
        When testing "info break", add argument for main (void).
        Also allow "int" to appear with "short" and "long".
        Ditto with "unsigned" and "long long".
	* gdb.java/jmain.exp: Do not enclose methods names in single
	quotes.
	* gdb.java/jmisc.exp: Likewise.
	* gdb.java/jprint.exp: Likewise.
	* gdb.python/py-symbol.exp: Update expected "linkage_name" value.

	From Jan Kratochvil  <jan.kratochvil@redhat.com>:
	* gdb.cp/exception.exp (backtrace after first throw)
	(backtrace after second throw): Allow a namespace before __cxa_throw.
	(backtrace after first catch, backtrace after second catch): Allow
	a namespace before __cxa_begin_catch.

	* gdb.cp/cpexprs.exp: New file.
	* gdb.cp/cpexprs.cc: New file.

	From Daniel Jacobowitz  <dan@codesourcery.com>
	* gdb.cp/cpexprs.exp (escape): Delete.  Change all callers
	to use string_to_regexp.
	(ctor, dtor): New functions.  Use them to match constructor
	and destructor function types.
	(Top level): Use runto_main.
2010-03-09 18:08:05 +00:00
Keith Seitz 0c199f28ac * gdb.cp/overload.exp: Test that the filename portion of a linespec
can be quoted.  Test that both the filename and function/line
	portions can be quoted at the same time.
2010-03-04 18:38:17 +00:00
Tom Tromey 48e32051ca gdb
PR c++/8693, PR c++/9496:
	* cp-namespace.c (cp_lookup_nested_type): Handle TYPE_CODE_UNION.
	* c-exp.y (lex_one_token): Rename from yylex.  Don't call
	write_dollar_variable.  Don't try to classify NAME tokens.
	(token_and_value): New type.
	(token_fifo, popping, name_obstack): New globals.
	(classify_name): New function.
	(classify_inner_name): Likewise.
	(yylex): Likewise.
	(VARIABLE): Now has type sval.
	(exp : VARIABLE): Call write_dollar_variable.
	(qualified_name): Use TYPENAME, not typebase.  Add production for
	multiple "::" instances.
	(variable): Use name_not_typename.
	(qualified_type): Remove.
	(typebase): Update.
gdb/testsuite
	PR c++/8693, PR c++/9496:
	* gdb.cp/namespace.exp: Remove some setup_kfail calls.  Added
	regression tests.
2010-02-19 20:22:03 +00:00
Daniel Jacobowitz 493f3c00fe gdb/testsuite/
* gdb.cp/overload.exp: Allow foo::overload1arg's "this" pointer to
	be const or non-const.
2010-02-16 21:09:32 +00:00
Daniel Jacobowitz 791dfb6488 gdb/
* linespec.c (decode_line_1): Handle FILE:FUNCTION even if
	FUNCTION contains parentheses.  Improve removal of a trailing
	single quote.

	gdb/testsuite/
	* gdb.base/list.exp (test_list_filename_and_function): Add test
	with single quotes.
	* gdb.cp/overload.cc (intToChar): Rewrite onto one line for easy
	matching.
	* gdb.cp/overload.exp: Add tests with filename, function, and quotes.
	Add KFAIL'd tests for PR gdb/11289.
2010-02-16 20:51:51 +00:00
Daniel Jacobowitz 7c5fe86876 gdb/testsuite/
* gdb.cp/cpcompletion.exp: Specify source file name explicitly.
2010-02-16 20:23:43 +00:00
Tom Tromey 714f19d557 gdb
PR c++/8017:
	* value.h: Update.
	* valops.c (search_struct_field): Make 'name' const.
	(search_struct_method): Likewise.
	(find_method_list): Make 'method' const.
	(value_struct_elt): Make 'name' and 'err' const.
	(value_find_oload_method_list): Make 'method' const.
	(find_overload_match): Make 'name' const.
	* eval.c (evaluate_subexp_standard): New locals function,
	function_name.
	<OP_FUNCALL>: Handle OP_SCOPE specially.
gdb/testsuite
	PR c++/8017:
	* gdb.cp/overload.exp: Add tests.
	* gdb.cp/overload.cc (struct K): New.
	(namespace N): New.
	(main): Call new functions.
	(K::staticoverload): Define.
2010-02-08 20:55:43 +00:00
Chris Moller 83b10087f4 PR gdb/10728
* valarith.c (value_ptrdiff): Added a test for a zero type length,
	warn if found, and assume length = 1.
* gdb.cp/pr10728-x.h: New file.
* gdb.cp/pr10728-x.cc: New file.
* gdb.cp/pr10728-y.cc: New file.
* gdb.cp/pr10728.exp: New file.
* gdb.cp/Makefile.in (EXECUTABLES): Add pr10728
2010-02-08 18:27:53 +00:00
Chris Moller 99903ae39e PR gdb/9067
* cp-valprint.c (cp_print_value_fields) Fix use of obstacks.
	cp_print_static_field)  Fix use of obstacks.
* gdb.cp/pr9067.exp:  New
* gdb.cp/pr9067.cc:   New
* gdb.cp/Makefile.in (EXECUTABLES): Add pr9067
2010-02-08 18:04:17 +00:00
Sami Wagiaalla 8285698016 2010-02-05 Sami Wagiaalla <swagiaal@redhat.com>
PR c++/7935:
	* gdb.cp/namespace-using.exp: Removed kfail; bug has been fixed.

2010-02-05  Sami Wagiaalla  <swagiaal@redhat.com>

	PR c++/7935:
	* cp-support.h: Added char* alias element to using_direct data
	struct.
	(cp_add_using): Added char* alias argument.
	(cp_add_using_directive): Ditto.
	* cp-namespace.c: Updated with the above changes.
	(cp_lookup_symbol_imports): Check for aliases.
	* dwarf2read.c (read_import_statement): Figure out local alias
	for the import and pass it on to cp_add_using.
	(read_namespace): Pass alias argument to cp_add_using.
2010-02-05 19:03:42 +00:00
Tom Tromey 1a334831c0 gdb
* valops.c (search_struct_field): Account for
	value_embedded_offset.  Fix check for virtual base past the end of
	the object.  Use value_copy when making a slice of the value.
gdb/testsuite
	* gdb.cp/virtbase.exp: Make test case names unique.
2010-02-04 21:04:30 +00:00
Tom Tromey 9c3c02fd15 gdb
* valops.c (value_cast_structs): Try downcasting using the RTTI
	type.
gdb/testsuite
	* gdb.cp/virtbase.exp: Add regression tests.
	* gdb.cp/virtbase.cc (RHA, RHB, RHC): New classes.
	(main): Instantiate RHC.
2010-02-02 23:40:28 +00:00
Tom Tromey edf3d5f3f8 gdb
PR c++/11226, PR c++/9629, PR c++/9688, PR c++/8890:
	* valops.c (search_struct_field): Compute nbases after calling
	CHECK_TYPEDEF.
	(check_field): Call CHECK_TYPEDEF.
	* cp-valprint.c (cp_print_value): Pass correct address to
	baseclass_offset.  Fix check for virtual base past the end of the
	object.  Don't offset address passed to cp_print_value_fields or
	apply_val_pretty_printer.
	(cp_print_value_fields): Fix call to val_print.
	(cp_print_value_fields_rtti): New function.
	* c-valprint.c (c_val_print): Use cp_print_value_fields_rtti.
	* p-valprint.c (pascal_object_print_value_fields): Fix call to
	val_print.
	* python/py-prettyprint.c (apply_val_pretty_printer): Add embedded
	offset to address.
	* language.h (struct language_defn) <la_val_print>: Document.
	* c-lang.h (cp_print_value_fields_rtti): Declare.
gdb/testsuite
	PR c++/11226, PR c++/9629, PR c++/9688, PR c++/8890:
	* gdb.cp/virtbase.cc: New file.
	* gdb.cp/virtbase.exp: New file.
	* gdb.cp/userdef.exp: Allow 'struct' or 'class'.
2010-02-02 16:45:17 +00:00
Sami Wagiaalla df83a9bf8b 2010-01-28 Sami Wagiaalla <swagiaal@redhat.com>
* gdb.cp/nsusing.exp: Added more tests.
    * gdb.cp/nsrecurs.exp: Ditto.
    * gdb.cp/nsusing.cc: Added test functions.
    * gdb.cp/nsrecurs.cc: Ditto.
2010-01-28 17:58:02 +00:00
Sami Wagiaalla de958931bc 2010-01-27 Sami Wagiaalla <swagiaal@redhat.com>
* gdb.cp/namespace-using.exp: Rename to nsusing.exp.
	* gdb.cp/namespace-using.cc: Rename to nsusing.cc.
2010-01-27 18:04:57 +00:00
Sami Wagiaalla b14e635ec4 2010-01-14 Sami Wagiaalla <swagiaal@redhat.com>
* gdb.cp/nsrecurs.exp: New test.
	* gdb.cp/nsrecurs.cc: New test program.
	* gdb.cp/nsstress.exp: New test.
	* gdb.cp/nsstress.cc: New test program.
	* gdb.cp/nsdecl.exp: New test.
	* gdb.cp/nsdecl.cc: New test program.


 2010-01-26  Sami Wagiaalla  <swagiaal@redhat.com>

	* cp-namespace.c (cp_lookup_symbol_namespace): Added
	search_parent argument.
	(cp_add_using): Initialize 'searched' field.
	(reset_directive_searched): New function.
	* cp-support.h: Add 'searched' field to using_direct struct.
	(cp_lookup_symbol_imports): Ditto.
	* cp-namespace.c (cp_lookup_symbol_imports): Ditto.
	Perform recursive search.
	Implement non parent search.
	* valops.c (value_maybe_namespace_elt): Updated.
2010-01-26 16:47:35 +00:00
Sami Wagiaalla 8540c487c6 2010-01-26 Sami Wagiaalla <swagiaal@redhat.com>
* gdb.cp/namespace-using.exp: Add test for printing of namespaces
	imported into file scope.
	Marked test as xfail.
	* gdb.cp/namespace-using.cc (marker5): New function.
	* gdb.cp/shadow.exp: New test.
	* gdb.cp/shadow.cc: New test program.
	* gdb.cp/nsimport.exp: New test.
	* gdb.cp/nsimport.cc: New test program.

2010-01-26  Sami Wagiaalla  <swagiaal@redhat.com>

	PR gdb/10929:
	* dwarf2read.c (read_lexical_block_scope): Create blocks for
	scopes which contain using directives even if they contain no
	declarations.
	* symtab.c (lookup_symbol_aux): Pass lowest level block to
	la_lookup_symbol_nonlocal.
	* cp-namespace.c (cp_lookup_symbol_nonlocal): call
	cp_lookup_symbol_namespace.
	(cp_lookup_symbol_namespace): Perform an import lookup at every
	block level.
	(cp_lookup_symbol_imports): New function.
	(cp_lookup_symbol_in_namespace): New function.
2010-01-26 15:48:25 +00:00
Tom Tromey ceeb3d5ab6 gdb
PR c++/8000:
	* dwarf2read.c (partial_die_parent_scope): Put enumeration type
	into parent scope, and enumerator into grandparent scope.
gdb/testsuite
	PR c++/8000:
	* gdb.cp/namespace.exp: Use new enum.  Fix line numbers in
	existing tests.
	* gdb.cp/namespace.cc (AAA::SomeEnum): New enum.
	(main): Use AAA::SomeEnum.
2010-01-19 18:11:19 +00:00
Tom Tromey 4e8f195d9d gdb
PR c++/9680:
	* c-exp.y (REINTERPRET_CAST, DYNAMIC_CAST, STATIC_CAST)
	(CONST_CAST): New tokens.
	(exp): Add new productions.
	(ident_tokens): Add const_cast, dynamic_cast, static_cast, and
	reinterpret_cast.
	(is_cast_operator): New function.
	(yylex): Handle cast operators specially.
	* eval.c (evaluate_subexp_standard) <UNOP_DYNAMIC_CAST,
	UNOP_REINTERPRET_CAST>: New cases.
	* expprint.c (print_subexp_standard): Likewise.
	(op_name_standard): Likewise.
	(dump_subexp_body_standard): Likewise.
	* parse.c (operator_length_standard): Likewise.
	* expression.h (enum exp_opcode): New constants UNOP_DYNAMIC_CAST,
	UNOP_REINTERPRET_CAST.
	* gdbtypes.c (class_types_same_p): New function.
	(is_ancestor): Use it.
	(is_public_ancestor): New function.
	(is_unique_ancestor_worker): Likewise.
	(is_unique_ancestor): Likewise.
	* gdbtypes.h (class_types_same_p, is_public_ancestor)
	(is_unique_ancestor): Declare.
	* valops.c (value_reinterpret_cast): New function.
	(dynamic_cast_check_1): Likewise.
	(dynamic_cast_check_2): Likewise.
	(value_dynamic_cast): Likewise.
	* value.h (value_reinterpret_cast, value_dynamic_cast): Declare.
gdb/testsuite
	PR c++/9680:
	* gdb.cp/casts.cc: Add new classes and variables.
	* gdb.cp/casts.exp: Test new operators.
2010-01-18 20:54:35 +00:00
Daniel Jacobowitz 28f2482621 * gdb.cp/gdb2495.exp: Skip if gdb,nosignals. 2010-01-08 17:48:04 +00:00