+2000-03-10 Daniel Berlin <dan@cgsoftware.com>
+ Fix C++ overloading, add support for seeing through references.
+
+ * defs.h (STREQ_IW): add STREQ_IW, like STREQ, except it's
+ whitespace insensitive
+
+ * valops.c (find_overload_match): Handle STABS overloading for
+ C++.
+ (find_overload_match): Look in right place for function arguments
+ in the debug info.
+ (find_overload_match): Rather than giving up when we have >1
+ perfect match, just choose one, especially since the
+ recommendation GDB gives ("disambiguate it by specifying function
+ signature"), is basically impossible.
+ (check_field_in): STREQ->STREQ_IW
+ (search_struct_field): STREQ->STREQ_IW
+ (find_method_list): STREQ->STREQ_IW
+
+ * gdbtypes.c (rank_one_type): Add ability to see through
+ references.
+ (rank_one_type): strcmp->strcmp_iw, because the whitespace could
+ be different.
+ (rank_function): Rank function properly (was doing it wrong
+ before, comparing the wrong parts of the arrays)
+ (rank_one_type): Change #if 0 to #ifdef DEBUG_OLOAD.
+
+ * gdbtypes.h: Add REFERENCE_CONVERSION_BADNESS for "badness"
+ associated with converting a non-reference to a reference.
+
+
Fri Mar 10 11:44:55 2000 Andrew Cagney <cagney@b1.cygnus.com>
* MAINTAINERS: Devolve responsibility for domain maintenance.
Thu Mar 9 14:21:07 2000 Andrew Cagney <cagney@b1.cygnus.com>
* MAINTAINERS (Core): Anthony Green is the Java - including
- testsuite - maintainer. Reformat testsuite and language support
- sections
+ testsuite - maintainer. Reformat testsuite and language support
+ sections
2000-03-08 Mark Kettenis <kettenis@gnu.org>
2000-03-06 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
- From Eli Zaretskii <eliz@is.elta.co.il>:
+ From Eli Zaretskii <eliz@is.elta.co.il>:
* event-loop.c (poll_timers): Don't compare delta.tv_sec with
zero, since time_t might be unsigned.
(i386_linux_sigcontext_addr): New function. Recognize the names
of the signal tranmpolines used by recent versions of the GNU C
library, and add support for RT signals.
- (LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_SP_OFFSET): New
+ (LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_SP_OFFSET): New
defines. Moved here from config/i386/tm-linux.h.
(i386_linux_sigtramp_saved_pc, i386_linux_sigtramp_saved_sp):
Reimplement in terms of i386_linux_sigcontext_addr.
* config/i386/tm-linux.h (LINUX_SIGCONTEXT_SIZE): Removed.
- (LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_SP_OFFSET):
- Moved to i386-tdep.c.
+ (LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_SP_OFFSET):
+ Moved to i386-tdep.c.
(IN_SIGTRAMP): Redefine to call i386_linux_in_sigtramp.
Sat Mar 4 19:38:11 2000 Andrew Cagney <cagney@b1.cygnus.com>
Sat Mar 4 17:23:06 2000 Andrew Cagney <cagney@b1.cygnus.com>
* MAINTAINERS: Frank Ch. Eigler and Andrew Cagney co-ordinate the
- sim directory.
+ sim directory.
Sat Mar 4 16:19:31 2000 Andrew Cagney <cagney@b1.cygnus.com>
* MAINTAINERS: Add Michael Snyder and Peter Schauer to list of
- ``Blanket Write Privs'' maintainers.
+ ``Blanket Write Privs'' maintainers.
Sat Mar 4 15:58:40 2000 Andrew Cagney <cagney@b1.cygnus.com>
From Sun 20 Feb 2000 Robert Lipe <robertl@sco.com>:
* language.c (longest_local_hex_string_custom): Don't compile
- 'long long' section if host doesn't have 'long long'.
+ 'long long' section if host doesn't have 'long long'.
Sat Mar 4 15:45:38 2000 Andrew Cagney <cagney@b1.cygnus.com>
* language.c (longest_raw_hex_string): Comment out. Appears
- unused.
+ unused.
Sat Mar 4 13:02:09 2000 Andrew Cagney <cagney@b1.cygnus.com>
* utils.c (mcalloc), defs.h (mcalloc): Keep consistent with
- "mmalloc.h" which means using PTRs.
+ "mmalloc.h" which means using PTRs.
(init_malloc, msavestring, mstrsave): Convert to PTR free ISO-C.
Sat Mar 4 11:49:21 2000 Andrew Cagney <cagney@b1.cygnus.com>
* defs.h (store_address, store_unsigned_integer, store_address):
- Replace PTR with void* in delcaration.
+ Replace PTR with void* in delcaration.
* findvar.c (extract_signed_integer, extract_unsigned_integer,
- extract_long_unsigned_integer, extract_address,
- store_signed_integer, store_unsigned_integer, store_address):
- Convert definition to ISO-C. Replace PTR with void*.
+ extract_long_unsigned_integer, extract_address,
+ store_signed_integer, store_unsigned_integer, store_address):
+ Convert definition to ISO-C. Replace PTR with void*.
Sat Mar 4 10:57:25 2000 Andrew Cagney <cagney@b1.cygnus.com>
* defs.h (make_cleanup_func): Document as deprecated.
(make_cleanup_ftype): New typedef. Make signature consistent with
- other function typedefs. Document as not be used out side of
- make_cleanup code. Use in make_cleanup declarations.
+ other function typedefs. Document as not be used out side of
+ make_cleanup code. Use in make_cleanup declarations.
(null_cleanup): Replace PTR with void*.
-
+
* utils.c (make_cleanup, make_final_cleanup, make_run_cleanup,
- make_exec_cleanup, make_exec_error_cleanup, make_my_cleanup,
- null_cleanup): Change K&R definition to ISO-C using void* and
- make_cleanup_fytpe.
+ make_exec_cleanup, make_exec_error_cleanup, make_my_cleanup,
+ null_cleanup): Change K&R definition to ISO-C using void* and
+ make_cleanup_fytpe.
(discard_my_cleanups): Don't cast argument to free.
2000-03-03 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* defs.h (struct continuation_arg): Change type of field 'data'
- from PTR to void *.
+ from PTR to void *.
* event-loop.h: Eliminate uses of PTR, use 'void *' instead.
Fri Mar 3 15:39:34 2000 Andrew Cagney <cagney@b1.cygnus.com>
* Makefile.in (CONFIG_CLEAN, CONFIG_ALL, LN_S): Defined by
- configure.
+ configure.
(SUBDIR_MI_CLEAN, SUBDIR_GDBTK_CLEAN, SUBDIR_MI_ALL,
- SUBDIR_GDBTK_ALL): Define.
+ SUBDIR_GDBTK_ALL): Define.
(all-gdbtk, clean-gdbtk): New targets.
(all): Add CONFIG_ALL as dependency.
(clean): Add CONFIG_CLEAN as dependency.
-
+
* configure.in (CONFIG_ALL, CONFIG_CLEAN): Define.
(LN_S): Define. Delete GDBtk's link code.
2000-03-02 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* config/alpha/alpha-linux.mh: Remove core-regset.o fron the
- NATDEPFILES list.
+ NATDEPFILES list.
2000-03-02 Mark Kettenis <kettenis@gnu.org>
Thu Mar 2 09:04:46 2000 Andrew Cagney <cagney@b1.cygnus.com>
- * MAINTAINERS: Daniel Berlin is C++ maintainer.
+ * MAINTAINERS: Daniel Berlin is C++ maintainer.
Thu Mar 2 08:55:35 2000 Andrew Cagney <cagney@b1.cygnus.com>
* MAINTAINERS: Mark Kettenis is the x86 architcture maintainer and
- a joint GNU/Linux/x86 maintainer. Nick Duffeck and Robert Lipe
- share SCO/Unixware. Nick Duffek and Peter Schauer share
- Solaris/x86.
+ a joint GNU/Linux/x86 maintainer. Nick Duffeck and Robert Lipe
+ share SCO/Unixware. Nick Duffek and Peter Schauer share
+ Solaris/x86.
Wed Mar 1 22:12:35 2000 Andrew Cagney <cagney@b1.cygnus.com>
-
+
From Wed 23 Feb 2000 Fernando Nasser <fnasser@redhat.com>:
* remote-sim.c (gdbsim_close): Call generic_mourn_inferior.
- * remote-rdi.c (arm_rdi_close): Ditto.
+ * remote-rdi.c (arm_rdi_close): Ditto.
Wed Mar 1 19:31:32 2000 Andrew Cagney <cagney@b1.cygnus.com>
* CONTRIBUTE (configure.in): Note that patches to configure are
- not needed.
+ not needed.
2000-03-01 Mark Kettenis <kettenis@gnu.org>
From 2000-02-28 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>:
Make NEW_PROC_ABI interface functional on Solaris x86.
* sol-thread.c (ps_lgetLDT): Rewrite to use new
- procfs_find_LDT_entry function from procfs.c, mostly copied from
- lin-thread.c.
+ procfs_find_LDT_entry function from procfs.c, mostly copied from
+ lin-thread.c.
* inferior.h, procfs.c (procfs_get_pid_fd): Removed, no longer
- needed.
+ needed.
Wed Mar 1 00:34:55 2000 Andrew Cagney <cagney@b1.cygnus.com>
Wed Mar 1 00:06:19 2000 Andrew Cagney <cagney@b1.cygnus.com>
From 1999-08-13 J.T. Conklin <jtc@redback.com>:
- * config/i386/tm-i386.h (FRAME_INIT_SAVED_REGS): Replace
- FRAME_FIND_SAVED_REGS.
- (i386_frame_init_saved_regs): Replace i386_frame_find_saved_regs.
- * i386-tdep.c (i386_frame_init_saved_regs, i386_pop_frame):
- Update.
+ * config/i386/tm-i386.h (FRAME_INIT_SAVED_REGS): Replace
+ FRAME_FIND_SAVED_REGS.
+ (i386_frame_init_saved_regs): Replace i386_frame_find_saved_regs.
+ * i386-tdep.c (i386_frame_init_saved_regs, i386_pop_frame):
+ Update.
Tue Feb 29 23:56:41 2000 Andrew Cagney <cagney@b1.cygnus.com>
to the list of targets which return FP values in FP registers.
* i386-tdep.c (i386_extract_return_value): Add FIXME recommending
- that this function be re-implemented using multi-arch.
+ that this function be re-implemented using multi-arch.
Tue Feb 29 18:40:08 2000 Andrew Cagney <cagney@b1.cygnus.com>
From Wed, 23 Feb 2000 Fernando Nasser <fnasser@redhat.com>:
* stack.c (backtrace_command_1), infrun.c (normal_stop): Check
- that the target's stack was valid.
+ that the target's stack was valid.
Tue Feb 29 15:14:56 2000 Andrew Cagney <cagney@b1.cygnus.com>
From 2000-02-22 Stephane Carrez <stcarrez@worldnet.fr>:
- * dwarf2read.c (read_address): Read 16-bits addresses.
+ * dwarf2read.c (read_address): Read 16-bits addresses.
2000-02-28 Scott Bambrough <scottb@netwinder.org>
* arm-linux-nat.c (fetch_nw_fpe_*):
- Renamed to fetch_nwfpe_* to use the same naming convention
+ Renamed to fetch_nwfpe_* to use the same naming convention
as in the Linux kernel. Modified prototype to get rid of
unused parameters.
(store_nw_fpe_*): Renamed to store_nwfpe_* to use the same
- naming convention as in the Linux kernel. Fixed calls to
+ naming convention as in the Linux kernel. Fixed calls to
fetch_nwfpe_*.
(store_fpregs): Fixed calls to store_nwfpe_*. Removed
- unused variable.
+ unused variable.
Mon Feb 28 18:24:32 2000 Andrew Cagney <cagney@b1.cygnus.com>
Mon Feb 28 10:58:45 2000 Andrew Cagney <cagney@b1.cygnus.com>
* MAINTAINERS: Mention mmalloc. Expand Host/Native and
- Target/Architecture maintainers descriptions.
+ Target/Architecture maintainers descriptions.
2000-02-26 Mark Kettenis <kettenis@gnu.org>
Sat Feb 26 17:15:16 2000 Andrew Cagney <cagney@b1.cygnus.com>
* MAINTAINERS: Chris Faylor is responsible for all MS Windows
- systems. Note that Jim Blandy as maintainer for ``tracing
- bytecode stuff''
+ systems. Note that Jim Blandy as maintainer for ``tracing
+ bytecode stuff''
2000-02-25 Fernando Nasser <fnasser@cygnus.com>
Thu Feb 24 18:42:15 2000 Andrew Cagney <cagney@b1.cygnus.com>
* configure.in (CONFIG_INSTALL, CONFIG_UNINSTALL): Set to
- $(SUBDIR_*_INSTALL) when so configured.
+ $(SUBDIR_*_INSTALL) when so configured.
* configure: Regenerate.
-
+
* Makefile.in (CONFIG_INSTALL, CONFIG_UNINSTALL): Define using
- configure.
+ configure.
(install-only): Add dependency on $(CONFIG_INSTALL). Delete code
- installing GDBtk.
+ installing GDBtk.
(uninstall): Add dependency on $(CONFIG_UNINSTALL).
(SUBDIR_MI_INSTALL, SUBDIR_MI_UNINSTALL, SUBDIR_GDBTK_UNINSTALL,
- SUBDIR_GDBTK_INSTALL): Define.
+ SUBDIR_GDBTK_INSTALL): Define.
(install-gdbtk): New target.
Thu Feb 24 18:19:52 2000 Andrew Cagney <cagney@b1.cygnus.com>
* configure.in (SUBDIR_MI_CFLAGS): Fix typo, wrong brace.
* configure: Regenerate.
-
+
2000-02-24 Christopher Faylor <cgf@cygnus.com>
* configure.tgt: Add arm, mips, sh wince targets.
Wed Feb 23 12:58:46 2000 Andrew Cagney <cagney@b1.cygnus.com>
* gdbarch.sh (dis_asm_read_memory): Change LEN to unsigned long.
- Match ../include/dis-asm.h change.
+ Match ../include/dis-asm.h change.
* gdbarch.h: Regenerate.
* corefile.c (dis_asm_read_memory): Update.
* configure.in (CONFIG_INITS): Fix typo, was CONFIG_INIT.
(ENABLE_CFLAGS): Move initialization to start of file.
(enable-gdbmi): Add new configure option --enable-gdbmi. When
- selected and an ${srcdir}/mi directory is present enable MI
- interface.
+ selected and an ${srcdir}/mi directory is present enable MI
+ interface.
* configure: Regenerate.
-
+
* Makefile.in (SUBDIR_MI_OBS, SUBDIR_MI_SRCS, SUBDIR_MI_DEPS,
- SUBDIR_MI_INITS, SUBDIR_MI_LDFLAGS, SUBDIR_MI_CFLAGS): New macros.
+ SUBDIR_MI_INITS, SUBDIR_MI_LDFLAGS, SUBDIR_MI_CFLAGS): New macros.
(CONFIG_OBS, CONFIG_SRCS, CONFIG_DEPS, CONFIG_INITS,
- CONFIG_LDFLAGS): New macros. Initialized by autoconf via
- @CONFIG...@.
+ CONFIG_LDFLAGS): New macros. Initialized by autoconf via
+ @CONFIG...@.
(INTERNAL_LDFLAGS, CDEPS, LINTFILES, DEPFILES, SOURCES,
- INIT_FILES): Use $(CONFIG_...) instead of @CONFIG...@.
+ INIT_FILES): Use $(CONFIG_...) instead of @CONFIG...@.
* mi: New directory. MI interface to GDB.
* defs.h (interpreter_p): Declare when UI_OUT.
* top.c (gdb_init): When interpreter_p, check that the interpreter
- was recognized by one of the linked in interpreters.
+ was recognized by one of the linked in interpreters.
* main.c (interpreter_p): Define.
(captured_main): When UI_OUT, check for ``-i <interpreter>'' option.
* event-top.c (display_gdb_prompt): When interpreter_p, assume
- interpreter displays prompt.
+ interpreter displays prompt.
* breakpoint.c (print_it_typical, watchpoint_check,
- print_one_breakpoint, mention): When MI include additional
+ print_one_breakpoint, mention): When MI include additional
target status information.
* infrun.c (print_stop_reason, normal_stop): Ditto.
2000-02-22 Jim Blandy <jimb@redhat.com>
* gdbarch.sh: Make the `default' field really default to zero, as
- documented.
+ documented.
Bring COERCE_FLOAT_TO_DOUBLE under gdbarch's control.
* valops.c (COERCE_FLOAT_TO_DOUBLE): Rework definition to be
* gdbarch.sh (coerce_float_to_double): New entry, replacing macro.
* gdbarch.c, gdbarch.h: Regenerated.
* tm-alpha.h, tm-fr30.h, tm-m32r.h, tm-mips.h, tm-hppa.h,
- tm-rs6000.h, tm-sh.h, tm-sparc.h (COERCE_FLOAT_TO_DOUBLE): Change
- definitions.
+ tm-rs6000.h, tm-sh.h, tm-sparc.h (COERCE_FLOAT_TO_DOUBLE): Change
+ definitions.
* mips-tdep.c (mips_coerce_float_to_double): Supply our own custom
function here.
(mips_gdbarch_init): Install that as our coerce_float_to_double
From Philippe De Muyter <phdm@macqel.be>
* event-loop.c (handle_file_event): In case of poll, enable
- printing of informational message if an error/exception is
- detected on the file descriptor.
+ printing of informational message if an error/exception is
+ detected on the file descriptor.
2000-02-21 Jim Kingdon <kingdon@redhat.com>
Mon Feb 21 12:50:57 2000 Andrew Cagney <cagney@b1.cygnus.com>
* buildsym.c: Include "language.h" and "expression.h" for
- longest_local_hex_string_custom.
+ longest_local_hex_string_custom.
Mon Feb 21 11:17:18 2000 Andrew Cagney <cagney@b1.cygnus.com>
* gdbarch.sh: Include <gdb_wait.h> instead of <wait.h>.
* gdbarch.c: Already updated by Wed Feb 9 18:59:16 2000 Andrew
- Cagney <cagney@b1.cygnus.com>.
+ Cagney <cagney@b1.cygnus.com>.
Mon Feb 21 11:03:01 2000 Andrew Cagney <cagney@b1.cygnus.com>
* MAINTAINERS: Update: IA-64 - Kevin Buettner; ARM - Fernando
- nasser, Jim Ingham and Scott Bambrough; GNU/Linux ARM - Scott
- Bambrough; event loop - Elena Zannoni; SDS and RDI/APD protocol -
- to Fernando Nasser and Jim Ingham; KOD - Fernando Nasser; MI -
- Andrew Cagney, Elena Zannoni and Fernando Nasser; Web pages - Jim
- Kingdon.
+ nasser, Jim Ingham and Scott Bambrough; GNU/Linux ARM - Scott
+ Bambrough; event loop - Elena Zannoni; SDS and RDI/APD protocol -
+ to Fernando Nasser and Jim Ingham; KOD - Fernando Nasser; MI -
+ Andrew Cagney, Elena Zannoni and Fernando Nasser; Web pages - Jim
+ Kingdon.
* MAINTAINERS: Add Nick Clifton to write after approval list.
-
+
Mon Feb 21 10:30:39 2000 Andrew Cagney <cagney@b1.cygnus.com>
* MAINTAINERS: Add note on multiple maintainers.
2000-02-19 Philippe De Muyter <phdm@macqel.be>
- * cli-out.c (cli_table_header): Type of parameter `alignment' is
- `enum ui_align', not `int'.
- (cli_field_string, cli_field_skip): Likewise.
+ * cli-out.c (cli_table_header): Type of parameter `alignment' is
+ `enum ui_align', not `int'.
+ (cli_field_string, cli_field_skip): Likewise.
2000-02-18 Jim Blandy <jimb@redhat.com>
2000-02-18 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* remote.c (remote_async_detach): Use target_mourn_inferior(), to
- make sure that all is cleaned up after we disconnect from the
- target.
+ make sure that all is cleaned up after we disconnect from the
+ target.
(remote_detach): Ditto.
2000-02-17 Fernando Nasser <fnasser@totem.to.cygnus.com>
Wed Feb 16 19:00:02 2000 Andrew Cagney <cagney@b1.cygnus.com>
From 2000-01-26 Rodney Brown <RodneyBrown@pmsc.com>:
- * procfs.c: Define MERGEPID if not defined. For osf4.0e.
+ * procfs.c: Define MERGEPID if not defined. For osf4.0e.
2000-02-15 Jason Molenda (jsm@bugshack.cygnus.com)
to correct value for generic dummy frames. When using
generic dummy frames, don't attempt to write TOC value or
function to call into the call dummy.
- (rs6000_push_arguments): Adapt USE_GENERIC_DUMMY_FRAMES
+ (rs6000_push_arguments): Adapt USE_GENERIC_DUMMY_FRAMES
code to also handle the PowerOpen ABI.
(ppc_push_return_address): Enable for all ports.
* config/powerpc/tm-ppc-aix.h (USE_GENERIC_DUMMY_FRAMES,
- PUSH_DUMMY_FRAME, PUSH_RETURN_ADDRESS, GET_SAVED_REGISTER,
+ PUSH_DUMMY_FRAME, PUSH_RETURN_ADDRESS, GET_SAVED_REGISTER,
CALL_DUMMY_BREAKPOINT_OFFSET, CALL_DUMMY_LOCATION,
CALL_DUMMY_ADDRESS, CALL_DUMMY_START_OFFSET): Override defaults
provided by generic RS6000 definitions so that call dummies
2000-02-15 Jesper Skov <jskov@cygnus.co.uk>
Patch applied by Kevin Buettner <kevinb@redhat.com>
-
+
* rs6000-tdep.c (skip_prologue): skip copying of argument
registers to local variable registers.
* config/i386/nbsd.mt (GDBSERVER_DEPFILES): Add low-nbsd.o
* configure.tgt (i[3456]86-*-netbsd*): add gdbserver to
- configdirs.
+ configdirs.
* gdbserver/low-nbsd.c: New file.
-
+
* gdbserver/Makefile.in: convert to autoconf.
* gdbserver/configure.in: likewise.
* gdbserver/configure: generate.
Sun Feb 13 10:34:48 2000 Andrew Cagney <cagney@b1.cygnus.com>
* MAINTAINERS: Add Eli Zaretskii to djgpp maintiners. Add Kevin
- Buettner to powerpc maintainers. Make Kevin Buettner the
- GNU/LINUX PPC native maintainer. Add J.T. Conklin, Jim Kingdon
- and Jason Molenda to write after aproval list.
+ Buettner to powerpc maintainers. Make Kevin Buettner the
+ GNU/LINUX PPC native maintainer. Add J.T. Conklin, Jim Kingdon
+ and Jason Molenda to write after aproval list.
Sun Feb 13 10:18:44 2000 Andrew Cagney <cagney@b1.cygnus.com>
2000-02-09 Mark Kettenis <kettenis@gnu.org>
- * linux-thread.c: Include defs.h before gdb_wait.h.
+ * linux-thread.c: Include defs.h before gdb_wait.h.
Wed Feb 9 18:59:16 2000 Andrew Cagney <cagney@b1.cygnus.com>
* Makefile.in (wait_h): Delete macro. Update all dependencies
- specifying gdb_wait.h instead.
+ specifying gdb_wait.h instead.
* ser-unix.c, ser-pipe.c, remote.c, remote-udi.c, remote-sds.c,
- remote-os9k.c, remote-es.c, remote-rdp.c, remote-vx960.c,
- remote-vx.c, remote-st.c, remote-nindy.c, remote-mm.c,
- convex-xdep.c, convex-tdep.c, target.c, win32-nat.c, standalone.c,
- remote-vxmips.c, remote-vxsparc.c, remote-vx68.c, remote-vx29k.c,
- remote-sim.c, remote-rdi.c, remote-mips.c, remote-eb.c,
- remote-e7000.c, remote-bug.c, remote-array.c, remote-adapt.c,
- ppc-bdm.c, ocd.c, monitor.c, m3-nat.c, linux-thread.c,
- infttrace.c, lin-thread.c, infptrace.c, gnu-nat.c, gdbarch.c,
- fork-child.c, command.c: Include "gdb_wait.h" instead of <wait.h>
- or <sys/wait.h>.
+ remote-os9k.c, remote-es.c, remote-rdp.c, remote-vx960.c,
+ remote-vx.c, remote-st.c, remote-nindy.c, remote-mm.c,
+ convex-xdep.c, convex-tdep.c, target.c, win32-nat.c, standalone.c,
+ remote-vxmips.c, remote-vxsparc.c, remote-vx68.c, remote-vx29k.c,
+ remote-sim.c, remote-rdi.c, remote-mips.c, remote-eb.c,
+ remote-e7000.c, remote-bug.c, remote-array.c, remote-adapt.c,
+ ppc-bdm.c, ocd.c, monitor.c, m3-nat.c, linux-thread.c,
+ infttrace.c, lin-thread.c, infptrace.c, gnu-nat.c, gdbarch.c,
+ fork-child.c, command.c: Include "gdb_wait.h" instead of <wait.h>
+ or <sys/wait.h>.
* nindy-share/nindy.c, nindy-share/Onindy.c: Ditto.
* gdb_wait.h: New file. Based on ../include/wait.h. Include
- <sys/wait.h> or <wait.h> and then define any missing WIF macros.
+ <sys/wait.h> or <wait.h> and then define any missing WIF macros.
Wed Feb 9 01:14:54 2000 Andrew Cagney <cagney@amy.cygnus.com>
1999-08-23 J.T. Conklin <jtc@redback.com>
- * top.c (remote_timeout): Change default to 2. Add comment
- explaining history of changes to the default value.
- * remote.c (_initialize_remote): Remove code that adds set/
- show remotetimeout, as that's also done in top.c
+ * top.c (remote_timeout): Change default to 2. Add comment
+ explaining history of changes to the default value.
+ * remote.c (_initialize_remote): Remove code that adds set/
+ show remotetimeout, as that's also done in top.c
1999-10-18 J.T. Conklin <jtc@redback.com>
- * m32r-stub.c, sparcl-stub.c, sparclet-stub.c (handle_exception):
- Return E01 instead of P01 when 'P' command fails.
+ * m32r-stub.c, sparcl-stub.c, sparclet-stub.c (handle_exception):
+ Return E01 instead of P01 when 'P' command fails.
2000-02-05 J.T. Conklin <jtc@redback.com>
2000-02-04 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* infrun.c (resume): Make just one call to target_resume(), instead
- of four: set up correct parameters in all the cases ahead of time,
- and do call at the end.
+ of four: set up correct parameters in all the cases ahead of time,
+ and do call at the end.
2000-02-04 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* config/powerpc/tm-ppc-eabi.h: Define
- SOFUN_ADDRESS_MAYBE_MISSING.
+ SOFUN_ADDRESS_MAYBE_MISSING.
2000-02-04 Fernando Nasser <fnasser@totem.to.cygnus.com>
(links): Link srcdir/gdbtk/library to gdbtcl2.
* gdbtcl2: Moved to gdbtk/library.
ChangeLog-gdbtk, gdbtk-cmds.c, gdbtk-hooks.c, gdbtk-variable.c,
- gdbtk-varobj.c, gdbtk-wrapper.c, gdbtk-wrapper.h, gdbtk.c,
- gdbtk.h: Moved to gdbtk/generic.
+ gdbtk-varobj.c, gdbtk-wrapper.c, gdbtk-wrapper.h, gdbtk.c,
+ gdbtk.h: Moved to gdbtk/generic.
2000-02-03 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* printcmd.c (build_address_symbolic): New function. Returns all
- the parts that are necessary to print an address in a symbolic
- form.
+ the parts that are necessary to print an address in a symbolic
+ form.
(print_address_symbolic): Split into a printing part and an
- information building part, build_address_symbolic().
+ information building part, build_address_symbolic().
* defs.h (build_address_symbolic): Export.
2000-02-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* remote.c (getpkt_sane): New function. It is the old getpkt(),
- which now returns a timeout indication.
+ which now returns a timeout indication.
(getpkt): New function. Wrapper for getpkt_sane(), so that return
- value can still be ignored.
+ value can still be ignored.
Tue Feb 1 18:47:31 2000 Andrew Cagney <cagney@b1.cygnus.com>
* top.c (print_gdb_version): Print ``UI_OUT'' when configured with
- UI_OUT.
+ UI_OUT.
Tue Feb 1 00:17:12 2000 Andrew Cagney <cagney@b1.cygnus.com>
* ui-file.c, ui-file.h: Rename gdb-file.h, gdb-file.c. Rename
- ``struct gdb_file'' to ``struct ui_file''. Delete typedef
- GDB_FILE.
-
+ ``struct gdb_file'' to ``struct ui_file''. Delete typedef
+ GDB_FILE.
+
* Makefile.in: Update.
* ax-gdb.c, ax-general.c, ax.h, buildsym.c, c-lang.c, c-lang.h,
- c-typeprint.c, c-valprint.c, ch-lang.c, ch-lang.h, ch-typeprint.c,
- ch-valprint.c, command.c, command.h, convex-tdep.c, corefile.c,
- cp-valprint.c, d10v-tdep.c, d30v-tdep.c, defs.h, expprint.c,
- expression.h, f-lang.c, f-lang.h, f-typeprint.c, f-valprint.c,
- frame.h, gdb-events.sh, gdb-file.c, gdb-file.h, gdbcmd.h,
- gdbtypes.h, hppa-tdep.c, jv-lang.c, jv-lang.h, jv-typeprint.c,
- jv-valprint.c, language.c, language.h, m2-lang.c, m2-lang.h,
- m2-typeprint.c, m2-valprint.c, m3-nat.c, main.c, monitor.c,
- printcmd.c, pyr-tdep.c, remote-mips.c, remote-sim.c, remote-udi.c,
- remote.c, scm-lang.c, scm-lang.h, scm-valprint.c, ser-e7kpc.c,
- ser-go32.c, ser-mac.c, ser-ocd.c, ser-unix.c, ser-unix.h,
- serial.c, serial.h, stack.c, symfile.c, symmisc.c, tahoe-tdep.c,
- target.c, target.h, top.c, top.h, typeprint.c, typeprint.h,
- utils.c, v850ice.c, valprint.c, valprint.h, value.h,
- config/pa/tm-hppa.h: Update.
+ c-typeprint.c, c-valprint.c, ch-lang.c, ch-lang.h, ch-typeprint.c,
+ ch-valprint.c, command.c, command.h, convex-tdep.c, corefile.c,
+ cp-valprint.c, d10v-tdep.c, d30v-tdep.c, defs.h, expprint.c,
+ expression.h, f-lang.c, f-lang.h, f-typeprint.c, f-valprint.c,
+ frame.h, gdb-events.sh, gdb-file.c, gdb-file.h, gdbcmd.h,
+ gdbtypes.h, hppa-tdep.c, jv-lang.c, jv-lang.h, jv-typeprint.c,
+ jv-valprint.c, language.c, language.h, m2-lang.c, m2-lang.h,
+ m2-typeprint.c, m2-valprint.c, m3-nat.c, main.c, monitor.c,
+ printcmd.c, pyr-tdep.c, remote-mips.c, remote-sim.c, remote-udi.c,
+ remote.c, scm-lang.c, scm-lang.h, scm-valprint.c, ser-e7kpc.c,
+ ser-go32.c, ser-mac.c, ser-ocd.c, ser-unix.c, ser-unix.h,
+ serial.c, serial.h, stack.c, symfile.c, symmisc.c, tahoe-tdep.c,
+ target.c, target.h, top.c, top.h, typeprint.c, typeprint.h,
+ utils.c, v850ice.c, valprint.c, valprint.h, value.h,
+ config/pa/tm-hppa.h: Update.
* cli-out.c, cli-out.h, ui-out.c, ui-out.h, varobj.c: Update.
2000-01-31 Jason Molenda (jsm@bugshack.cygnus.com)
* top.c (fputs_unfiltered_hook): Moved to tui/tui-file.c.
* main.c (captured_main): Only use the legacy tui_file code when
- linking in older code such as the TUI.
+ linking in older code such as the TUI.
* gdb-file.h, gdb-file.c: New files.
* utils.c, defs.h (struct gdb_file, gdb_file_new, gdb_file_delete,
- null_file_isatty, null_file_rewind, null_file_put,
- null_file_flush, null_file_write, null_file_fputs,
- null_file_delete, gdb_file_data, gdb_flush, gdb_file_isatty,
- gdb_file_rewind, gdb_file_put, gdb_file_write, fputs_unfiltered,
- set_gdb_file_flush, set_gdb_file_isatty, set_gdb_file_rewind,
- set_gdb_file_put, set_gdb_file_write, set_gdb_file_fputs,
- set_gdb_file_data, struct accumulated_gdb_file,
- do_gdb_file_xstrdup, gdb_file_xstrdup, struct mem_file):
- mem_file_new, mem_file_delete, mem_fileopen, mem_file_rewind,
- mem_file_put, mem_file_write, struct stdio_file): stdio_file_new,
- stdio_file_delete, stdio_file_flush, stdio_file_write,
- stdio_file_fputs, stdio_file_isatty, stdio_fileopen, gdb_fopen):
- Moved to gdb-file.h and gdb-file.c.
+ null_file_isatty, null_file_rewind, null_file_put,
+ null_file_flush, null_file_write, null_file_fputs,
+ null_file_delete, gdb_file_data, gdb_flush, gdb_file_isatty,
+ gdb_file_rewind, gdb_file_put, gdb_file_write, fputs_unfiltered,
+ set_gdb_file_flush, set_gdb_file_isatty, set_gdb_file_rewind,
+ set_gdb_file_put, set_gdb_file_write, set_gdb_file_fputs,
+ set_gdb_file_data, struct accumulated_gdb_file,
+ do_gdb_file_xstrdup, gdb_file_xstrdup, struct mem_file):
+ mem_file_new, mem_file_delete, mem_fileopen, mem_file_rewind,
+ mem_file_put, mem_file_write, struct stdio_file): stdio_file_new,
+ stdio_file_delete, stdio_file_flush, stdio_file_write,
+ stdio_file_fputs, stdio_file_isatty, stdio_fileopen, gdb_fopen):
+ Moved to gdb-file.h and gdb-file.c.
* utils.c (enum streamtype, struct tui_stream, tui_file_new,
- tui_file_delete, tui_fileopen, tui_sfileopen, tui_file_isatty,
- tui_file_rewind, tui_file_put, tui_file_fputs,
- tui_file_get_strbuf, tui_file_adjust_strbuf, tui_file_flush,
+ tui_file_delete, tui_fileopen, tui_sfileopen, tui_file_isatty,
+ tui_file_rewind, tui_file_put, tui_file_fputs,
+ tui_file_get_strbuf, tui_file_adjust_strbuf, tui_file_flush,
fputs_unfiltered_hook):
- Moved to tui/tui-file.c and tui/tui-file.h.
-
+ Moved to tui/tui-file.c and tui/tui-file.h.
+
* Makefile.in (COMMON_OBS): Add gdb-file.o, tui-file.o.
(tui-file.o, gdb-file.o): Add dependencies.
(corefile.o, main.o, utils.o, simmisc.o): Update dependencies.
2000-01-27 Jim Blandy <jimb@cygnus.com>
* symtab.c (decode_line_1): Don't let commas that are within
- quotes or parenthesis terminate the line spec. Don't use pp when
- removing the final double quote of a double-quoted string. Don't
- forget to skip the opening double quote. I have no clue whether
- this change is correct; probably we've just moved this function
- from one buggy place to another buggy place, and never came within
- an outhouse whiff of correctness.
+ quotes or parenthesis terminate the line spec. Don't use pp when
+ removing the final double quote of a double-quoted string. Don't
+ forget to skip the opening double quote. I have no clue whether
+ this change is correct; probably we've just moved this function
+ from one buggy place to another buggy place, and never came within
+ an outhouse whiff of correctness.
(find_toplevel_char): New function.
2000-01-27 Fernando Nasser <fnasser@totem.to.cygnus.com>
* arm-tdep.c (arm_push_arguments): Set the thumb mode bit when
- passing the pointer to a thumb function as an argument.
+ passing the pointer to a thumb function as an argument.
2000-01-27 Fernando Nasser <fnasser@totem.to.cygnus.com>
* proc-why.c: New file. Add include of proc-utils.h.
* procfs.c: Add includes of gdbthread.h, sys/wait.h, signal.h,
- ctype.h, proc-utils.h.
+ ctype.h, proc-utils.h.
(find_procinfo_or_die): Add braces to avoid ambiguous else clause.
(open_procinfo_files): Conditionalize local variable tmp, to avoid
- compiler warnings.
+ compiler warnings.
(proc_iterate_over_mappings): Conditionalize local vars mapfd and
- pathname.
+ pathname.
(procfs_wait): Adjust format in some printf_filetered calls to
- avoid compiler warnings.
+ avoid compiler warnings.
(make_signal_thread_runnable): Ifdef 0. The calls to this function
- are also ifdef'd 0 .
+ are also ifdef'd 0 .
(procfs_resume): Add parentheses around '&&' operation.
(procfs_set_exec_trap): Remove unused variable.
(info_proc_cmd): Add braces to avoid ambiguous else clause.
* Makefile.in (procfs.o, proc-api.o, proc-events.o, proc-flags.o,
- proc-why.o): Update dependencies.
+ proc-why.o): Update dependencies.
* config/sparc/sun4sol2.mh (NATDEPFILES): Change proc_*.o files to
proc-*.o.
2000-01-17 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* stack.c (print_frame_info_base): Break up into the frame info
- (location) printing part and the rest (source line printing).
+ (location) printing part and the rest (source line printing).
(print_frame): New function. Take care of printing the location
- information.
+ information.
Update copyright.
* infrun.c (normal_stop): Use enum values rather than integers for the
source_flag to be passed to show_and_print_stack_frame().
- Update copyright.
-
+ Update copyright.
+
* frame.h (print_what): New enum for 'source' argument to
- print_frame_info_base(). Use this instead of obscure numbers.
+ print_frame_info_base(). Use this instead of obscure numbers.
Update copyright.
-
+
Sun Jan 16 17:58:00 2000 David Taylor <taylor@texas.cygnus.com>
* event-top.c (stdin_event_handler): call quit_command rather than
- exit -- run cleanups, give target code a chance to say goodbye to
- the target. Fixes bug where the inferior processes were left
- around on Solaris (and probably elsewhere) by the testsuite.
+ exit -- run cleanups, give target code a chance to say goodbye to
+ the target. Fixes bug where the inferior processes were left
+ around on Solaris (and probably elsewhere) by the testsuite.
2000-01-14 Mark Salter <msalter@cygnus.com>
* v850-tdep.c (v850_target_architecture_hook): Setup correct
- machine id for disassembly.
+ machine id for disassembly.
2000-01-13 Jim Blandy <jimb@cygnus.com>
2000-01-12 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* thread.c (do_captured_thread_select): New function. Switch
- current thread, safely from within catch_errors().
+ current thread, safely from within catch_errors().
(gdb_thread_select): New function. Switch threads safely.
(thread_command): Use gdb_thread_select().
Include ui-out.h.
(proc_flags): combine flags that UnixWare splits into two locations.
(proc_modify_flag): add support for PR_KLC (kill on last close).
(proc_[un]set_kill_on_last_close): new functions.
-
+
2000-01-07 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* infrun.c (normal_stop): Print out thread id when we stop.
2000-01-06 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* breakpoint.c (until_break_command): Add an argument for the
- continuation, the beginning of the cleanups set up by this
- command.
+ continuation, the beginning of the cleanups set up by this
+ command.
(until_break_command_continuation): Do cleanups until the one
- passed in as argument instead of doing all of them.
+ passed in as argument instead of doing all of them.
* infcmd.c (finish_command_continuation): Expect a new argument,
- which indicates up to where to do cleanups. Update calls to
- do_exec_cleanups to use this marker, instead of ALL_CLEANUPS.
+ which indicates up to where to do cleanups. Update calls to
+ do_exec_cleanups to use this marker, instead of ALL_CLEANUPS.
(finish_command): Add another argument for the continuation: the
starting cleanup for this command.
&& TYPE_NAME (type) != 0)
{
/* Look in the type of the source to see if it contains the
- type of the target as a superclass. If so, we'll need to
- offset the object in addition to changing its type. */
+ type of the target as a superclass. If so, we'll need to
+ offset the object in addition to changing its type. */
value_ptr v = search_struct_field (type_name_no_tag (type),
arg2, 0, type2, 1);
if (v)
value_ptr v;
/* Look in the type of the source to see if it contains the
- type of the target as a superclass. If so, we'll need to
- offset the pointer rather than just change its type. */
+ type of the target as a superclass. If so, we'll need to
+ offset the pointer rather than just change its type. */
if (TYPE_NAME (t1) != NULL)
{
v = search_struct_field (type_name_no_tag (t1),
}
/* Look in the type of the target to see if it contains the
- type of the source as a superclass. If so, we'll need to
- offset the pointer rather than just change its type.
- FIXME: This fails silently with virtual inheritance. */
+ type of the source as a superclass. If so, we'll need to
+ offset the pointer rather than just change its type.
+ FIXME: This fails silently with virtual inheritance. */
if (TYPE_NAME (t2) != NULL)
{
v = search_struct_field (type_name_no_tag (t2),
return val;
}
-/* Return a value with type TYPE located at ADDR.
+/* Return a value with type TYPE located at ADDR.
Call value_at only if the data needs to be fetched immediately;
if we can be 'lazy' and defer the fetch, perhaps indefinately, call
value_at_lazy instead. value_at_lazy simply records the address of
- the data and sets the lazy-evaluation-required flag. The lazy flag
- is tested in the VALUE_CONTENTS macro, which is used if and when
- the contents are actually required.
+ the data and sets the lazy-evaluation-required flag. The lazy flag
+ is tested in the VALUE_CONTENTS macro, which is used if and when
+ the contents are actually required.
Note: value_at does *NOT* handle embedded offsets; perform such
adjustments before or after calling it. */
return val;
}
-/* Called only from the VALUE_CONTENTS and VALUE_CONTENTS_ALL macros,
- if the current data for a variable needs to be loaded into
- VALUE_CONTENTS(VAL). Fetches the data from the user's process, and
+/* Called only from the VALUE_CONTENTS and VALUE_CONTENTS_ALL macros,
+ if the current data for a variable needs to be loaded into
+ VALUE_CONTENTS(VAL). Fetches the data from the user's process, and
clears the lazy flag to indicate that the data in the buffer is valid.
If the value is zero-length, we avoid calling read_memory, which would
#endif
}
/* Assigning to the stack pointer, frame pointer, and other
- (architecture and calling convention specific) registers may
- cause the frame cache to be out of date. We just do this
- on all assignments to registers for simplicity; I doubt the slowdown
- matters. */
+ (architecture and calling convention specific) registers may
+ cause the frame cache to be out of date. We just do this
+ on all assignments to registers for simplicity; I doubt the slowdown
+ matters. */
reinit_frame_cache ();
break;
if (TYPE_CODE (type) == TYPE_CODE_REF)
{
/* Copy the value, but change the type from (T&) to (T*).
- We keep the same location information, which is efficient,
- and allows &(&X) to get the location containing the reference. */
+ We keep the same location information, which is efficient,
+ and allows &(&X) to get the location containing the reference. */
arg2 = value_copy (arg1);
VALUE_TYPE (arg2) = lookup_pointer_type (TYPE_TARGET_TYPE (type));
return arg2;
#ifndef COERCE_FLOAT_TO_DOUBLE
#define COERCE_FLOAT_TO_DOUBLE(formal, actual) \
(default_coerce_float_to_double ((formal), (actual)))
-#endif
+#endif
/* A default function for COERCE_FLOAT_TO_DOUBLE: do the coercion only
type = builtin_type_int;
}
/* Currently all target ABIs require at least the width of an integer
- type for an argument. We may have to conditionalize the following
- type coercion for future targets. */
+ type for an argument. We may have to conditionalize the following
+ type coercion for future targets. */
if (TYPE_LENGTH (type) < TYPE_LENGTH (builtin_type_int))
type = builtin_type_int;
break;
case TYPE_CODE_FLT:
/* FIXME: We should always convert floats to doubles in the
- non-prototyped case. As many debugging formats include
- no information about prototyping, we have to live with
- COERCE_FLOAT_TO_DOUBLE for now. */
+ non-prototyped case. As many debugging formats include
+ no information about prototyping, we have to live with
+ COERCE_FLOAT_TO_DOUBLE for now. */
if (!is_prototyped && COERCE_FLOAT_TO_DOUBLE (param_type, arg_type))
{
if (TYPE_LENGTH (type) < TYPE_LENGTH (builtin_type_double))
return value_cast (type, arg);
}
-/* Determine a function's address and its return type from its value.
+/* Determine a function's address and its return type from its value.
Calls error() if the function is not valid for calling. */
static CORE_ADDR
else if (code == TYPE_CODE_INT)
{
/* Handle the case of functions lacking debugging info.
- Their values are characters since their addresses are char */
+ Their values are characters since their addresses are char */
if (TYPE_LENGTH (ftype) == 1)
funaddr = value_as_pointer (value_addr (function));
else
/* CALL_DUMMY is an array of words (REGISTER_SIZE), but each word
is in host byte order. Before calling FIX_CALL_DUMMY, we byteswap it
and remove any extra bytes which might exist because ULONGEST is
- bigger than REGISTER_SIZE.
+ bigger than REGISTER_SIZE.
NOTE: This is pretty wierd, as the call dummy is actually a
sequence of instructions. But CISC machines will have
for (i = nargs - 1; i >= 0; i--)
{
/* If we're off the end of the known arguments, do the standard
- promotions. FIXME: if we had a prototype, this should only
- be allowed if ... were present. */
+ promotions. FIXME: if we had a prototype, this should only
+ be allowed if ... were present. */
if (i >= TYPE_NFIELDS (ftype))
args[i] = value_arg_coerce (args[i], NULL, 0);
args[i] = value_arg_coerce (args[i], param_type, is_prototyped);
}
- /*elz: this code is to handle the case in which the function to be called
- has a pointer to function as parameter and the corresponding actual argument
- is the address of a function and not a pointer to function variable.
- In aCC compiled code, the calls through pointers to functions (in the body
- of the function called by hand) are made via $$dyncall_external which
- requires some registers setting, this is taken care of if we call
- via a function pointer variable, but not via a function address.
- In cc this is not a problem. */
+ /*elz: this code is to handle the case in which the function to be called
+ has a pointer to function as parameter and the corresponding actual argument
+ is the address of a function and not a pointer to function variable.
+ In aCC compiled code, the calls through pointers to functions (in the body
+ of the function called by hand) are made via $$dyncall_external which
+ requires some registers setting, this is taken care of if we call
+ via a function pointer variable, but not via a function address.
+ In cc this is not a problem. */
if (using_gcc == 0)
if (param_type)
/* if this parameter is a pointer to function */
if (TYPE_CODE (param_type) == TYPE_CODE_PTR)
if (TYPE_CODE (param_type->target_type) == TYPE_CODE_FUNC)
- /* elz: FIXME here should go the test about the compiler used
- to compile the target. We want to issue the error
- message only if the compiler used was HP's aCC.
- If we used HP's cc, then there is no problem and no need
- to return at this point */
+ /* elz: FIXME here should go the test about the compiler used
+ to compile the target. We want to issue the error
+ message only if the compiler used was HP's aCC.
+ If we used HP's cc, then there is no problem and no need
+ to return at this point */
if (using_gcc == 0) /* && compiler == aCC */
/* go see if the actual parameter is a variable of type
pointer to function or just a function */
int len = TYPE_LENGTH (value_type);
#ifdef STACK_ALIGN
/* MVS 11/22/96: I think at least some of this stack_align code is
- really broken. Better to let PUSH_ARGUMENTS adjust the stack in
- a target-defined manner. */
+ really broken. Better to let PUSH_ARGUMENTS adjust the stack in
+ a target-defined manner. */
len = STACK_ALIGN (len);
#endif
if (INNER_THAN (1, 2))
/* elz: on HPPA no need for this extra alignment, maybe it is needed
on other architectures. This is because all the alignment is taken care
- of in the above code (ifdef REG_STRUCT_HAS_ADDR) and in
+ of in the above code (ifdef REG_STRUCT_HAS_ADDR) and in
hppa_push_arguments */
#ifndef NO_EXTRA_ALIGNMENT_NEEDED
function. Since this doesn't actually involve executing a JSR/BSR
instruction, the return address must be set up by hand, either by
pushing onto the stack or copying into a return-address register
- as appropriate. Formerly this has been done in PUSH_ARGUMENTS,
+ as appropriate. Formerly this has been done in PUSH_ARGUMENTS,
but that's overloading its functionality a bit, so I'm making it
explicit to do it here. */
sp = PUSH_RETURN_ADDRESS (real_pc, sp);
if (!INNER_THAN (1, 2))
{
/* If stack grows up, we must leave a hole at the bottom, note
- that sp already has been advanced for the arguments! */
+ that sp already has been advanced for the arguments! */
if (CALL_DUMMY_STACK_ADJUST_P)
sp += CALL_DUMMY_STACK_ADJUST;
sp = STACK_ALIGN (sp);
it doesn't cost us anything but space and if the function is pcc
it will ignore this value, we will make that assumption.
- Also note that on some machines (like the sparc) pcc uses a
+ Also note that on some machines (like the sparc) pcc uses a
convention like gcc's. */
if (struct_return)
/* We stopped inside the FUNCTION because of a random signal.
Further execution of the FUNCTION is not allowed. */
- if (unwind_on_signal_p)
+ if (unwind_on_signal_p)
{
/* The user wants the context restored. */
- /* We must get back to the frame we were before the dummy call. */
- POP_FRAME;
+ /* We must get back to the frame we were before the dummy call. */
+ POP_FRAME;
/* FIXME: Insert a bunch of wrap_here; name can be very long if it's
a C++ name with arguments and stuff. */
/* Array to pointer is a `trivial conversion' according to the ARM. */
/* We should be doing much hairier argument matching (see section 13.2
- of the ARM), but as a quick kludge, just check for the same type
- code. */
+ of the ARM), but as a quick kludge, just check for the same type
+ code. */
if (TYPE_CODE (t1[i]) != TYPE_CODE (VALUE_TYPE (t2[i])))
return i + 1;
}
{
char *t_field_name = TYPE_FIELD_NAME (type, i);
- if (t_field_name && STREQ (t_field_name, name))
+ if (t_field_name && STREQ_IW (t_field_name, name))
{
value_ptr v;
if (TYPE_FIELD_STATIC (type, i))
if (t_field_name
&& (t_field_name[0] == '\0'
|| (TYPE_CODE (type) == TYPE_CODE_UNION
- && STREQ (t_field_name, "else"))))
+ && STREQ_IW (t_field_name, "else"))))
{
struct type *field_type = TYPE_FIELD_TYPE (type, i);
if (TYPE_CODE (field_type) == TYPE_CODE_UNION
value_ptr v;
struct type *basetype = check_typedef (TYPE_BASECLASS (type, i));
/* If we are looking for baseclasses, this is what we get when we
- hit them. But it could happen that the base part's member name
- is not yet filled in. */
+ hit them. But it could happen that the base part's member name
+ is not yet filled in. */
int found_baseclass = (looking_for_baseclass
&& TYPE_BASECLASS_NAME (type, i) != NULL
- && STREQ (name, TYPE_BASECLASS_NAME (type, i)));
+ && STREQ_IW (name, TYPE_BASECLASS_NAME (type, i)));
if (BASETYPE_VIA_VIRTUAL (type, i))
{
* virtual base entries. Offset is negative -- virtual base entries
* appear _before_ the address point of the virtual table. */
- /* pai: FIXME -- 32x64 problem, if word = 8 bytes, change multiplier
+ /* pai: FIXME -- 32x64 problem, if word = 8 bytes, change multiplier
& use long type */
/* epstein : FIXME -- added param for overlay section. May not be correct */
else if (cplus_demangle_opname (t_field_name, dem_opname, 0))
t_field_name = dem_opname;
}
- if (t_field_name && STREQ (t_field_name, name))
+ if (t_field_name && !strcmp_iw (t_field_name, name))
{
int j = TYPE_FN_FIELDLIST_LENGTH (type, i) - 1;
struct fn_field *f = TYPE_FN_FIELDLIST1 (type, i);
if (TYPE_HAS_VTABLE (type))
{
/* HP aCC compiled type, search for virtual base offset
- according to HP/Taligent runtime spec. */
+ according to HP/Taligent runtime spec. */
int skip;
find_rt_vbase_offset (type, TYPE_BASECLASS (type, i),
VALUE_CONTENTS_ALL (*arg1p),
char *base_valaddr;
/* The virtual base class pointer might have been clobbered by the
- user program. Make sure that it still points to a valid memory
- location. */
+ user program. Make sure that it still points to a valid memory
+ location. */
if (offset < 0 || offset >= TYPE_LENGTH (type))
{
/* if there are no arguments ...do this... */
/* Try as a field first, because if we succeed, there
- is less work to be done. */
+ is less work to be done. */
v = search_struct_field (name, *argp, 0, t, 0);
if (v)
return v;
/* C++: If it was not found as a data field, then try to
- return it as a pointer to a method. */
+ return it as a pointer to a method. */
if (destructor_name_p (name, t))
error ("Cannot get value of destructor");
else if (v == 0)
{
/* See if user tried to invoke data as function. If so,
- hand it back. If it's not callable (i.e., a pointer to function),
- gdb should give an error. */
+ hand it back. If it's not callable (i.e., a pointer to function),
+ gdb should give an error. */
v = search_struct_field (name, *argp, 0, t, 0);
}
{
/* pai: FIXME What about operators and type conversions? */
char *fn_field_name = TYPE_FN_FIELDLIST_NAME (type, i);
- if (fn_field_name && STREQ (fn_field_name, method))
+ if (fn_field_name && STREQ_IW (fn_field_name, method))
{
*num_fns = TYPE_FN_FIELDLIST_LENGTH (type, i);
*basetype = type;
char *obj_type_name = NULL;
char *func_name = NULL;
+ int i,j,len,len2;
+ struct type *domain;
+ struct fn_field *f;
/* Get the list of overloaded methods or functions */
if (method)
{
obj_type_name = TYPE_NAME (VALUE_TYPE (obj));
/* Hack: evaluate_subexp_standard often passes in a pointer
- value rather than the object itself, so try again */
+ value rather than the object itself, so try again */
if ((!obj_type_name || !*obj_type_name) &&
(TYPE_CODE (VALUE_TYPE (obj)) == TYPE_CODE_PTR))
obj_type_name = TYPE_NAME (TYPE_TARGET_TYPE (VALUE_TYPE (obj)));
obj_type_name,
(obj_type_name && *obj_type_name) ? "::" : "",
name);
+ domain=TYPE_DOMAIN_TYPE(fns_ptr[0].type);
+ len = TYPE_NFN_FIELDS (domain);
+ /*This stuff is for STABS, which won't give us the info we need directly in the types.
+ * We have to use the method stub conversion to get it.
+ * Be aware that this is by no means perfect, and if you use
+ * STABS, please move to DWARF-2, or something like it, because
+ * trying to improve overloading using STABS is really a waste
+ * of time.
+ */
+ for (i = 0; i < len; i++)
+ {
+ f = TYPE_FN_FIELDLIST1 (domain, i);
+ len2 = TYPE_FN_FIELDLIST_LENGTH (domain, i);
+
+ for (j = 0; j < len2; j++)
+ {
+ if (TYPE_FN_FIELD_STUB (f, j))
+ check_stub_method (domain, i, j);
+ }
+ }
}
else
{
func_name = cplus_demangle (SYMBOL_NAME (fsym), DMGL_NO_OPTS);
/* If the name is NULL this must be a C-style function.
- Just return the same symbol. */
+ Just return the same symbol. */
if (!func_name)
- {
+ {
*symp = fsym;
- return 0;
- }
+ return 0;
+ }
oload_syms = make_symbol_overload_list (fsym);
while (oload_syms[++i])
/* Consider each candidate in turn */
for (ix = 0; ix < num_fns; ix++)
{
- /* Number of parameters for current candidate */
- nparms = method ? TYPE_NFIELDS (fns_ptr[ix].type)
- : TYPE_NFIELDS (SYMBOL_TYPE (oload_syms[ix]));
+ if (method)
+ {
+ /* For static member functions, we won't have a this pointer, but nothing
+ else seems to handle them right now, so we just pretend ourselves */
+ nparms=0;
+
+ if (TYPE_FN_FIELD_ARGS(fns_ptr,ix))
+ {
+ while (TYPE_CODE(TYPE_FN_FIELD_ARGS(fns_ptr,ix)[nparms]) != TYPE_CODE_VOID)
+ nparms++;
+ }
+ }
+ else
+ {
+ /* If it's not a method, this is the proper place */
+ nparms=TYPE_NFIELDS(SYMBOL_TYPE(oload_syms[ix]));
+ }
/* Prepare array of parameter types */
parm_types = (struct type **) xmalloc (nparms * (sizeof (struct type *)));
for (jj = 0; jj < nparms; jj++)
- parm_types[jj] = method ? TYPE_FIELD_TYPE (fns_ptr[ix].type, jj)
+ parm_types[jj] = method ? (TYPE_FN_FIELD_ARGS(fns_ptr,ix)[jj])
: TYPE_FIELD_TYPE (SYMBOL_TYPE (oload_syms[ix]), jj);
/* Compare parameter types to supplied argument types */
printf ("Overloaded method instance %s, # of parms %d\n", fns_ptr[ix].physname, nparms);
else
printf ("Overloaded function instance %s # of parms %d\n", SYMBOL_DEMANGLED_NAME (oload_syms[ix]), nparms);
- for (jj = 0; jj <= nargs; jj++)
+ for (jj = 0; jj < nargs; jj++)
printf ("...Badness @ %d : %d\n", jj, bv->rank[jj]);
printf ("Overload resolution champion is %d, ambiguous? %d\n", oload_champ, oload_ambiguous);
#endif
} /* end loop over all candidates */
+/* Seems to be a better idea to just pick one if they have the exact same goodness.
+ * This is because there is no way to differentiate based on return type, which we need
+ * to in cases like overloads of .begin() <It's both const and non-const> */
+#if 0
if (oload_ambiguous)
{
if (method)
error ("Cannot resolve overloaded function %s to unique instance; disambiguate by specifying function signature",
func_name);
}
+#endif
/* Check how bad the best match is */
for (ix = 1; ix <= nargs; ix++)
for (i = TYPE_NFIELDS (type) - 1; i >= TYPE_N_BASECLASSES (type); i--)
{
char *t_field_name = TYPE_FIELD_NAME (type, i);
- if (t_field_name && STREQ (t_field_name, name))
+ if (t_field_name && STREQ_IW (t_field_name, name))
return 1;
}
for (i = TYPE_NFN_FIELDS (type) - 1; i >= 0; --i)
{
- if (STREQ (TYPE_FN_FIELDLIST_NAME (type, i), name))
+ if (STREQ_IW (TYPE_FN_FIELDLIST_NAME (type, i), name))
return 1;
}
* USING_ENC is the flag that distinguishes the two cases.
* If it is 1, then the offset is for the enclosing object,
* otherwise for the embedded object.
- *
+ *
* This currently works only for RTTI information generated
* by the HP ANSI C++ compiler (aCC). g++ today (1997-06-10)
* does not appear to support RTTI. This function returns a
}
}
/* We should set the address, bitssize, and bitspos, so the clice
- can be used on the LHS, but that may require extensions to
- value_assign. For now, just leave as a non_lval. FIXME. */
+ can be used on the LHS, but that may require extensions to
+ value_assign. For now, just leave as a non_lval. FIXME. */
}
else
{
return value_slice (value_primitive_field (varray, 0, 1, vtype), 0, length);
}
-/* Create a value for a FORTRAN complex number. Currently most of
- the time values are coerced to COMPLEX*16 (i.e. a complex number
- composed of 2 doubles. This really should be a smarter routine
- that figures out precision inteligently as opposed to assuming
+/* Create a value for a FORTRAN complex number. Currently most of
+ the time values are coerced to COMPLEX*16 (i.e. a complex number
+ composed of 2 doubles. This really should be a smarter routine
+ that figures out precision inteligently as opposed to assuming
doubles. FIXME: fmb */
value_ptr