38 Commits

Author SHA1 Message Date
7a424e9969 2002-12-03 Andrew Cagney <ac131313@redhat.com>
* frame.h (get_frame_id): Convert to a function.
	(null_frame_id, frame_id_p): Declare.
	(frame_id_eq, frame_id_inner): Declare.
	(frame_id_build): New function.
	* frame.c (get_frame_id): Update.  Use null_frame_id.
	(frame_find_by_id): Rewrite using frame_id_p, frame_id_eq and
	frame_id_inner.
	(null_frame_id, frame_id_p): Define.
	(frame_id_eq, frame_id_inner): Define.
	(frame_id_build): New function.
	* varobj.c (varobj_create): Update.
	(varobj_update): Update.
	* valops.c (value_assign): Update.
	(new_root_variable): Update.
	* infrun.c (save_inferior_status): Update.
	* breakpoint.c (watch_command_1): Update.
2002-12-04 00:05:54 +00:00
6e7f8b9cba 2002-11-29 Andrew Cagney <ac131313@redhat.com>
* stack.c (selected_frame, select_frame): Move from here ...
	* frame.c (selected_frame, select_frame): ... to here.  Include
	"language.h".
	* Makefile.in (frame.o): Update dependencies.
	* frame.c (get_selected_frame): New function.
	* frame.h (get_selected_frame): Declare.
	(deprecated_selected_frame): Rename selected_frame.
	* ada-lang.c, ada-tasks.c, breakpoint.c, corelow.c: Update.
	* eval.c, f-valprint.c, findvar.c, frame.c, frame.h: Update.
	* h8300-tdep.c, h8500-tdep.c, hppa-tdep.c, infcmd.c: Update.
	* inflow.c, infrun.c, macroscope.c, mips-tdep.c: Update.
	* mn10300-tdep.c, ocd.c, regcache.h, remote-e7000.c: Update.
	* remote-mips.c, remote-rdp.c, sh-tdep.c, sparc-tdep.c: Update.
	* stack.c, thread.c, tracepoint.c, valops.c, varobj.c: Update.
	* z8k-tdep.c, cli/cli-cmds.c: Update.

Index: mi/ChangeLog
2002-11-29  Andrew Cagney  <ac131313@redhat.com>

	* mi/mi-cmd-stack.c, mi/mi-main.c: Update to use
	deprecated_selected_frame.

Index: tui/ChangeLog
2002-11-29  Andrew Cagney  <ac131313@redhat.com>

	* tui/tui-hooks.c: Update to use deprecated_selected_frame.
	* tui/tui.c, tui/tuiDisassem.c, tui/tuiRegs.c: Ditto.
	* tui/tuiSource.c, tui/tuiSourceWin.c, tui/tuiWin.c: Ditto.
2002-11-29 19:15:16 +00:00
6abe1021c1 2002-11-24 Pierre Muller <muller@ics.u-strasbg.fr>
* varobj.c (find_frame_addr_in_frame_chain):
	Use get_frame_base instead of FRAME_FP,
	obvious fix.
2002-11-24 23:05:03 +00:00
7d8547c960 2002-11-23 Andrew Cagney <ac131313@redhat.com>
* blockframe.c (find_frame_addr_in_frame_chain): Move function
	from here ...
	* varobj.c (find_frame_addr_in_frame_chain): ... to here.
	(varobj_create): Note that frame ID should be used.
	* frame.h (find_frame_addr_in_frame_chain): Delete declaration.
2002-11-24 14:16:38 +00:00
6e382aa38c 2002-11-05 Jeff Johnston <jjohnstn@redhat.com>
* varobj.c (child_exists, cplus_number_of_children): Change
        STREQ macro references to strcmp.
        (cplus_name_of_child): Change code to handle the fact that
        fields are not necessarily contiguous with regards to their
        access control. This is a fix for PR gdb/792.
2002-11-05 22:31:00 +00:00
fb9b6b359f 2002-10-23 Jeff Johnston <jjohnstn@redhat.com>
* NEWS: add recent mi fixes.
        * varobj.c (struct varobj): Add new "updated" flag.
        (new_variable): Default "updated" flag to 0.
        (varobj_set_value): Set "updated" flag to 1 if value
        changes.
        (varobj_update): Check varobj "updated" flag before
        comparing old and refreshed values.  Fix for
        PR gdb/702.
2002-10-23 23:54:33 +00:00
94b66fa77d * varobj.c (c_type_of_child): Use get_target_type instead
of TYPE_TARGET_TYPE.
2002-09-24 18:50:34 +00:00
b66d6d2e12 Fri Aug 2 15:53:50 2002 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh: Include "gdb_string.h".
* gdbarch.c: Regenerate.

