appear in the line number info, but not in the preprocessor macro
info.
* lib/gdb.exp (gdb_internal_error_regexp): New variable.
(gdb_internal_error_resync): New procedure.
(gdb_test): If the command results in an internal error,
answer GDB's questions until we get back to a prompt.
information about preprocessor macros.
* gdb/testsuite/lib/gdb.exp (get_debug_format): Tolerate message
saying whether preprocessor macro information is present.
* gdb/doc/gdb.texinfo (Symbols): Update documentation for `info
source' command.
* lib/gdb.exp (gdb_wrapper_init): Just because
gdb_wrapper_file exists, this does not mean that the file
should not be rebuilt. That is what gdb_wrapper_initialized
is for.
(default_gdb_init): Reset gdb_wrapper_initialized.
* lib/gdb.exp (gdb_test): Add case to allow for status wrapper.
(gdb_continue_to_end): Accept output from status wrapper.
* gdb.base/ending-run.exp: Add case for output from status wrapper.
Clean up fail messages to match pass messages.
Enable the "needs_status_wrapper" testsuite feature.
* lib/gdb.exp (gdb_wrapper_init): New procedure.
(gdb_compile): Conditionally call gdb_wrapper_init.
* gdb.base/a2-run.exp: Recognize output from status wrapper.
* gdb.c++/method.exp: Recognize output from status wrapper.
* lib/gdb.exp (test_debug_format): New proc.
(setup_xfail_format): Use new proc test_debug_format.
* gdb.base/constvars.exp (local_compiler_xfail_check): New
proc; use new service proc test_debug_format.
Replace all other "gcc_compiled" tests with this test.
* gdb.base/volatile.exp (local_compiler_xfail_check): New
proc; use new service proc test_debug_format.
Replace all other "gcc_compiled" tests with this test.
set up the display for testing.
(gdbtk_start): Convert all paths to paths that tcl will like.
Export target information to environment.
(_gdbtk_xvfb_init): New proc to start Xvfb if available and
necessary.
(_gdbtk_xvfb_exit): New proc to kill Xvfb if necessary.
(to_tcl_path): New proc to convert a given pathname into
a path acceptible as an argument to a tcl command.
(_gdbtk_export_target_info): New proc to export target info
into the environment for gdbtk testing.
(gdbtk_done): New proc to signal end-of-test.
* 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.
Add support for a variable object that tries to evaluate itself in
the currently selected frame, rather than in a fixed frame.
* wrapper.c,h (gdb_parse_exp_1): Added a wrapper for
gdb_parse_exp_1.
* varobj.h: Added USE_CURRENT_FRAME to varobj_type & changed def'n
of varobj_create.
* varobj.c (varobj_list): Return type indicates whether the
variable's type has changed (for current frame variables).
(varobj_update): Handle the case where the variable's type has
changed.
(delete_variable_1): Allow for deletion of variables that have not
been installed yet.
(new_root_variable): Initialize use_selected_frame variable.
(value_of_root): This is where most of the work to handle "current
frame" variables was added. Most of the complexity involves
handling the case where the type of the variable has changed.
(varobj_create): Add a "type" argument, to tell if the
variable is one of these "current frame" variables. Also protect
call to parse_exp_1 from long jumping.
* mi-var-block.exp: The error report from varobj_create changed
since I am now trapping parse_exp_1 errors. Change the tests to
match the new error message.
* mi-var-child.exp: Ditto.
* mi-var-cmd.exp: Ditto.
* lib/gdb.exp: Fix the gdbtk_start routine to correctly find all
the library directories.
* gdbtk-varobj.c (variable_create): Pass the correct
"how_specified" flag to the varobj_create routine.
* lib/gdb.exp(gdb_expect): Set remote_suppress_flag if
suppress_flag has been set.
(gdb_step_for_stub): Check for gdb,use_breakpoint_for_stub
target feature.
(gdb_run_cmd): Look for gdb,do_reload_on_run target feature--if it
exists, reload the executable and do a "continue" instead of
doing a jump.
(runto_main): Use gdb_step_for_stub.
* gdb.base/break.exp: Use gdb_step_for_stub. Also, rename certain
tests to have unique names.
* gdb.base/callfuncs.exp: Ditto.
* gdb.base/commands.exp: Ditto.
* gdb.base/default.exp: Ditto.
* gdb.base/help.exp: Ditto.
* gdb.base/list.exp: Ditto.
* gdb.base/opaque.exp: Ditto.
* gdb.base/printcmds.exp: Ditto. Use a loop to emit multiple
similar tests.
* gdb.base/setshow.c: Add set_debug_traps/breakpoint calls.
* gdb.c++/cplusfuncs.cc: Ditto.
* gdb.c++/virtfunc.cc: Ditto.
* config/monitor.exp: Keep track of the last file we saw, rather
than trying to get the info from gdb.
* gdb.fortran/types.exp: Move comment to previous line.
Fixes for TCL8 miscellaneous problems, plus other changes.
if we can't get a debug format from GDB (we may be testing an
older GDB). Use a 10 second timeout when checking for the format.
* gdb.stabs/weird.exp: Fix quoting.
until it has been modified to work with the new testsuite.
* gdb.*/*.exp: Instead of causing 1 unresolved test when the
testcase won't compile, cause all of the testcases in the file to
fail instead.
* lib/gdb.exp(gdb_suppress_entire_file): New procedure.
(gdb_clear_suppressed): New procedure.
(gdb_stop_suppressing_tests): Only clear suppress_flag if
it contains a positive value.
(get_debug_format): New function to get debug format.
(debug_format): New global variable to hold last value set
by get_debug_format.
* gdb.base/list.exp: Call get_debug_format and expect some
tests to fail for DWARF 1 and COFF formats.
* gdb.c++/ptype.exp: Ditto.
* gdb.c++/classes.exp: Ditto.
* gdb.c++/cplusfuncs.exp: Ditto.
* gdb.c++/inherit.exp: Ditto.
* gdb.c++/templates.exp: Ditto.
* gdb.c++/virtfunc.exp: Ditto.