aboutsummaryrefslogtreecommitdiff
path: root/gdb/inftarg.c
AgeCommit message (Collapse)AuthorFilesLines
2003-02-072003-02-06 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-2/+1
* Makefile.in (inflow_h): Define. (procfs.o, inflow.o, procfs.o): Update dependencies. * inftarg.c (child_stop): Delete extern declaration of inferior_process_group. Include "inflow.h". * procfs.c (procfs_stop): Ditto. Include "inflow.h". * inflow.c (PROCESS_GROUP_TYPE): Move definitions from here ... * inflow.h (PROCESS_GROUP_TYPE): ... to here. New file. (our_process_group, inferior_process_group): Extern declarations.
2003-01-142003-01-13 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-3/+4
* ax-gdb.c, c-valprint.c, charset.c, corefile.c: Update copyright. * demangle.c, disasm.c, dwarf2cfi.c, dwarfread.c: Update copyright. * elfread.c, eval.c, expprint.c, expression.h: Update copyright. * f-typeprint.c, findvar.c, gcore.c, gdb_mbuild.sh: Update copyright. * gdbtypes.h, gnu-v2-abi.c, inferior.h, inftarg.c: Update copyright. * language.c, language.h, m32r-tdep.c: Update copyright. * mn10200-tdep.c, scm-lang.c, scm-lang.h: Update copyright. * somsolib.c, somsolib.h, symfile.c, symtab.h: Update copyright. * thread-db.c, typeprint.c, utils.c, valarith.c: Update copyright. * values.c, win32-nat.c, x86-64-linux-nat.c: Update copyright. * x86-64-linux-tdep.c, z8k-tdep.c: Update copyright. * cli/cli-decode.h, config/h8500/tm-h8500.h: Update copyright. Index: mi/ChangeLog 2003-01-13 Andrew Cagney <ac131313@redhat.com> * mi-cmd-env.c: Update copyright.
2003-01-092003-01-09 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-1/+2
* somsolib.h: Fix function indentation. * disasm.c, buildsym.c, buildsym.h: Eliminate PTR. * gnu-v2-abi.c, f-typeprint.c, x86-64-linux-tdep.c: Eliminate STREQ. * demangle.c, ax-gdb.c, c-valprint.c: Eliminate STREQ. * alpha-osf1-tdep.c, corefile.c: Eliminate STREQ. * somsolib.c, inftarg.c: Remove assignment in if conditional.
2002-12-12 * corelow.c (init_core_ops): Delete references to to_require_attachDaniel Jacobowitz1-67/+20
and to_require_detach. * exec.c (init_exec_ops): Likewise. * hppah-nat.c (child_follow_fork): Call hppa_require_attach and hppa_require_detach directly. * inferior.h (REQUIRE_ATTACH, REQUIRE_DETACH): Delete. * inftarg.c (child_detach): Remove. (child_detach_from_process): Rename to child_detach, remove after_fork argument. (child_attach): Remove. (child_attach_to_process): Rename to child_attach, remove after_fork argument. (init_child_ops): Delete references to to_require_attach and to_require_detach. * infttrace.c (hppa_require_attach): Update comment. * target.c (cleanup_target, update_current_target) (init_dummy_target, setup_target_debug): Delete references to to_require_attach and to_require_detach. (find_default_require_detach, find_default_require_attach) (debug_to_require_attach, debug_to_require_detach): Remove functions. * target.h (struct target_ops): Remove to_require_attach and to_require_detach. (target_require_attach, target_require_detach): Delete macros. (find_default_require_detach, find_default_require_attach): Delete prototypes. * config/pa/nm-hppah.h (REQUIRE_ATTACH, REQUIRE_DETACH): Delete.
2002-12-11 * config/pa/nm-hppah.h (CHILD_POST_FOLLOW_VFORK): Change toDaniel Jacobowitz1-8/+6
CHILD_FOLLOW_FORK. * hppah-nat.c (saved_vfork_pid): Add. (child_post_follow_vfork): Remove. (child_follow_fork): New function. (child_wait): Call detach_breakpoints after receiving the child vfork. Call child_resume directly instead of going through resume (). Make sure we have the exec before reporting the vfork. * inferior.h (follow_inferior_reset_breakpoints): Add prototype. * infrun.c (follow_fork, follow_vfork, follow_inferior_fork): Remove. (follow_fork): New function. Call target_follow_fork. (follow_inferior_reset_breakpoints): New function broken out from old follow_inferior_fork. (resume): Remove hack to follow exec after vfork. * inftarg.c (child_post_follow_vfork): Remove. (child_follow_fork): New function. (init_child_ops): Replace to_post_follow_vfork with to_follow_fork. * target.c (cleanup_target): Replace to_post_follow_vfork with to_follow_fork. (update_current_target): Likewise. (setup_target_debug): Likewise. (debug_to_post_follow_vfork): Remove. (debug_to_follow_fork): New function. * target.h (struct target_ops): Replace to_post_folow_vfork with to_follow_fork. (child_post_follow_vfork): Remove prototype. (child_follow_fork): Add prototype. (target_post_follow_vfork): Remove macro. (target_follow_fork): Add macro. testsuite/ * gdb.base/foll-vfork.exp: Re-enable test on HP/UX.
2002-11-16 * config/pa/nm-hppah.h (CHILD_POST_FOLLOW_INFERIOR_BY_CLONE): Don'tDaniel Jacobowitz1-23/+0
define. (struct target_waitstatus): Add opaque definition. * corelow.c (init_core_ops): Don't set to_clone_and_follow_inferior. * exec.c (init_exec_ops): Likewise. * fork-child.c (clone_and_follow_inferior): Remove. * hppah-nat.c (child_post_follow_inferior_by_clone): Remove. * inferior.h (clone_and_follow_inferior): Remove prototype. * infrun.c (follow_fork_mode_both): Remove. (follow_fork_mode_kind_names): Remove commented out "both". (follow_inferior_fork): Remove follow_fork_mode_both support. * inftarg.c (child_clone_and_follow_inferior): Remove. (child_post_follow_inferior_by_clone): Remove. (init_child_ops): Don't set to_clone_and_follow_inferior or to_post_follow_inferior_by_clone. * target.c (default_clone_and_follow_inferior): Remove. (cleanup_target): Don't set to_clone_and_follow_inferior or to_post_follow_inferior_by_clone. (find_default_clone_and_follow_inferior): Remove. (init_dummy_target): Don't set to_clone_and_follow_inferior. (debug_to_clone_and_follow_inferior): Remove. (debug_to_post_follow_inferior_by_clone): Remove. (setup_target_debug): Don't set to_clone_and_follow_inferior or to_post_follow_inferior_by_clone. * target.h (struct target_ops): Remove to_clone_and_follow_inferior and to_post_follow_inferior_by_clone. (child_clone_and_follow_inferior): Remove prototype. (child_post_follow_inferior_by_clone): Remove prototype. (target_clone_and_follow_inferior): Remove macro. (target_post_follow_inferior_by_clone): Remove macro. (find_default_clone_and_follow_inferior): Remove prototype.
2002-11-16 * breakpoint.c (bpstat_stop_status): Call inferior_has_forked,Daniel Jacobowitz1-111/+1
inferior_has_vforked, and inferior_has_execd instead of target_has_forked, target_has_vforked, and target_has_execd. * config/pa/nm-hppah.h (CHILD_HAS_FORKED, CHILD_HAS_VFORKED) (CHILD_HAS_EXECD, CHILD_HAS_SYSCALL_EVENT): Don't define. (CHILD_WAIT): Define. (child_wait): Add prototype. * hppah-nat.c (hpux_has_forked): Rename from child_has_forked. Add prototype. (hpux_has_vforked): Likewise, from child_has_vforked. (hpux_has_execd): Likewise, from child_has_execd. (hpux_has_syscall_event): Likewise, from child_has_syscall_event. (not_same_real_pid, child_wait): New, copied from inftarg.c. Call hpux_has_forked, hpux_has_vforked, hpux_has_execd, and hpux_has_syscall_event instead of the target hooks. * infrun.c (inferior_has_forked, inferior_has_vforked) (inferior_has_execd): New functions. * inftarg.c (not_same_real_pid): Remove. (child_wait): Remove references to not_same_real_pid, target_has_forked, target_has_vforked, target_has_execd, and target_has_syscall_event. (child_has_forked, child_has_vforked, child_has_execd) (child_has_syscall_event): Remove. (init_child_ops): Remove references to child_has_forked, child_has_vforked, child_has_execd, and child_has_syscall_event. * infttrace.c (hpux_has_forked): Rename from child_has_forked. (hpux_has_vforked): Likewise, from child_has_vforked. (hpux_has_execd): Likewise, from child_has_execd. (hpux_has_syscall_event): Likewise, from child_has_syscall_event. * target.c (cleanup_target): Remove references to to_has_forked, to_has_vforked, to_has_execd, and to_has_syscall_event. (update_current_target): Likewise. (setup_target_debug): Likewise. (debug_to_has_forked): Remove. (debug_to_has_vforked): Remove. (debug_to_has_execd): Remove. (debug_to_has_syscall_event): Remove. * target.h (struct target_ops): Remove to_has_forked. to_has_vforked, to_has_execd, and to_has_syscall_event. (child_has_forked, child_has_vforked, child_has_execd) (child_has_syscall_event): Remove prototypes. (inferior_has_forked, inferior_has_vforked, inferior_has_execd): Add prototypes. (target_has_forked, target_has_vforked, target_has_execd) (target_has_syscall_event): Remove macros.
2002-11-16 * hppah-nat.c (child_can_follow_vfork_prior_to_exec): Remove.Daniel Jacobowitz1-14/+0
* inftarg.c (child_can_follow_vfork_prior_to_exec): Remove. (init_child_ops): Don't initialize to_can_follow_vfork_prior_to_exec. * infttrace.c (child_can_follow_vfork_prior_to_exec): Remove. * target.c (cleanup_target): Remove reference to to_can_follow_vfork_prior_to_exec. (update_current_target): Likewise. (debug_to_can_follow_vfork_prior_to_exec): Remove. (setup_target_debug): Remove reference to to_can_follow_vfork_prior_to_exec. * target.h (struct target_ops): Remove to_can_follow_vfork_prior_to_exec. (child_can_follow_vfork_prior_to_exec): Remove prototype. (target_can_follow_vfork_prior_to_exec): Remove definition. * config/pa/nm-hppah.h (CHILD_CAN_FOLLOW_VFORK_PRIOR_TO_EXEC): Don't define. * infrun.c (follow_vfork_when_exec): Remove. (follow_inferior_fork): Remove references to follow_vfork_when_exec. (follow_exec): Likewise. (handle_inferior_event): Likewise. (keep_going): Likewise.
2002-08-26 Fix PR gdb/393:Stephane Carrez1-0/+1
* inflow.c (terminal_save_ours): New function to save terminal settings. * inferior.h (terminal_save_ours): Declare. * target.c (debug_to_terminal_save_ours): New function. (cleanup_target): Defaults to_terminal_save_ours. (update_current_target): Inherit to_terminal_save_ours. (setup_target_debug): Set to_terminal_save_ours. * target.h (target_terminal_save_ours): New to save terminal settings. (target_ops): New member to_terminal_save_ours. * gnu-nat.c (init_gnu_ops): Set to_terminal_save_ours. * hpux-thread.c (init_hpux_thread_ops): Likewise. * inftarg.c (init_child_ops): Likewise. * m3-nat.c (init_m3_ops): Likewise. * procfs.c (init_procfs_ops): Likewise. * wince.c (init_child_ops): Likewise. * win32-nat.c (init_child_ops): Likewise. * sol-thread.c (init_sol_thread_ops): Likewise.
2002-01-092002-01-03 Michael Snyder <msnyder@redhat.com>Michael Snyder1-1/+20
Implement a "generate-core-file" command in gdb, save target state. * gcore.c: New file. Implement new command 'generate-core-file'. Save a corefile image of the current state of the inferior. * linux-proc.c: Add linux-specific code for saving corefiles. * target.h (struct target_ops): Add new target vectors for saving corefiles; to_find_memory_regions and to_make_corefile_notes. (target_find_memory_regions): New macro. (target_make_corefile_notes): New macro. * target.c (update_current_target): Inherit new target methods. (dummy_find_memory_regions): New place-holder method. (dummy_make_corefile_notes): New place-holder method. (init_dummy_target): Initialize new dummy target vectors. * exec.c (exec_set_find_memory_regions): New function. Allow the exec_ops vector for memory regions to be taken over. (exec_make_note_section): New function, target vector method. * defs.h (exec_set_find_memory_regions): Export prototype. * procfs.c (proc_find_memory_regions): New function, corefile method. (procfs_make_note_section): New function, corefile method. (init_procfs_ops): Set new target vector pointers. (find_memory_regions_callback): New function. (procfs_do_thread_registers): New function. (procfs_corefile_thread_callback): New function. * sol-thread.c (sol_find_memory_regions): New function. (sol_make_note_section): New function. (init_sol_thread_ops): Initialize new target vectors. * inftarg.c (inftarg_set_find_memory_regions): New function. Allow to_find_memory_regions vector to be taken over. (inftarg_set_make_corefile_notes): New function. Allow to_make_corefile_notes vector to be taken over. * thread-db.c (thread_db_new_objfile): Don't activate thread-db interface layer if not target_has_execution (may be a corefile). * config/i386/linux.mh: Add gcore.o to NATDEPFILES. * config/sparc/sun4sol2.mh: Ditto. * config/alpha/alpha-linux.mh: Ditto. * config/arm/linux.mh: Ditto. * config/i386/x86-64linux.mh: Ditto. * config/ia64/linux.mh: Ditto. * config/m68k/linux.mh: Ditto. * config/mips/linux.mh: Ditto. * config/powerpc/linux.mh: Ditto. * config/sparc/linux.mh: Ditto.
2001-05-04Phase 1 of the ptid_t changes.Kevin Buettner1-34/+40
2001-04-14* target.h (target_ops): Removed to_core_file_to_sym_file vectorJ.T. Conklin1-1/+0
function. * corelow.c (core_ops): Updated for above change. * gnu-nat.c (core_ops): Likewise. * inftarg.c (child_ops): Likewise. * monitor.c (monitor_ops): Likewise. * ppc-bdm.c (bdm_ppc_ops): Likewise. * remote-adapt.c (adapt_ops): Likewise. * remote-bug.c (bug_ops): Likewise. * remote-e7000.c (e7000_ops): Likewise. * remote-eb.c (eb_ops): Likewise. * remote-es.c (es1800_ops, es1800_child_ops): Likewise. * remote-mm.c (mm_ops): Likewise. * remote-nindy.c (nindy_ops): Likewise. * remote-nrom.c (nrom_ops): Likewise. * remote-os9k.c (rombug_ops): Likewise. * remote-rdp.c (remote_rdp_ops): Likewise. * remote-sim.c (gdbsim_ops): Likewise. * remote-st.c (st2000_ops): Likewise. * v850ice.c (v850ice_ops): Likewise. * target.c (cleanup_target): Likewise (update_current_target): Likewise. (setup_target_debug): Likewise (debug_to_core_file_to_sym_file): Removed. * corefile.c (core_file_command) [HPUXHPPA]: Removed code that sets symbol file from information obtained from the core file. * corelow.c (core_file_to_sym_file): Removed.
2001-03-06Update/correct copyright notices.Kevin Buettner1-1/+2
2000-07-30Protoization.Kevin Buettner1-104/+45
2000-05-28PARAMS removal.Kevin Buettner1-40/+26
2000-02-09Replace ../include/wait.h with gdb_wait.h.Andrew Cagney1-10/+1
1999-12-22import gdb-1999-12-21 snapshotJason Molenda1-0/+9
1999-10-05import gdb-1999-10-04 snapshotJason Molenda1-1/+1
1999-08-31import gdb-1999-08-30 snapshotJason Molenda1-3/+0
1999-07-07import gdb-1999-07-07 post reformatJason Molenda1-179/+182
1999-06-07import gdb-1999-06-07 snapshotJason Molenda1-60/+0
1999-05-25import gdb-1999-05-25 snapshotJason Molenda1-4/+0
1999-04-26import gdb-19990422 snapshotStan Shebs1-1/+1
1999-04-16Initial creation of sourceware repositorygdb-4_18-branchpointStan Shebs1-0/+968
1999-04-16Initial creation of sourceware repositoryStan Shebs1-982/+0
1999-01-12Tue Jan 12 16:54:37 1999 Edith Epstein <eepstein@sophia.cygnus.com>Edith Epstein1-1/+1
* gdb.texinfo (Shell Commands): fixed messages about shell usage. HP was insisting on C shell. Now all UNIX platforms have the same message. removed @ifset HPPA and @ifclear HPPA Tue Jan 12 17:00:00 1999 Edith Epstein <eepstein@sophia.cygnus.com> * inftarg.c (child_create_inferior): fixed HPUXHPPA specific call to fork_inferior. The shell param is now NULL.
1999-01-04change <sys/unistd.h> to <unistd.h> and conditionalize its inclusion.David Taylor1-1/+3
1998-12-31all remaining *.c *.h files from hp merge.David Taylor1-75/+608
1998-12-28hp merge changes -- too numerous to mention here; see ChangeLog andDavid Taylor1-14/+134
ChangeLog-gdbtk for details.
1994-05-20 * target.c, target.h: New variables target_activity_function andJim Kingdon1-328/+8
target_activity_fd. * inflow.c, inferior.h: New functions set_sigio_trap and clear_sigio_trap. * inftarg.c (child_wait), procfs.c (wait_fd): Call them.
1994-01-04 * target.h: Add enum target_waitkind, enum target_signal, andJim Kingdon1-14/+346
struct target_waitstatus. Change status argument to target_wait to be struct target_waitstatus * instead of int *. * target.h, infrun.c, all targets: Change type of signal arguments to resume(), proceed(), and target_resume() from int to enum target_signal. * All targets (*_wait, *_resume): Change accordingly. * infcmd.c (program_info, signal_command), throughout infrun.c, * fork-child.c, solib.c, hppa-tdep.c, osfsolib.c: Use this stuff. * convex-xdep.c, convex-tdep.c: Add FIXME's (getting the Convex signal code stuff right with the new signals would be non-trivial). * inferior.h (stop_signal): Make it enum target_signal not int. * target.c, target.h (target_signal_to_string, target_signal_to_name, target_signal_from_name): New functions. * inftarg.c, target.h (target_signal_to_host, target_signal_from_host, store_waitstatus): New functions. * procfs.c (procfs_notice_signals): Use them. * i960-tdep.c (i960_fault_to_signal): New function, to replace print_fault. * config/i960/tm-i960.h: Don't define PRINT_RANDOM_SIGNAL.
1993-10-21 * Makefile.in (c-exp.tab.o): Remove notice about shift/reduce conflictsJim Kingdon1-38/+43
which no longer occur. gcc -Wall lint: * findvar.c (symbol_read_needs_frame), corelow.c (ignore), inflow.c (gdb_has_a_terminal): Make sure to return a value. * regex.h: Declare re_set_syntax. * printcmd.c: Include valprint.h. * infcmd.c, exec.c, maint.c, core.c: Include language.h. * maint.c: Include expression.h. * infrun.c, fork-child.c, corelow.c, inflow.c: Include thread.h. * inftarg.c: Include command.h. * coredep.c: Include value.h. * c-exp.y, m2-exp.y, ch-exp.y: Include bfd.h, symfile.h and objfiles.h. * ch-typeprint.c: Include typeprint.h. * ch-valprint.c: Include c-lang.h. * nlmread.c: Include buildsym.h. * environ.c: Include gdbcore.h. Only include defs.h once. (set_in_environ): Cast const char * to char * when passing to set_gnutarget. Remove unused variables: * printcmd.c (printf_command): args_to_vprintf. * coffread.c (coff_symfile_init): strsection. Move variables to within the #ifdefs where they are used: * symtab.c (gdb_mangle_name): opname. * inftarg.c (child_attach): pid and exec_file. * inftarg.c (child_detach): siggnal. * objfiles.c (allocate_objfile): mapto, md, and fd. * objfiles.c (free_objfile): mmfd. * infrun.c (wait_for_inferior): Include BPSTAT_WHAT_LAST in switch. * infrun.c (wait_for_inferior): Remove unused same_pid label. * inferior.h: Declare set_sigint_trap and clear_sigint_trap. * parser-defs.h: Declare write_exp_elt_block. * stabsread.h: Declare elfstab_offset_sections and coffstab_build_psymtabs.
1993-10-16* breakpoint.c (breakpoint_thread_match break_command_1):Stu Grossman1-231/+57
Thread-specific breakpoint support. * breakpoint.h (struct breakpoint): Add thread id field. * fork-child.c (fork_inferior): Move call to init_thread_list() back a bit so that init_trace_fun can do thread functions. * hppa-tdep.c (restore_pc_queue): Add pid to call to target_wait. * hppab-nat.c (child_resume): Handle default pid. * hppah-nat.c (child_resume): Handle default pid. * i386lynx-nat.c (child_wait): New arg pid. * inflow.c (kill_command): Reset thread list. * infptrace.c (child_resume): Handle default pid. * infrun.c: Thread-specific breakpoint support. * inftarg.c (child_wait): Add pid arg. * osfsolib.c (solib_create_inferior_hook): Add pid to call to target_resume. * procfs.c: Multi-thread support. * remote-bug.c (bug_wait): Add pid arg. * remote-hms.c (hms_wait): Add pid arg. * remote-mips.c (mips_wait): Add pid arg. * remote-mon.c (monitor_wait): Add pid arg. * remote-nindy.c (nindy_wait): Add pid arg. * remote-sim.c (gdbsim_wait): Add pid arg. * remote-udi.c (udi_wait): Add pid arg. * remote-vx.c (vx_wait): Add pid arg. * remote-z8k.c (sim_wait): Add pid arg. * remote.c (remote_wait): Add pid arg. * solib.c (solib_create_inferior_hook): Add pid to call to target_resume. * target.h (struct target_ops): Add pid arg to to_wait and to_notice_signals. * thread.c (valid_thread_id): New func to validate thread #s. * (pid_to_thread_id): New func to do the obvious. * thread.h: Prototypes for above. * coff-solib.c (coff_solib_add): Use nameoffset field to locate filename.
1992-09-26Split non-target-dependent code out of target_attach routines.John Gilmore1-24/+1
* target.h: Comments on target_attach args and results. * infcmd.c (attach_command): Check for existing execution, call target_attach, set up terminal status and wait_for_inferior, wait for the attach status, and do normal_stop. * inftarg.c (child_attach): Remove target independent stuff. * remote-adapt.c (adapt_attach): Ditto. * remote-mm.c (mm_attach): Ditto. * remote-udi.c (udi_attach): Ditto. * remote-vx.c (vx_attach): Ditto. Cleanup. * remote-hms.c (hms_attach): Remove completely, it was useless. * remote-mm.c, remote-hms.c, remote-udi.c, remote-adapt.c: Remove commented-out start_remote calls. * remote-hms.c, remote-adapt.c, remote-mm.c, remote-udi.c: Remove DENTER and DEXIT macros and their calls. Use a real debugger -- like gdb -- to see what functions are being called when.
1992-09-26* infrun.c, inftarg.c, inferior.h: Comment and lint cleanups.John Gilmore1-13/+13
1992-09-25 * inftarg.c (child_create_inferior, child_attach,K. Richard Pixley1-3/+321
child_mourn_inferior): collect unix child process stratum functions which live below the target vector into this file to facilitate host/target/native split. Also, make them static. * inflow.c (child_mourn_inferior): removed. * infrun.c (child_create_inferior, child_attach): removed. (resume): becomes global so that functions below the target vector can find it. * inferior.h (resume): add prototype. (child_mourn_inferior, child_create_inferior, child_attach): remove prototypes.
1992-09-18* target.h (struct target_ops): removed to_convert_to_virtual andJohn Gilmore1-70/+64
to_convert_from_virtual elements. Initializations removed from all static initializations. (target_convert_to_virtual, target_convert_from_virtual): removed. (host_convert_to_virtual, host_convert_from_virtual): Removed forward declarations. * target.c (cleanup_target): removed default assignments for to_convert_to_virtual and to_convert_from_virtual. * inftarg.c (host_convert_to_virtual, host_convert_from_virtual): removed. * findvar.c (value_of_register, value_from_register): target_convert_to_virtual inlined. * infcmd.c (do_registers_info): target_convert_to_virtual inlined. * valops.c (value_assign): target_convert_from_virtual inlined.
1991-05-02The list of changes is too long to fit in the cvs log (since it truncates!).Jim Kingdon1-0/+4
Look at the ChangeLog for Apr 30 and May 1.
1991-04-19 * inftarg.c (child_open), remote-vx{,.68}.c (vx_proc_open):Jim Kingdon1-1/+10
New function to give correct error message.
1991-03-28Initial revisionK. Richard Pixley1-0/+182