* regcache.c: Include "gdb_string.h".
* ax-general.c: Ditto.
* varobj.c: Ditto.
* std-regs.c: Ditto.
* fbsd-proc.c: Ditto.
* thread.c: Ditto.

* Makefile.in (regcache.o): Update dependencies.
(thread.o, gdbarch.o): Ditto.
(ax-general.o, gdbarch.o): Ditto.
(varobj.o, std-regs.o): Ditto.
(fbsd-proc.o): Specify dependencies.
2002-08-02 20:51:21 +00:00
e64d9b3dea 2002-07-03 Martin M. Hunt <hunt@redhat.com>
* varobj.c (struct varobj_root): Change frame from CORE_ADDR to
        struct frame_id.
        (varobj_create): Store frame_id for root.
        (varobj_gen_name): Use xasprintf.
        (varobj_update): Save and restore frame using get_frame_id() and
        frame_find_by_id().
        (create_child): Use xasprintf.
        (new_root_variable): Initialize frame_id.
        (c_name_of_child): Use xasprintf. Call find_frame_by_id().
        (c_value_of_variable): Use xasprintf. Move mem_fileopen call
        to prevent memory leak.
2002-07-03 20:23:04 +00:00
7f19b9a2d2 * defs.h (auto_boolean): Declare enum.
* command.h (cmd_auto_boolean): Delete enum.
* mips-tdep.c (mask_address_var): Update.
(mips_mask_address_p): Update.
(show_mask_address): Update.
* remote.c (struct packet_config): Update.
(update_packet_config): Update.
(show_packet_config_cmd): Update.
(packet_ok): Update.
(add_packet_config_cmd): Update.
(_initialize_remote):
* command.h: Update.
* cli/cli-setshow.c (parse_auto_binary_operation): Update.
(do_setshow_command): Update.
* cli/cli-decode.c (add_set_auto_boolean_cmd): Update.
* cli/cli-decode.h: Update.
2002-06-15 18:45:32 +00:00
0f7d239c5a * frame.h (select_frame): Delete level parameter.
* stack.c (select_frame): Update.  Use frame_relative_level to
obtain the frame's level.
(select_and_print_frame): Update call.
(select_frame_command): Ditto.
(up_silently_base): Ditto.
(down_silently_base): Ditto.
* ocd.c (ocd_start_remote): Ditto.
* remote-rdp.c (remote_rdp_open): Ditto.
* remote-mips.c (mips_initialize): Ditto.
(common_open): Ditto.
* remote-e7000.c (e7000_start_remote): Ditto.
* m3-nat.c (select_thread): Ditto.
* hppa-tdep.c (child_get_current_exception_event): Ditto.
(child_get_current_exception_event): Ditto.
* varobj.c (varobj_create): Ditto.
(varobj_update): Ditto.
(c_value_of_root): Ditto.
* tracepoint.c (finish_tfind_command): Ditto.
* corelow.c (core_open): Ditto.
* arch-utils.c (generic_prepare_to_proceed): Ditto.
* thread.c (info_threads_command): Ditto.
(switch_to_thread): Ditto.
* infrun.c (normal_stop): Ditto.
(restore_selected_frame): Ditto.
(restore_inferior_status): Ditto.
* breakpoint.c (insert_breakpoints): Ditto.
(watchpoint_check): Ditto.
(bpstat_stop_status): Ditto.
(do_enable_breakpoint): Ditto.
* blockframe.c (flush_cached_frames): Ditto.
(reinit_frame_cache): Ditto.
2002-05-05 01:15:13 +00:00
ae767bfb78 gdb/ChangeLog:
* stack.c (get_selected_block): Add new argument `addr_in_block',
used to return the exact code address we used to select the block,
not just the block.
* blockframe.c (get_frame_block, get_current_block): Same.
* frame.h (get_frame_block, get_current_block,
get_selected_block): Update declarations.
* linespec.c, stack.c, blockframe.c, breakpoint.c, findvar.c,
linespec.c, varobj.c, printcmd.c, symtab.c: Callers changed.

gdb/mi/ChangeLog:
* mi-cmd-stack.c (list_args_or_locals): Pass new arg to
get_frame_block.  (See entry in gdb/ChangeLog.)
2002-04-05 22:04:43 +00:00
575bbeb6ee * varobj.c (varobj_set_value): Make sure that there were no
errors evaluating the object before attempting to set its
        value.
        value_cast now properly adjusts VALUE_ADDRESS for baseclasses,
        so this offset adjustment is no longer necessary.
        (create_child): Don't set the error flag if the child is
        a CPLUS_FAKE_CHILD.
        (value_of_child): If value_fetch_lazy fails, return NULL
        so that callers will be notified that an error occurred.
        (c_value_of_variable): Delay check of variable's validity
        until later. We actually want all structs and unions to have
        the value "{...}".
        Do not return "???" for variables which could not be evaluated.
        This error condition must be returned to the caller so that it
        can get the error condition from gdb.
        (cplus_name_of_child): Adjust index for vptr before figuring
        out the name of the child.
        (cplus_value_of_child): If a child's (real) parent is not valid,
        don't even bother trying to give a value for it. Just return
        an error. Change all instances in this function.
        (cplus_type_of_child): If our parent is one of the "fake"
        parents, we need to get at the type of the real parent, and
        derive the child's true type using this information.
2002-01-13 20:17:55 +00:00
5bbc1a8e41 * varobj.c (c_value_of_child): Release memory for "name" when
finshed using it.
	(c_type_of_child): Likewise.
	(cplus_value_of_child): Isolate the use of name_of_child to
	one case that needs it.
	Release memory for "name" when finished using it.
2001-11-20 18:08:14 +00:00
30c6b1fbe9 * varobj.c (c_value_of_child): Use the wrapper function,
gdb_value_struct_elt.
	(cplus_value_of_child): Likewise.
2001-11-19 19:44:04 +00:00
30b28db19b s/value_ptr/struct value */ 2001-11-01 02:37:56 +00:00
72330bd63b Re-indent. 2001-11-01 02:22:21 +00:00
4abb499edb * varobj.c (cplus_value_of_child): Deal with a failure
to dereference a pointer object.
2001-10-10 17:01:52 +00:00
705da5797a * varobj.c (varobj_update): Change first parameter to
pointer to struct varobj*. This function can delete
	varobjs, so we need to give callers the new varobj
	when this happens.
	(value_of_root): Update "var", too, if "var_handle"
	changes.
	* varobj.h (varobj_update): Likewise.
2001-08-17 18:56:49 +00:00
f7635dd920 2001-05-10 Fernando Nasser <fnasser@redhat.com>
* varobj.c (c_number_of_children): Fix memory leak. Delete unwanted old
	variables, not just unregister them.
2001-05-10 16:57:01 +00:00
0755e6c1ab 2001-05-10 Fernando Nasser <fnasser@redhat.com>
* varobj.c (c_number_of_children): Check for target type of void*,
	not the target type name.  Allow dereferencing char*.
2001-05-10 16:44:56 +00:00
3172dc307b * arch-utils.c (#include "gdbthread.h"): Removed.
(#include "symfile.h"): Removed.
(XMALLOC): Removed unused macro.
* breakpoint.c (tbreak_command): Removed local declaration.
(awatch_command, do_enable_breakpoint, set_breakpoint_count):
Remove duplicate declarations.
(bpstat_should_step, bpstat_have_active_hw_watchpoints)
(remove_solib_event_breakpoints): Fix indentation botch.
* c-typeprint.c (#include "command.h"): Removed.
(#include "gdbcmd.h"): Removed.
* ch-exp.c (ch_terminal_match_float_literal, parse_expr)
(parse_primval, parse_untyped_expr, parse_opt_untyped_expr):
Removed duplicate declarations.
* ch-typeprint.c (#include "command.h"): Removed.
(#include "gdbcmd.h"): Removed.
* corefile.c (#include "frame.h"): Removed
(#include "symfile.h"): Removed.
(#include "language.h"): Removed.
* dbxread.c (#include "command.h"): Removed.
* environ.c (#include "gdbcore.h"): Removed.
* event-loop.c (#include "top.h"): Removed.
* f-typeprint.c (#include "command.h"): Removed.
(#include "gdbcmd.h"): Removed.
(#include "language.h"): Removed.
(#include "typeprint.h"): Removed.
(#include "frame.h"): Removed.
* gdbtypes.h (print_type_scalar): Removed declaration.
* infcmd.c (#include "completer.h"): Removed.
* language.c (#include "frame.h"): Removed.
* m2-typeprint.c (#include "command.h"): Removed.
(#include "gdbcmd.h"): Removed.
(#include "language.h"): Removed.
* m2-valprint.c (#include "valprint.h"): Removed.
* p-typeprint.c (#include "command.h"): Removed.
(#include "gdbcmd.h"): Removed.
* p-valprint.c (#include "typeprint.h"): Removed.
* parse.c (#include "linespec.h"): Removed.
* regcache.c (#include "frame.h"): Removed.
* remote.c (#include "frame.h"): Removed.
(getpkt_sane): Make static.
* source.c (#include "completer.h"): Removed.
* stack.c (#include "symfile.h"): Removed.
(#include "objfiles.h"): Removed.
* symfile.c (#include "completer.h"): Removed.
* tracepoint.c (#include "completer.h"): Removed.
* values.c (#include "frame.h"): Removed.
* varobj.c (#include "valprint.h"): Removed.
* wrapper.c (#include "frame.h"): Removed.

* memattr.c (create_mem_region): Removed unused variable.
* remote-nrom.c: Removed spurious semicolon after init_nrom_ops.
-------------------------------------------------------------------
2001-03-27 20:36:24 +00:00
5b616ba11e 2001-01-24 Jeff Holcomb <jeffh@redhat.com>
* remote-udi.c (udi_open): Change strdup to xstrdup.
        * thread.c (thread_apply_all_command): Change strdup to xstrdup.
        Update copyright message.
        * varobj.c (delete_variable_1): Likewise.

        * gdb_string.h: Remove declaration of strdup.  Update copyright
        message.
        * config/xm-mpw.h: Likewise.
        * config/i386/xm-i386mach.h: Likewise.
        * config/m68k/xm-apollo68b.h: Likewise.
        * config/m68k/xm-hp300bsd.h: Likewise.
        * config/rs6000/xm-rs6000.h: Likewise.
        * config/vax/xm-vaxult.h: Remove declaration of strdup.
        * config/vax/xm-vaxult2.h: Likewise.
2001-01-26 19:47:23 +00:00
8038e1e2b1 Replace FREEIF() with xfree(). 2001-01-19 05:45:16 +00:00
b8c9b27d1e Replace free() with xfree(). 2000-12-15 01:01:51 +00:00
2c67cb8b7a Fix -Wuninitialized warnings. 2000-11-29 14:41:34 +00:00
1669605fa3 Protoization. 2000-11-10 01:19:47 +00:00
8a1a01128d 2000-11-06 Fernando Nasser <fnasser@totem.toronto.redhat.com>
* wrapper.c (gdb_value_assign): New function.  Longjump-free
        version of value_assign.
        (wrap_value_assign): New function. Wrapper for value_assign.
        * wrapper.h: Add declaration for the above.
        * varobj.c (varobj_set_value): Use gdb_value_assign, not
        value_assign which can longjump.  Do not change varobj value if
        assign fails.
2000-11-06 23:12:29 +00:00
a80aa921bf 2000-10-13 Fernando Nasser <fnasser@totem.to.cygnus.com>
* varobj.c (type_changeable): Arrays are not changeable.
	Trying to check for updates was causing an error if the array lived
	in a register as gdb value_equal() cannot handle that case yet.
2000-10-13 20:42:55 +00:00
ae093f962b 2000-10-13 Fernando Nasser <fnasser@totem.to.cygnus.com>
* varobj.c (varobj_update): Prevent uninitialized error code to be
	returned on type_changed.  Also, prevent value_equal() to be called
	for the types we do not want to test for updates.
2000-10-13 20:31:38 +00:00
586e589c18 2000-09-15 Fernando Nasser <fnasser@totem.to.cygnus.com>
* varobj.c (varobj_set_value): Call wrapped version of
	parse_exp_1() to avoid longjumps.
2000-09-16 00:49:37 +00:00
fba45db2fa Protoization. 2000-07-30 01:48:28 +00:00
507f3c78fb Eliminate PARAMS from function pointer declarations. 2000-06-04 00:41:10 +00:00
a14ed312fd PARAMS removal. 2000-05-28 01:12:42 +00:00
74b7792f0f Purge (almost) make_cleanup_func. 2000-05-22 09:02:23 +00:00
8310b29b55 2000-03-30 Fernando Nasser <fnasser@cygnus.com>
* wrapper.c (gdb_value_subscript, wrap_value_subscript): New functions.
	Safe version of value_subscript.
	* varobj.c (): Use gdb_value_subscript() to get an array element value.
2000-03-30 20:15:35 +00:00
73a93a3251 2000-03-13 James Ingham <jingham@leda.cygnus.com>
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.
2000-03-13 21:51:46 +00:00
8b93c6380e import gdb-2000-02-02 snapshot 2000-02-03 04:14:45 +00:00