* gdb.c++/ovldbreak.exp (take_gdb_out_of_choice_menu): New proc
to call when tests fail. It takes gdb out of the overloaded
function choice menu back to the main prompt, so that the test
program stays synchronized.
(set_bp_overloaded): New proc to collect all the common
code for setting a breakpoint on an overloaded name. Calls
take_gdb_out_of_choice_menu when needed.
(menu_overload1arg): New variable to collect the repeated
instances of the expected menu for an overloaded name. Change
the regular expression to handle changes in g++ type encoding:
"void" can be either "void" or "", and "unsigned int" can be
either "unsigned int" or "unsigned".
(continue_to_bp_overloaded): Change regular expressions to handle
changes in g++ type encoding.
(no proc): Call take_gdb_out_of_choice_menu when needed.
Remove redundant calls to "info break". Accept either "canceled"
or "cancelled". Change regular expressions in "info break"
calls to handle changes in g++ type encoding. Give all tests
unique strings.
* Makefile.in (UIOUT_CFLAGS): New macro. CFLAGS needed for uiout code
to be compiled. Defines UI_OUT.
(SUBDIR_MI_CFLAGS): Defines MI_OUT, not UI_OUT.
(INTERNAL_WARN_CFLAGS): Also include UIOUT_CFLAGS.
* configure.in (UIOUT_CFLAGS): New configuration variable.
(--with-uiout): New configuration option. Causes uiout code to
be compiled, instead of the old *printf one.
* configure: Regenerate.
* top.c (print_gdb_version): Test for and print MI_OUT, not UI_OUT.
* testsuite/lib/mi-support.exp (mi_gdb_start): Test for MI_OUT,
not UI_OUT.
* gdb.base/break.exp (test_clear_command): Use a marker function
rather than 'main' for the test function. Also move this
test to an execution point where the marker function names are
guaranteed to be bound to functions. (Executing tests after a
'finish' from main runs into name conflicts with local names
in __libc_start_main).
* gdb.base/finish.exp: New test for gdb's "finish" command.
* gdb.base/return2.exp: New test for gdb's "return" command.
* gdb.base/return2.c: New source file for above.
* mips_pro.exp: Accept either "middle -> top -> main" or
"middle -> main" in the backtrace, because gcc can optimize
tail calls to jumps. Remove setup_xfail for the hppa case.
Add a comment with the original warning messages from PR 3016,
which was filed in 1993, to preserve them for posterity.
* config/monitor.exp (gdb_target_cmd): Abstracts some of the
code from gdb_target_monitor, so it can be used independantly
for gdbserver. Also comment out an unnecessary PUTS.
* gdb.base/a2-run.exp: Use gdb_skip_stdio_test.
* gdb.base/corefile.exp: Expect the message "Program is being
debugged already" when we send the "corefile" command, since
the preceeding gdb_load may have connected gdb to a remote target.
* gdb.base/display.exp: Disable hardware watchpoints if new
board info variable "no_hardware_watchpoints" is true.
Replace single-letter commands with more readable ones.
* gdb.base/recurse.exp (recurse_tests): Disable hardware watchpoints
if new board info variable "no_hardware_watchpoints" is true.
* gdb.base/restore.exp (restore_tests): Call gdb_skip_stdio_tests
to see if stdio (printf) testing is possible.
* gdb.base/watchpoint.exp: Disable hardware watchpoints if new
board info variable "no_hardware_watchpoints" is true. Use new
proc "gdb_skip_stdio_tests" to see if printf tests are possible.
* gdb.c++/templates.exp (test_template_breakpoints): Change Britsh
spelling "cancelled" to U.S. spelling "canceled" to match changes
made to gdb.
* gdb.c++/ovldbreak.exp: Ditto.
t_double_values to initialize the FPU before inferior calls are made.
* gdb.base/callfuncs.exp: Test for register preservation after calling
inferior functions. Add tests for continuining, finishing and
returning from a stop in a call dummy.
* config/gdbserver.exp: Rewritten from the ground up, to make it
compatible with the current dejagnu tree, and to make it work with
the new "gdbserver" in libremote.
* lib/gdb.exp (gdb_skip_float_test): New proc. Skip test if
no floating point support.
(gdb_skip_stdio_test): New proc. Skip test if no stdio support.
* gdb.base/call-ar-st.exp: Use above procs to skip tests.
* gdb.base/call-rt-st.exp: Ditto.
* gdb.base/call-strs.exp: Ditto.
* gdb.base/sizeof.exp (check_sizeof): Skip if no printf support.
* gdb.base/varargs.exp: Skip entire test if no printf support.
* gdb.base/ending-run.exp (Step to return): Skip if no printf supt.
* gdb.base/shlib-call.exp: Skip several tests if no printf support.
* gdb.base/recurse.exp: Run tests for all targets.
* gdb.base/so-impl-ld.exp: Added wildcard to handle the
gnu-oldld case on ARM.
* gdb.base/watchpoint.exp (test_stepping): Clear xfail
for ARM targets.
spelling.
(test_enums): New procedure. Move enum tests from end of script
to here. Set breakpoint on function name instead of line number.
* gdb.c++/misc.cc (ClassWithEnum): Move past Foo definitions.
(enums2): New marker function.
(enums1): New function.
(main): Call enums1(). Move enum tests to enums1().
* gdb.base/annota1.exp (run until main breakpoint): Loosen up
the regular expression: accept an (almost) arbitrary sequence of
"frames-invalid" and "breakpoints-invalid" messages both before
and after the "starting" message.