OSDN Git Service

* gdbtypes.h (struct builtin_type): Add internal_fn member.
authorUlrich Weigand <uweigand@de.ibm.com>
Thu, 2 Jul 2009 12:11:19 +0000 (12:11 +0000)
committerUlrich Weigand <uweigand@de.ibm.com>
Thu, 2 Jul 2009 12:11:19 +0000 (12:11 +0000)
commitf3cc754fcaa8ef337cfeb753ef279d61e09102f8
treeb1909e105efbbcfa134cc0e9a45348457dd586a5
parenta05afb42b7c8c11a08a6f1f75bca25b23e948563
* gdbtypes.h (struct builtin_type): Add internal_fn member.
* gdbtypes.c (gdbtypes_post_init): Initialize it.
* value.c (internal_fn_type): Remove.
(_initialize_values): Do not initialize it.

* value.c (struct internalvar): Add enum internalvar_kind type and
kind member.  Restructure union internalvar_data type.  Remove type,
canonical, and make_value members.
(init_if_undefined_command): Update for data structure changes.
(create_internalvar): Likewise.
(create_internalvar_type_lazy): Likewise.
(get_internalvar_integer): Likewise.
(get_internalvar_function): Likewise.
(set_internalvar_component): Likewise.
(set_internalvar): Likewise.
(set_internalvar_integer): Likewise.
(set_internalvar_function): Likewise.
(clear_internalvar): Likewise.
(add_internal_function): Likewise.
(preserve_one_internalvar): New function.
(preserve_values): Call it.

* value.h (value_of_internalvar): Add GDBARCH parameter.
(internalvar_make_value): Likewise.
* value.c (value_of_internalvar): Add GDBARCH parameter.  Pass it to
make_value callback.  Use it to generate per-architecture result value
types for internal variables with no pre-defined type.  Update for data
structure changes.
(show_convenience): Pass architecture to value_of_internalvar.
* eval.c (evaluate_subexp_standard): Likewise.
* infrun.c (siginfo_make_value): Add GDBARCH parameter.  Use it
instead of current frame architecture.  Return per-architecture type.

* value.h (set_internalvar_string): Add prototype.
* value.c (set_internalvar_string): New function.
* tracepoint.c (set_traceframe_context): Use it.
gdb/ChangeLog
gdb/eval.c
gdb/gdbtypes.c
gdb/gdbtypes.h
gdb/infrun.c
gdb/tracepoint.c
gdb/value.c
gdb/value.h