* lib/compiler.cc, lib/compiler.c: Append either
__GNUC_PATCHLEVEL__, or "unknown" to the compiler_info.
* gdb.base/structs.exp (test_struct_calls): Check for gcc-3-3-*
instead of gcc-3-3.
* lib/gdb.exp (gdb_breakpoint): Add pending breakpoint
support.
* gdb.base/langs.exp: Fix test which attempts to create
breakpoint on non-existent function to handle new pending
support.
* gdb.base/shlib-call.exp: Use gdb_breakpoint to set
a breakpoint.
* gdb.base/pending.exp: New test.
* gdb.base/pending.c: New file.
* gdb.base/pendshr.c: Ditto.
* lib/compiler.c: Add hp_cc_compiler and hp_aCC_compiler.
* lib/compiler.cc: Likewise.
* lib/gdb.exp (get_compiler_info): Always call gdb_compile to
get the right preprocessor. Eval the output directly. Remove
special tests for hp_cc_compiler and hp_aCC_compiler. Remove
hp_f77_compiler and hp_f90_compiler completely.
(gdb_preprocess): Delete.
(get_compiler): Delete.
Remove downloading, guessing the host executable, the calls to
gdb_file_cmd and gdb_target_cmd, and "load" support.
(infer_host_exec): New function broken out from gdb_load.
(gdb_load): New wrapper for gdbserver_gdb_load.
* lib/mi-support.exp (mi_gdb_target_cmd): New function, based on
gdb_target_cmd. Use -target-select.
(mi_gdb_file_cmd): New function, broken out from mi_gdb_load.
Download binaries to the host. Clear last_mi_remote_file when
we load a new binary.
(mi_gdb_load): Call mi_gdb_file_cmd. If gdbserver.exp is loaded,
call gdbserver_gdb_load and mi_gdb_target_cmd.
* gdb.base/sepdebug.exp: New file.
* gdb.base/sepdebug.c: New file.
* lib/gdb.exp (separate_debug_filename): New procedure.
(gdb_gnu_strip_debug): New procedure.
* gdb.base/maint.exp: Use gdb_internal_error_resync to recover
from the internal error.
* lib/gdb.exp (gdb_internal_error_resync): New procedure.
Original from Jim Blandy.
(gdb_test_multiple): Use gdb_internal_error_resync.
* lib/gdb.exp (compiler_info): New global.
(test_compiler_info): New function.
(get_compiler_info): Set compiler_info.
* lib/compiler.c, lib/compiler.cc: Add copyright. When GNUC, set
"compiler_info" to gcc-<major>-<minor>.
* gdb.base/callfuncs.exp: Make "print add" messages unique.
* gdb.base/ending-run.exp: Put spaces around "breakpoint" to stop
matching directories by the name breakpoint.
* gdb.base/pointers.exp: Make "ptype pppC" message consistent.
Make "continue to marker1" consistent.
* gdb.base/call-rt-st.exp: Make "finish out from loop_count"
message consistent.
* lib/gdb.exp: Put "the program is no longer running", and "the
program exited" in parenthesis.
* lib/mi-support.exp: Ditto.
* lib/gdb.exp: Revert patch of 2003-01-06, which set LC_ALL.
This was a workaround for a UTF-8 bug in readline 4.3. The bug
has been fixed in gdb/readline on 2003-01-09.
* lib/mi-support.exp (mi_reinitialize_dir): Check mi level
to see whether we are using the new -environment-directory
command which resets via -r or the old version of the command
which may prompt the user. Part of fix for gdb/741.
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.
* lib/mi-support.exp (mi_gdb_start): Verify the startup message
for mi1 and current mi is in correct format. New mi startup message
should be in mi console format. This is part of fix for PR gdb/604.
regexp for stopping at main. Could have multiple event notifications.
Don't assume that main was declared with no parameters.
(mi_next): Use mi_step_to.
(mi_step): Use mi_next_to.
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.
2001-09-19 Frank Ch. Eigler <fche@redhat.com>
* lib/insight-support.exp (_gdbtk_xvfb_init): Set DISPLAY
to localhost:NNN instead of :NNN, in case Xvfb is listening
only on TCP.
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.
* 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.
* 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.