error.c (dump_typename): New function, broken out of ...
* error.c (dump_typename): New function, broken out of ...
(dump_type): ... here. Use it.
* typeck.c (same_type_p): Use cp_tree_equal for TYPENAME_TYPE.
* config/rs6000/rs6000.c (validate_condition_mode): New function.
(branch_comparison_operator): Call validate_condition_mode to
abort rather than returning 0.
(branch_positive_comparison_operator): New function.
(scc_comparison_operator): Call validate_condition_mode to abort
rather than returning 0.
(ccr_bit): Call validate_condition_mode. Update for
new branch scheme.
(print_operand): Delete %C modifier. Update %E case
to use EQ bit not SO bit.
(rs6000_reverse_condition): New function.
(rs6000_generate_compare): New function.
(rs6000_emit_sCOND): New function.
(rs6000_emit_cbranch): New function.
(output_cbranch): The length of a long branch insn is
now only 8 bytes. Add validate_condition_mode. Use
rs6000_reverse_condition. Remove cror generation.
* config/rs6000/rs6000.h: Update comments.
(PREDICATE_CODES): Add new predicate. Update codes used
by branch_comparison_operator and scc_comparison_operator.
* config/rs6000/rs6000-protos.h: Add prototypes for
new external functions.
* config/rs6000/rs6000.md: Add new scheduling parameters
for cr_logical instructions. Change length of branch
instructions.
(bCOND patterns): Call rs6000_emit_cbranch.
(sCOND patterns): Call rs6000_emit_sCOND.
(branch patterns): Change lengths to 4.
(cr logical patterns): New.
* timevar.c (timevar_add): Delete.
(timevar_get): Also count time since the selected timer was
last updated. Do not examine the timevar stack if the
selected timer is standalone.
* tree.c (walk_tree): Expose tail recursion.
(walk_stmt_tree): New function.
* cp-tree.h: Prototype walk_stmt_tree.
* semantics.c (prune_unused_decls): Operate on SCOPE_STMTs not
the BLOCKs directly. If a BLOCK has no variables after
pruning, discard it.
(finish_stmt_tree): Use walk_stmt_tree. No need to save and
restore the line number.
natPlainDatagramSocketImpl.cc: Change various `JvThrow' calls to `throw'.
2000-09-05 Bryce McKinlay <bryce@albatross.co.nz>
* java/net/natPlainDatagramSocketImpl.cc: Change various `JvThrow'
calls to `throw'.
(send): Undo last patch.
Remove the label only.
(mcastGrp): Ditto.
* java/net/natPlainSocketImpl.cc: Change various `JvThrow' calls to
`throw'.
* java/net/natInetAdress.cc: Ditto.
Hans Boehm [Tue, 5 Sep 2000 11:37:52 +0000 (11:37 +0000)]
boehm.c (mark_reference_fields): Set marking bits for all words in a multiple-word record.
2000-08-07 Hans Boehm <boehm@acm.org>
* boehm.c (mark_reference_fields): Set marking bits for all words in
a multiple-word record.
(get_boehm_type_descriptor): Use the procedure marking descriptor
for java.lang.Class.
Alex Samuel [Tue, 5 Sep 2000 03:07:14 +0000 (03:07 +0000)]
cp-demangle.c (demangle_nv_offset): New function.
* cp-demangle.c (demangle_nv_offset): New function.
(demangle_v_offset): Likewise.
(demangle_call_offset): Likewise.
(demangle_special_name): Update thunk demangling to comply with
ABI changes.
Anthony Green [Mon, 4 Sep 2000 20:57:18 +0000 (20:57 +0000)]
re GNATS java.io/203 (File.createTempFile doesn't close descriptor)
Fix for PR java.io/203:
* java/io/File.java (createTempFile): Obey directory argument.
Use java.io.tmpdir if needed. Don't leave FileDescripators open.
* java/lang/natSystem.cc (init_properties): Use TMPDIR environment
variable to set java.io.tmpdir on non-WIN32 systems.
Anthony Green [Sun, 3 Sep 2000 19:54:20 +0000 (19:54 +0000)]
configure.in: Add TARGET_LIBRARY conditional.
Sun Sep 3 12:37:12 2000 Anthony Green <green@redhat.com>
* configure.in: Add TARGET_LIBRARY conditional.
* configure: Rebuilt.
* Makefile.am: If we're building a build host library, call the
library libz.a and don't use libtool.
* Makefile.in: Rebuilt.
* config/avr/avr.c (avr_override_options, avr_init_once,
function_prologue, function_epilogue, frame_pointer_required_p,
class_likely_spilled_p, order_regs_for_local_alloc,
avr_address_cost, avr_ret_register): Use K&R style arguments.
(initial_elimination_offset, gas_output_limited_string):
Remove ATTRIBUTE_UNUSED from the used arguments.
(output_mov*, out_mov*_r_mr, out_mov*_mr_r, output_reload_insisf):
Use local variables src, dest, base to access operands[].
Rename reg_dest to reg_src if that's what it is.
(output_movhi, output_movsisf): Optimize loading 8-bit immediate
constants to LD_REGS if reg_was_0.
(output_reload_insisf): Change arg 3 to insn length and set it.
(out_movhi_r_mr, out_movhi_mr_r): Use in/out for more efficient
access to 16-bit I/O register pairs.
(avr_address_cost): Lower cost for the above case.
(out_tsthi): Use "or" (faster) instead of "sbiw" if the operand
may be clobbered, also for LD_REGS.
(adjust_insn_length): Correct insn length for iorhi3 and iorsi3
with a CONST_INT.
* config/avr/avr.h (PTRDIFF_TYPE): Make signed.
* config/avr/avr.md: Change all uses of the TEST_HARD_REG_CLASS
macro to test_hard_reg_class function.
(*movsi, *movsf): Change "cc" attribute from "clobber" to "none"
for loading immediate constants to LD_REGS.
(andsi3, cmphi, cmpsi): Add return statements to avoid warnings.
* config/sh/t-elf, config/sh/crt1.asm, config/sh/crti.asm,
config/sh/crtn.asm: New files.
* config/sh/t-sh (EXTRA_MULTILIB_PARTS): Set.
(crt1.o, crti.o, crtn.o): New targets.
* configure.in [sh-*-elf*, sh-*-rtemself*] (tmake_file): Added
sh/t-elf.
* configure: Rebuilt.
* config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
STARTFILE_SPEC, ENDFILE_SPEC, CRT_CALL_STATIC_FUNCTION): Define.
* config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
Undefine for config/elfos.h to redefine.
(STARTFILE_SPEC, ENDFILE_SPEC): Redefine after config/elfos.h.
* config/sh/sh-protos.h (nonpic_symbol_mentioned_p,
legitimize_pic_address, output_pic_addr_const): Declare.
* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Fix PIC register.
(PREFERGOT_BIT, TARGET_PREFERGOT): Likewise.
(TARGET_SWITCHES): New switch -mprefergot.
(OVERRIDE_OPTIONS): Set flag_no_function_cse unless -mprefergot.
(PIC_OFFSET_TABLE_REGNUM): Define.
(GOT_SYMBOL_TABLE): Likewise.
(LEGITIMIZE_ADDRESS): Use legitimize_pic_address.
(ENCODE_SECTION_INFO): Define.
(FINALIZE_PIC): New macros.
(LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST_P): New macro.
(ASM_OUTPUT_INT, ASM_OUTPUT_SHORT): Use output_pic_addr_const.
* config/sh/sh.c (print_operand_address): Use output_pic_addr_const.
(prepare_move_operands): Call emit_pic_move or
emit_pic_const_move if appropriate.
(output_far_jump): For PIC, use braf and output long offset.
(machine_dependent_reorg):
(sh_expand_prologue): Save and initialize the PIC register.
(sh_expand_epilogue): Restore it.
(initial_elimination_offset): Account for it.
(nonpic_symbol_mentioned_p): New function.
(legitimize_pic_address): Likewise.
(output_pic_addr_const): Likewise.
* config/sh/sh.md (calli_pcrel, call_valuei_pcrel): New insns.
(call, call_value): Use them.
(GOTaddr2picreg, sym_label2reg, symGOT2reg, symGOTOFF2reg,
symPLT_label2reg): New expands.
* invoke.texi (SH Options): Document -mprefergot.
rtl.h (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): New macro.
* rtl.h (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): New macro.
* gcse.c (hash_string_1): New function.
(hash_expr_1) <ASM_OPERANDS>: Disregard filename and line number.
(expr_equiv_p) <ASM_OPERANDS>: Likewise.
* cse.c (rtx_cost): Don't increase the cost of ASM_OPERANDS.
(canon_hash_string): New function.
(canon_hash) <ASM_OPERANDS>: Disregard filename and line number.
(exp_equiv_p) <ASM_OPERANDS>: Likewise.
(fold_rtx): Use ASM_OPERANDS accessor macros.
* emit-rtl.c (copy_insn_1): Likewise.
* integrate.c (copy_rtx_and_substitute): Likewise.
* stmt.c (expand_asm_operands): Likewise. Give an
ASM_OPERANDS rtx the mode of the output reg being set from it.
* c-common.h (enum c_tree_index): Add CTI_C_SIZE_TYPE.
(c_size_type_node): Define.
* c-decl.c (init_decl_processing): Initialize c_size_type_node.
* c-common.c (enum format_lengths, enum format_std_version,
format_length_info, format_type_detail, BADLEN, NOLENGTHS,
format_kind_info, printf_length_specs, scanf_length_specs, T89_I,
T99_I, T89_L, T99_LL, TEX_LL, T89_S, T89_UI, T99_UI, T89_UL,
T99_ULL, TEX_ULL, T89_US, T89_F, T99_F, T89_D, T99_D, T89_LD,
T99_LD, T89_C, T99_SC, T99_UC, T89_V, T94_W, TEX_W, T94_WI,
TEX_WI, T99_ST, T99_SST, T99_PD, T99_UPD, T99_IM, T99_UIM,
format_types): Define.
(format_char_info, print_char_table, scan_char_table,
time_char_table): Rearrange for new organization of information
about format length modifiers and standard versions.
(T_ST): Redefine to use c_size_type_node.
(check_format_info): Obtain information about length modifiers and
standard versions from tables. Adjust warning message wordings.
Use the name from the user's program for `ll' and `hh' length
modifiers in warning messages. Use more informative names for
wanted types where available (for wchar_t, wint_t, size_t, signed
size_t, ptrdiff_t, unsigned ptrdiff_t, intmax_t and uintmax_t).
Jim Wilson [Fri, 1 Sep 2000 22:01:43 +0000 (22:01 +0000)]
Fix ia64-linux miscompilation or tcl/generic/tclCompExpr.c
Fix ia64-linux miscompilation or tcl/generic/tclCompExpr.c
* loop.c (check_final_value): Check for biv use before checking for
giv use. Check for both biv and giv uses. Always set last_giv_use
if there is a giv use.
Richard Kenner [Fri, 1 Sep 2000 15:10:52 +0000 (15:10 +0000)]
expr.c (clear_storage): Don't use emit_move_insn unless either BLKmode or proper size.
* expr.c (clear_storage): Don't use emit_move_insn unless
either BLKmode or proper size.
(store_constructor): Don't call clear_storage if REG of wrong size.
Andrew Haley [Fri, 1 Sep 2000 15:00:59 +0000 (15:00 +0000)]
StreamTokenizer.java: Don't throw a NumberFormatException if a field is numeric as far as the...
2000-09-01 Andrew Haley <aph@redhat.com>
* java/io/StreamTokenizer.java: Don't throw a
NumberFormatException if a field is numeric as far as the
StreamTokenizer is concerned but not as far as Double.valueOf() is
concerned: return a zero instead.
Andrew Haley [Fri, 1 Sep 2000 13:34:26 +0000 (13:34 +0000)]
dwarf2out.c (stack_adjust_offset): New function.
2000-09-01 Andrew Haley <aph@redhat.com>
* dwarf2out.c (stack_adjust_offset): New function.
(dwarf2out_stack_adjust): Break out stack adjust logic into
new stack_adjust_offset function. Look inside parallels and
sequences for stack adjustments.