evaluate subscripts for types which cannot be subscripted.
* valarith.c (value_x_binop, value_x_unop): Add noside parameter.
Return a zero value with the return type of the member function
if noside is EVAL_AVOID_SIDE_EFFECTS instead of calling the member
function.
* values.h (value_x_binop, value_x_unop): Update prototypes
accordingly.
* eval.c (evaluate_subexp_standard): Update all callers of
value_x_binop, value_x_unop accordingly.
* valarith.c (value_neg, value_complement): Perform ANSI C/C++
integral promotion on operands.
* configure.in (AC_CHECK_FUNCS): Also check for sbrk.
* configure: Regenerate with autoconf.
* config.in: Regenerate with autoheader.
* main.c (main): Only use sbrk() when HAVE_SBRK is defined.
* top.c (command_loop): Ditto.
defaults for bi-endian targets. Replace function pointers for
floatformat routines with macros. No need for these to be runtime
selectable.
* findvar.c: Get rid of floatformat function pointers. Use
macros in extract_floating and store_floating.
* remote-nindy.c (nindy_fetch_registers nindy_store_registers):
Use floatformat macros.
* configure.in (AC_CHECK_HEADERS): check for endian.h.
Use AC_CHECK_TOOL to find AR & RANLIB. Add AC_PROG_AWK.
Add host & target cases for i[345]86-*-gnu*.
* config.in: Regenerate with autoheader.
* configure: Regenerate with autoconf.
* Makefile.in (AR, AWK): Set from corresponding autoconf substs.
(init.c): Don't scan mig-generated files.
* defs.h (endian.h): Include if HAVE_ENDIAN_H defined.
* config/nm-m3.h (ATTACH_NO_WAIT): Define.
* infcmd.c (attach_command): Use "#ifndef ATTACH_NO_WAIT"
rather than "#ifndef MACH".
* (dcache_peek dcache_fetch dcache_poke): Make dcache_fetch and
dcache_poke call dcache_xfer_memory directly in order to fix
problems with turning off dcache. dcache_peek is now unnecessary,
so it goes away.
* defs.h: Define new macros HOST_{FLOAT DOUBLE LONG_DOUBLE}_FORMAT
and TARGET_{FLOAT DOUBLE LONG_DOUBLE}_FORMAT to specify a pointer
to a struct floatformat. This allows for better handling of
targets whose floating point formats differ from the host by more
than just byte order.
* (floatformat_to_long_double floatformat_from_long_double):
Prototypes for new functions in utils.c.
* (floatformat_to_doublest floatformat_from_doublest): Prototypes
for pointers to floating point conversion functions. The actual
function uses either double or long double if the host supports it.
* findvar.c (floatformat_to_doublest floatformat_from_doublest):
Initialize to point at correct function depending on HAVE_LONG_DOUBLE.
* (extract_floating store_floating): Rewrite. Now, if host fp
format is the same as the target, we just do a copy. Otherwise,
we call floatformat_{to from}_doublest.
* remote-nindy.c (nindy_xfer_inferior_memory): Change param
`write' to `should_write'.
* utils.c (floatformat_to_long_double
floatformat_from_long_double): New routines that implement long
double versions of functions in libiberty/floatformat.c.
* config/i960/tm-i960.h (TARGET_LONG_DOUBLE_FORMAT): Define this for
i960 extended real (80 bit) numbers.
* nindy-share/nindy.c (ninMemGet ninMemPut): Return number of bytes
actually read or written.
(calculate_array_length): Move function from here ...
* ch-exp.c (calculate_array_length): ... to here.
(parse_primval): If we have a symbol with an array type
and the length is 0, call calculate_array_length.
Add some checks for powerset compatibility.
* valops.c (value_slice): Use lowbound instead of lowerbound for
call to slice_range_type to get correct bounds.
dependencies.
* scm-lang.c (gdb_string.h): Include.
* objfiles.c (add_to_objfile_sections): Cast second arg of obstack_grow
call to correct type (char *).
* cp-valprint.c (cp_print_static_field): Ditto.
* somsolib.c (som_solib_create_inferior_hook): Add a declaration
for external find_unwind_entry function (from hppa-tdep.c).
* remote-pa.c (remote_write_bytes, remote_read_bytes): Change
type of second arg to "char *" to be type compatible with
dcache.
(remote_wait): Cast second arg to strtol to correct type.
* hppa-tdep.c (compare_unwind_entries): Change argument types to
"const void *" to be type compatible with qsort, and then
assign to local args prior to use.
* configure: Regenerate.
From: Robert Lipe <robertl@dgii.com>
Add support for SCO OpenServer 5 (a.k.a. 3.2v5*) This
target is an SVR3.2 with COFF, ELF, and shared libes, but
no /proc.
* config/i386/i386sco5.mh: New file.
* config/i386/nm-i386sco5.h: New file.
(add_psymbol_to_list): Add an arg for passing CORE_ADDR values and
use it, rather than calling add_psymbol_addr_to_list.
(add_psymbol_addr_to_list): Delete.
(add_psymbol_to_list): Make psymbol static to avoid random data in
gaps due to alignment of structure members.
* symfile.h (INLINE_ADD_PSYMBOL, ADD_PSYMBOL_TO_LIST,
ADD_PSYMBOL_ADDR_TO_LIST): Remove. Real world tests show no
performance improvements by inlining via complicated macros and
they just make gdb larger and harder to maintain.
* dwarfread.c (add_enum_psymbol): Replace ADD_PSYMBOL_TO_LIST
and/or ADD_PSYMBOL_ADDR_TO_LIST macro(s) with call to
add_psymbol_to_list with appropriate long or CORE_ADDR args.
(add_partial_symbol): Ditto.
* partial-stab.h: Ditto.
* os9kread.c (read_os9k_psymtab): Ditto
* mdebugread.c (parse_partial_symbols): Ditto.
(handle_psymbol_enumerators): Ditto.
(demangle.h): Include.
* hpread.c (hpread_build_psymtabs): Ditto.
(hpread_build_psymtabs): Ditto.
(demangle.h): Include
(gdb_cmd): Test it before executing any command.
(gdbtk_call_command): Set it when inferior is running.
* gdbtk.tcl (gdbtk_tcl_busy, gdbtk_tcl_idle): Enable and
disable interaction with command window's text appropriately.
* config.in: Regenerate with autoheader.
* configure: Regenerate with autoconf.
* inflow.c (_initialize_inflow): Only try to use _SC_JOB_CONTROL
if it is actually defined.
(gdb_setpgid): Use HAVE_SETPGID.
* ch-exp.c: Change include of <string.h> to "gdb_string.h".
* c-exp.y: Ditto.
* f-exp.y: Ditto.
* m2-exp.y: Ditto.
* c-exp.y: Include <ctype.h>.
* serial.c: Ditto.
* config/m68k/nm-news.h: Add typedef for pid_t which is
apparently missing from <sys/types.h>. Enclose entire
file in NM_NEWS_H ifndef and define when included.
* config/mips/nm-news-mips.h: Ditto.
* config/m68k/tm-m68k.h (REGISTER_CONVERT_TO_VIRTUAL,
REGISTER_CONVERT_TO_RAW): Change name of temporary variable.
long doubles or not and define PRINTF_HAS_LONG_DOUBLE if so.
* acconfig.h: Provide default undef for PRINTF_HAS_LONG_DOUBLE.
* configure: Regenerate.
* valprint.c (print_floating): Use PRINTF_HAS_LONG_DOUBLE.
* c-exp.y (parse_number): Use PRINTF_HAS_LONG_DOUBLE.
* configure.in: Fix have_gregset and have_fpregset autoconf
variable names so that they match the pattern required to
cache them.
before testing against reg_ptr.
* eval.c (evaluate_subexp_standard): Cast type of
TYPE_FN_FIELD_VOFFSET to int.
* findvar.c (extract_signed_integer, extract_unsigned_integer,
extract_long_unsigned_integer): Cast type of sizeof to int.
* values.c (unpack_field_as_long, modify_field): Ditto.
* valops.c (value_assign, call_function_by_hand): Ditto.
* infcmd.c (do_registers_info): Ditto.
* ser-tcp.c (tcp_open): Ditto
* remote.c (putpkt): Ditto.
* dcache.c (dcache_peek): Ditto.
* dcache.c (dcache_poke): Ditto.
* m2-exp.y (yylex): Ditto.
* gnu-regex.c (re_match_2): Ditto.
* f-lang.c (ADD_BF_SYMNUM, saved_bf_list_end, tmp_bf_ptr): Ifdef
out unused macro definition and variables.
* inftarg.c (proc_wait): Move from main.c to here, and make static.
* valprint.c (val_print_string): Change bufsize from int to unsigned.
* main.c (wait.h): Include
* top.c (command_line_input): Remove unused variable "c".
* f-typeprint.c (f_type_print_varspec_prefix): Add missing enum
value TYPE_CODE_TYPEDEF to switch statement.
(f_type_print_varspec_suffix): Add missing enum value
TYPE_CODE_TYPEDEF to switch statement.
* ch-exp.c (parse_primval): Add remaining enumeration values to
switch statement, with no specific action.
(ch_lex): Add LOC_UNRESOLVED in switch statement.
(pushback_token): Ifdef out, since code using it is ifdef'd out.
* stabsread.c (cleanup_undefined_types): Remove unused label
"badtype".
* objfiles.h (print_symbol_bcache_statistics): Add prototype.
* maint.c (objfiles.h): Include.
(maintenance_print_statistics): Remove unused variable "temp".
* minsyms.c (lookup_minimal_symbol_solib_trampoline): Remove
unused variable "found_file_symbol".
* m2-exp.y (yylex): Add LOC_UNRESOLVED case to switch.
* language.c (lang_bool_type): Use existing function local type
variable rather than create block local variables.
* solib.c (disable_break): Enclose in ifndef SVR4_SHARED_LIBS.
* infptrace.c (wait.h, command.h): Include.
* ser-tcp.c (gdb_string.h): Include
* i386-tdep.c (codestream_seek): Change "place" to CORE_ADDR.
(i386_get_frame_setup): Change "pc" from int to CORE_ADDR.
* command.c (complete_on_enum): Make assignment used as truth value
explictly check against NULL.
(wait.h): Include.
* infrun.c (wait_for_inferior): Ifdef out prologue_pc since code
that uses it is ifdef'd out.
* parser-defs.h: Add prototype for write_dollar_variable.
* infrun.c: Add prototype for write_pc_pid.
* breakpoint.h: Add prototype for re_enable_breakpoints_in_shlibs.
* symmisc.c (bcache.h): Include.
* bcache.h: Add prototype for print_bcache_statistics.
* symfile.c: Include <time.h>.
* printcmd.c (print_scalar_formatted): Change len to unsigned int.
* valarith.c (value_equal): Cast result of TYPE_LENGTH to int.
* valarith.c (value_binop): Change result_len, promoted_len1,
and promoted_len2 to unsigned int.
* valarith.c (value_subscripted_rvalue): Change elt_offs and
elt_size to unsigned int.
* valops.c (value_array): Change typelength to unsigned int.
(destructor_name_p): Change len to unsigned int.
* scm-lang.h (scm_parse): Add prototype for scm_unpack.
* symfile.c (decrement_reading_symtab): Change return type to void.
* valarith.c (value_subscript): Remove unused variable "word".
(value_subscript): Remove unused variable "tint".
* valops.c (auto_abandon): Ifdef out, since code using it is also
ifdef'd out.
* eval.c (init_array_element): Remove unused variable "val".
* Makefile.in (values.o): Depends on scm-lang.h.
(command.o): Depends upon wait_h.
(ser-tcp.o): Depends upon gdb_string.h.
(infptrace.o): Depends upon wait_h and command_h.
(maint.o): Depends on objfiles.h and symfile.h.
* values.c (allocate_repeat_value): Remove unused variable
"element_type".
(scm-lang.h): Include.
* breakpoint.c (create_longjmp_breakpoint): Enclose in
GET_LONGJMP_TARGET define, unused otherwise.
* config/i386/nm-linux.h: Add prototypes for i386_insert_watchpoint,
i386_remove_watchpoint and i386_stopped_by_watchpoint.
* breakpoint.c (breakpoint_re_set_one): Keep temporary
breakpoints bp_until, bp_finish, bp_watchpoint_cope, bp_call_dummy
and bp_step_resume in case breakpoint_re_set_one is called due
to a step over a dlopen call.
* infrun.c (wait_for_inferior): Always remove breakpoints from
inferior in BPSTAT_WHAT_CHECK_SHLIBS case.
assumption that an int can hold a char *.
* bcache.h (struct hashlink): Wrap data[] inside union with
double to force longest alignment.
(BCACHE_DATA): New macro to access data[].
(BCACHE_ALIGNMENT): New macro to get offset to data[].
* bcache.c (lookup_cache, bcache): Use BCACHE_DATA to get
address of cached data. Use BCACHE_ALIGNMENT to compute
amount of space to allocate for each hashlink struct.
* configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
Change CONFIG_HEADERS test in AC_OUTPUT accordingly.
* configure: Rebuild.
* Makefile.in (stamp-h): Depend upon config.in, not config.h.in.
Set CONFIG_HEADERS to config.h:config.in.
The file name config.h.in can be used on DOS filesystems.
we always regenerate the coremaker program. Detect special case
where registers cannot be read from core file. Change setup_xfail
for "print func2:coremaker_local" and "backtrace in corefile.exp"
to fail for all i*86 targets.
* gdb.base/funcargs.c: Patch for SPARCworks alloca compatibility
* gdb.c++/templates.exp: Only match on basename of file since
some formats like xcoff don't encode directory information.
* gdb.stabs/weird.exp: Use the right sed script for powerpc
and rs6000 AIX xcoff targets.
* configure.in: Add stabsdirs to configdirs for powerpc-*-aix*.
* configure: Regenerate.
* gdb.base/Makefile.in (clean): Remove generated file twice-tmp.c
here, rather than in distclean.