Bryce McKinlay [Tue, 28 Mar 2000 04:36:22 +0000 (05:36 +0100)]
Forgot to commit this earlier.
From-SVN: r32775
Richard Kenner [Tue, 28 Mar 2000 02:43:58 +0000 (21:43 -0500)]
Add missing ChangeLog entry from 3/26
From-SVN: r32774
Bryce McKinlay [Tue, 28 Mar 2000 02:22:24 +0000 (02:22 +0000)]
Makefile.in: New #defines and friends for Thread.h.
* Makefile.in: New #defines and friends for Thread.h.
* posix-threads.cc: (struct starter): Remove `object'.
(_Jv_CondWait): Use interruptable condition variables and new
recursive mutexes. New return codes on interrupt or non-ownership
of mutex.
(_Jv_CondNotify): Ditto.
(_Jv_CondNotifyAll): Ditto.
(_Jv_ThreadInterrupt): Set thread interrupt flag directly. Interrupt
the target thread by signaling its wait condition.
(_Jv_ThreadInitData): Set `thread_obj' in the thread data struct,
not the starter struct. Initialize wait_mutex and wait_cond.
(_Jv_MutexLock): New recursive mutex implementation. Moved from
posix-threads.h.
(_Jv_MutexUnlock): Ditto.
(really_start): Set info->data->thread from pthread_self() to work
around a race condition. Destroy wait_mutex and wait_cond when run()
returns.
* java/lang/Thread.java: (isInterrupted_): Renamed to overloaded
`isInterrupted(boolean)'. Clear interrupted flag if clear_flag is
set.
startable_flag: New private field.
(Thread): Initialize `startable_flag'.
(toString): Check for null thread group.
* java/lang/natThread.cc: (struct natThread): New fields
`join_mutex', `join_cond'. Removed fields `joiner', `next'.
(class locker): Removed.
(initialize_native): Initialize `join_cond' and `join_mutex'.
(interrupt): Now just calls _Jv_ThreadInterrupt().
(join): Simplified. Just wait on the target thread's join condition.
(finish_): Remove join list code. Unset thread group. Signal
potential joiners by notifying the dying threads join_cond.
(start): Check for illegal restarts.
* java/lang/natObject.cc: Check for return value of _Jv_CondWait and
act appropriatly.
* include/posix-threads.h: Remove all HAVE_RECURSIVE_MUTEX related
#defines and #ifdefs.
(struct _Jv_Thread_t): New fields `thread_obj', `wait_cond',
`wait_mutex', `next'.
(struct _Jv_ConditionVariable_t): Define as a struct instead of
directly mapping to pthread_cond_t.
(struct _Jv_Mutex_t): New recursive implementation.
(_Jv_PthreadCheckMonitor): Reimplemented. Simple `owner' check.
_Jv_HaveCondDestroy: Never define this for posix-threads.
(_Jv_CondNotify): Remove inline implementation(s), prototype instead.
(_Jv_CondNotifyAll): Ditto.
(_Jv_MutexLock): Ditto.
(_Jv_MutexUnlock): Ditto.
(_Jv_MutexInit): Changed to reflect new mutex implementation.
(_Jv_MutexDestroy): Ditto.
(_Jv_CondDestroy): Removed.
(_Jv_PthreadGetMutex): Removed.
* include/win32-threads.h: (_Jv_CondNotify): Guess _JV_NOT_OWNER on an
error. Add a FIXME about this.
(_Jv_CondNotifyAll): Ditto.
* win32-threads.cc: (_Jv_CondWait): Return 0 on a timeout. Guess
_JV_NOT_OWNER on other errors. Add FIXME.
From-SVN: r32773
Stan Cox [Mon, 27 Mar 2000 21:50:15 +0000 (21:50 +0000)]
resource.h (mark_resource_type): New.
* resource.h (mark_resource_type): New.
* resource.c (find_dead_or_set_registers, mark_target_live_regs,
find_free_register): Use mark_resource_type.
(mark_set_resources): Change include_delayed_effects
to mark_resource_type.
* reorg.c (steal_delay_list_from_target, try_merge_delay_insns,
redundant_insn, fill_simple_delay_slots, fill_slots_from_thread):
Use mark_resource_type.
From-SVN: r32771
Tom Tromey [Mon, 27 Mar 2000 19:51:46 +0000 (19:51 +0000)]
jni.cc (_Jv_JNI_PopSystemFrame): If environment has exception set, throw it.
* jni.cc (_Jv_JNI_PopSystemFrame): If environment has exception
set, throw it.
(call): Don't throw exception here.
From-SVN: r32770
Tom Tromey [Mon, 27 Mar 2000 19:37:16 +0000 (19:37 +0000)]
test_long.out: New file.
* libjava.lang/test_long.out: New file.
* libjava.lang/test_long.java: New file.
From-SVN: r32769
Richard Henderson [Mon, 27 Mar 2000 19:19:14 +0000 (11:19 -0800)]
i386.md (call_pop_0, [...]): New.
* i386.md (call_pop_0, call_value_pop_0): New.
(call_pop_1): Remove constraint from unused arg. Support sibcalls.
(call_value_pop_1): Likewise.
(call_0, call_value_0): New.
(call_1, call_value_1): Remove constraint from unused arg.
From-SVN: r32768
Nick Clifton [Mon, 27 Mar 2000 18:40:30 +0000 (18:40 +0000)]
document new %{<S} command in spec strings.
From-SVN: r32767
Bruce Korb [Mon, 27 Mar 2000 17:10:52 +0000 (17:10 +0000)]
Linuxbox has changed names...
From-SVN: r32765
Richard Kenner [Mon, 27 Mar 2000 14:06:18 +0000 (14:06 +0000)]
* expr.c (expand_assignent): Fix typo in last change.
From-SVN: r32764
Jakub Jelinek [Mon, 27 Mar 2000 11:43:01 +0000 (13:43 +0200)]
libgcc2.h (MIN_UNITS_PER_WORD): Define to UNITS_PER_WORD if not defined.
* libgcc2.h (MIN_UNITS_PER_WORD): Define to UNITS_PER_WORD
if not defined.
From-SVN: r32763
Richard Kenner [Mon, 27 Mar 2000 11:03:26 +0000 (11:03 +0000)]
* libgcc2.h: Use MIN_UNITS_PER_WORD, not UNITS_PER_WORD.
From-SVN: r32762
Jeff Law [Mon, 27 Mar 2000 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32761
Jason Merrill [Mon, 27 Mar 2000 05:58:16 +0000 (00:58 -0500)]
tweak ARG_POINTER_CFA_OFFSET docs
From-SVN: r32760
Richard Kenner [Mon, 27 Mar 2000 01:26:18 +0000 (01:26 +0000)]
c-convert.c (convert): Return if output or input type is ERROR_MARK.
* c-convert.c (convert): Return if output or input type is ERROR_MARK.
* c-decl.c (duplicate_decls): Only look at DECL_BUILT_IN_NONANSI
and DECL_INLINE if FUNCTION_DECL.
(pushdecl, redeclaration_error_message): Likewise, for DECL_INLINE.
(store_parm_decls): Check for type of PARM_DECL being ERROR_MARK.
Use DECL_WEAK, not DECL_RESULT, to flag for already seen.
(combine_parm_decls): Likewise.
* ggc-common.c (gcc_mark_tree_children, case 'd'): Use DECL_RESULT_FLD.
* print-tree.c (print_node): Likewise.
Only test DECL_PACKED, DECL_INLINE, DECL_BIT_FIELD, and
DECL_TRANSPARENT_UNION on proper decl types.
Properly handly DECL_INCOMING_RTL and DECL_SAVED_INSNS.
* stor-layout.c (layout_decl): Only check DECL_PACKED and
DECL_BIT_FIELD of FIELD_DECL.
* tree.h (DECL_RESULT_FLD): New macro.
* cp/class.c (check_field_decl): Fix typo.
(build_vtbl_or_vbase_field): Don't clear DECL_SAVED_INSNS.
(check_methods): Likewise.
(check_field_decls): Likewise.
Use DECL_CONTEXT, not DECL_FIELD_CONTEXT.
* cp-tree.h (DECL_SHADOWED_FOR_VAR, DECL_TEMPLATE_RESULT):
Use DECL_RESULT_FLD, not DECL_RESULT.
* cp/decl.c (xref_tag): Use DECL_TEMPLATE_RESULT.
* cp/lex.c (identifier_type): Likewise.
* cp/pt.c (determine_specialization, lookup_template_class): Likewise.
(tsubst_friend_function, tsubst_decl, instantiate_template): Likewise.
(resolve_overloaded_unification, more_specialized): Likewise.
* cp/semantics.c (finish_member_declaration): Likewise.
* cp/typeck.c (build_x_function_call): Likewise.
From-SVN: r32759
Richard Henderson [Mon, 27 Mar 2000 00:50:27 +0000 (16:50 -0800)]
calls.c (expand_call): Pass parms not original exp to optimize_tail_recursion.
* calls.c (expand_call): Pass parms not original exp to
optimize_tail_recursion. Mind return value instead of looking
for a barrier.
* stmt.c (optimize_tail_recursion): Take parameter list, not entire
call_expr. Move checks for call_expr and current_function_decl ...
(expand_return): ... here.
From-SVN: r32758
Tom Tromey [Mon, 27 Mar 2000 00:30:47 +0000 (00:30 +0000)]
jvspec.c (jvgenmain_spec): Add `%{<...}' construct for each Java-specific `-f' option.
* jvspec.c (jvgenmain_spec): Add `%{<...}' construct for each
Java-specific `-f' option.
From-SVN: r32757
Tom Tromey [Sun, 26 Mar 2000 23:23:01 +0000 (23:23 +0000)]
gcc.c (handle_braces): Recognize `%{<S}' construct.
* gcc.c (handle_braces): Recognize `%{<S}' construct.
(SWITCH_OK, SWITCH_FALSE, SWITCH_IGNORE, SWITCH_LIVE): New
defines.
(process_command): Use them.
(check_live_switch): Likewise.
(give_switch): Skip ignored switches.
From-SVN: r32756
Jan Hubicka [Sun, 26 Mar 2000 22:43:59 +0000 (00:43 +0200)]
jump.c (jump_optimize_1): Fix typo in elide optimizations for minimal jump pass test.
* jump.c (jump_optimize_1): Fix typo in elide optimizations
for minimal jump pass test.
From-SVN: r32755
Tom Tromey [Sun, 26 Mar 2000 20:33:04 +0000 (20:33 +0000)]
[multiple changes]
2000-03-26 Tom Tromey <tromey@cygnus.com>
* java/lang/mprec.h: Use SIZEOF_VOID_P.
* interpret.cc: Use SIZEOF_VOID_P.
* include/java-cpool.h (_Jv_storeLong): Use SIZEOF_VOID_P.
(_Jv_loadLong): Likewise.
(_Jv_storeDouble): Likewise.
* configure: Rebuilt.
* configure.in: Check size of void*.
* resolve.cc (ncode): Use FFI_PREP_RAW_CLOSURE and FFI_RAW_SIZE.
2000-03-26 Hans Boehm <boehm@acm.org>
* include/java-cpool.h (_Jv_storeLong, _Jv_loadLong,
_Jv_storeDouble, _Jv_loadDouble): Define differently on 64 bit
machine.
* java/lang/ieeefp.h: Define __IEEE_BIG_ENDIAN or
__IEEE_LITTLE_ENDIAN appropriately on IA64.
* java/lang/mprec.h: Don't define Pack_32 on 64 bit machine.
* javaprims.h (_Jv_word): Added `l' and `d' entries in 64 bit
case.
* resolve.cc (FFI_PREP_RAW_CLOSURE): New define.
(FFI_RAW_SIZE): Likewise.
(_Jv_InterpMethod::ncode): Use them.
* interpret.cc (PUSHL, PUSHD, POPL, POPD, LOADL, LOADD, STOREL,
STORED): Define differently on a 64 bit machine.
(continue1): Use ffi_java_raw_call when appropriate.
From-SVN: r32754
Tom Tromey [Sun, 26 Mar 2000 20:20:42 +0000 (20:20 +0000)]
* libjava.lang/Array_1.xfail: Removed.
From-SVN: r32753
Mark Mitchell [Sun, 26 Mar 2000 19:09:36 +0000 (19:09 +0000)]
integrate.c (function_cannot_inline_p): Do inline functions that return `void'.
* integrate.c (function_cannot_inline_p): Do inline functions that
return `void'.
From-SVN: r32752
Richard Kenner [Sun, 26 Mar 2000 19:01:55 +0000 (19:01 +0000)]
stor-layout.c (layout_type, [...]): early_type_list is now a list of TREE_LIST entries, not types.
* stor-layout.c (layout_type, set_sizetype): early_type_list is
now a list of TREE_LIST entries, not types.
* tree.c (build_common_tree_nodes_2): Eliminate dupliate type sets.
* java/decl.c (init_decl_processing): Call initialize_sizetypes once.
Adjust order of making types.
Make bitsize_*_node values.
From-SVN: r32751
Mark Mitchell [Sun, 26 Mar 2000 18:57:57 +0000 (18:57 +0000)]
class.c (layout_empty_base): Handle empty bases with non-byte alignment.
* class.c (layout_empty_base): Handle empty bases with non-byte
alignment.
(build_base_field): Likewise.
(layout_virtual_bases): Likewise.
* class.c (finish_struct_1): Fix typo in this change:
Sat Mar 25 09:12:10 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
From-SVN: r32750
Richard Kenner [Sun, 26 Mar 2000 17:05:34 +0000 (12:05 -0500)]
expr.c (expand_assignment): Add code to handle variable-sized BLKmode case.
* expr.c (expand_assignment): Add code to handle variable-sized
BLKmode case.
From-SVN: r32749
Richard Kenner [Sun, 26 Mar 2000 16:46:27 +0000 (16:46 +0000)]
expmed.c (extract_bit_field): Ensure BITS_PER_WORD is signed in MAX.
* expmed.c (extract_bit_field): Ensure BITS_PER_WORD is signed in MAX.
* config/arm/pe.c (arm_pe_return_in_memory): Use host_integerp and
int_bit_position.
* config/mips/mips.c (function_arg): Likewise; also remove cast
and make variables unsigned or HOST_WIDE_INT and use tree_low_cst.
(mips_function_value): Use int_byte_position and make HOST_WIDE_INT.
* config/mips/abi64.h (SETUP_INCOMING_VARARGS): Offsets are unsigned.
* config/mips/mips.h (BITS_PER_WORD, UNITS_PER_WORD): Cast to unsigned.
(UNITS_PER_FPREG, INT_TYPE_SIZE, LONG_TYPE_SIZE): Likewise.
(POINTER_SIZE, POINTER_BOUNDARY,PARM_BOUNDARY): Likewise.
(GP_REG_P, FP_REG_P, MD_REG_P, ST_REG_P): Ensure subtraction signed.
(struct mips_arg): arg_number, arg_words, fp_arg_words, and
num_adjusts now unsigned.
(FUNCTION_ARG_BOUNDARY): Remove unneeded cast.
* config/sparc/sparc.c (struct function_arg_record_value_parms):
NREGS now unsigned.
(function_arg_record_value_1): STARTBITPOS arg now HOST_WIDE_INT
as is BITPOS variable; use host_integerp and int_bit_position.
(function_arg_record_value_2): Likewise.
(function_arg_record_value_3): Arg BITPOS now HOST_WIDE_INT.
Variable REGNO now unsigned.
(function_arg_record_value): NREGS now unsigned.
From-SVN: r32748
Bernd Schmidt [Sun, 26 Mar 2000 16:22:02 +0000 (16:22 +0000)]
Fix sibcall problem in jump.c.
From-SVN: r32747
Bernd Schmidt [Sun, 26 Mar 2000 16:11:06 +0000 (16:11 +0000)]
New tests
From-SVN: r32746
Jeff Law [Sun, 26 Mar 2000 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32744
Mark Mitchell [Sun, 26 Mar 2000 03:05:49 +0000 (03:05 +0000)]
decl.c (grokdeclarator): Count partial specializations when keeping track of how many template classes...
* decl.c (grokdeclarator): Count partial specializations when
keeping track of how many template classes have been seen.
* dump.c (dequeue_and_dump): Dump DECL_TEMPLATE_RESULT.
From-SVN: r32743
Richard Kenner [Sat, 25 Mar 2000 18:34:13 +0000 (18:34 +0000)]
* Rework fields used to describe positions of bitfields and
modify sizes to be unsigned and use HOST_WIDE_INT.
* alias.c (reg_known_value_size): Now unsigned.
* c-typeck.c (build_unary_op, case ADDR_EXPR): Use byte_position.
(really_start_incremental_init): Use bitsize_zero_node.
(push_init_level, pop_init_level, output_init_element): Likewise.
Use bitsize_unit_node and bitsize_one_node.
(output_pending_init_elements, process_init_element): Likewise.
* combine.c (combine_max_regno, reg_sign_bit_copies): Now unsigned.
(make_extraction): Position and length HOST_WIDE_INT and unsigned
HOST_WIDE_INT, respectively.
(get_pos_from_mask): Passed in value is unsigned HOST_WIDE_INT.
(num_sign_bit_copies): Returns unsigned.
BITWIDTH now unsigned; rework arithmetic.
Remove recursive call from arg to MAX.
(combine_instructions, init_reg_last_arrays): NREGS now unsigned.
(setup_incoming_promotions, can_combine_p, try_combine, simplify_set):
REGNO now unsigned.
(set_nonzero_bit_and_sign_copies): NUM now unsigned.
(find_split_point, expand_compound_operation, make_extraction): LEN
now unsigned HOST_WIDE_INT, POS now HOST_WIDE_INT.
(make_field_assignment): Likewise.
(combine_simplify_rtx): Add cast.
(expand_compound_operation): MODEWIDTH now unsigned; rework arithmetic.
(force_to_mode): WIDTH now unsigned; add cast.
(if_then_else_cond): SIZE now unsigned.
(nonzero_bits): MODE_WIDTH, RESULT_WIDTH, and WIDTH now unsigned.
(extended_count): Now returns unsigned.
(simplify_shift_const): COUNT unsigned; arg is now INPUT_COUNT.
Add SIGNED_COUNT variable; MODE_WORDS and FIRST_COUNT now unsigned.
(simplify_comparison): MODE_WIDTH now unsigned.
(update_table_tick): REGNO and ENDREGNO now unsigned; new var R.
(mark_used_regs_combine): Likewise; rework arithmetic.
(record_value_for_reg): REGNO, ENDREGNO, and I now unsigned.
(record_dead_and_set_regs, reg_dead_at_p, distribute_notes): Likewise.
(record_promoted_value): REGNO now unsigned.
(get_last_value_validate): REGNO, ENDREGNO, and J now unsigned.
(get_last_value): REGNO now unsigned.
(use_crosses_set_p): REGNO and ENDREGNO now unsigned.
(reg_dead_regno, reg_dead_endregno): Now unsigned.
(remove_death): Arg REGNO now unsigned.
(move_deaths): REGNO, DEADREGNO, DEADEND, OUREND, and I now unsigned.
(reg_bitfield_target_p): REGNO, REGNO, ENDREGNO, and ENDTREGNO
now unsigned.
* convert.c (convert_to_integer): INPREC and OUTPREC now unsigned.
* cse.c (struct qty_table_elem): FIRST_REG and LAST_REG now unsigned.
(struct cse_reg_info): REGNO now unsigned.
(cached_regno): Now unsigned.
(REGNO_QTY_VALID_P): Add cast.
(make_new_qty, make_regs_eqv, delete_reg_eqiv): Regno args unsigned.
(remove_invalid_regs): Likewise.
(remove_invalid_subreg_refs): Likewise; arg WORD also unsigned
as are variables END and I.
(get_cse_reg_info, insert): Likewise.
(mention_regs, invalidate_for_call): REGNO, ENDREGNO, and I unsigned.
(canon_hash): Likewise.
(insert_regs, lookup_for_remove): REGNO now unsigned.
(invalidate): REGNO, ENDREGNO, TREGNO, and TENDREGNO now unsigned.
New variable RN.
* dbxout.c (dbxout_parms, dbxout_reg_parms): Don't check for REGNO < 0.
* dwarf2out.c (dwarf2ou_frame_debug_expr): Remove cast.
* emit-rtl.c (subreg_realpart_p): Add cast.
(operand_subword): Arg I is now unsigned as is var PARTWORDS.
(operand_subword_force): Arg I is now unsigned.
* except.c (eh_regs): Variable I is now unsigned.
* explow.c (hard_function_value): BYTES is unsigned HOST_WIDE_INT.
* expmed.c (store_fixed_bit_field): Position is HOST_WIDE_INT;
length is unsigned HOST_WIDE_INT; likewise for internal variables.
(store_split_bit_field, extract_fixed_bit_field): Likewise.
(extract_split_bit_field, store_bit_field, extract_bit_field):
Likewise.
* expr.c (store_constructor_fields, store_constructor, store_field):
Positions are HOST_WIDE_INT and lengths are unsigned HOST_WIDE_INT.
(expand_assignment, expand_expr, expand_expr_unaligned): Likewise.
(do_jump): Likewise.
(move_by_pieces, move_by_pieces_ninsns, clear_by_pieces):
MAX_SIZE is now unsigned.
(emit_group_load): BYTEPOS is HOST_WIDE_INT; BYTELEN is unsigned.
(emit_group_store): Likewise.
(emit_move_insn): I now unsigned.
(store_constructor): Use host_integerp, tree_low_cst, and
bitsize_unit_node.
(get_inner_reference): Return bitpos and bitsize as HOST_WIDE_INT.
Rework all calculations to use trees and new fields.
* expr.h (promoted_input_arg): Regno now unsigned.
(store_bit_field, extract_bit_field): Adjust types of pos and size.
(mark_seen_cases): Arg is HOST_WIDE_INT.
* flow.c (verify_wide_reg_1): REGNO now unsigned.
* fold-const.c (decode_field_reference): Size and pos HOST_WIDE_INT;
precisions and alignments are unsigned.
(optimize_bit_field_compare, fold_truthop): Likewise.
(int_const_binop): Adjust threshold for size_int_type_wide call.
(fold_convert): Likewise.
(size_int_type_wide): Make table larger and fix thinko that only
had half of table used.
(all_ones_mask_p, fold): Precisions are unsigned.
* function.c (put_reg_info_stack): REGNO is unsigned.
(instantiate_decl): Size is HOST_WIDE_INT.
(instantiate_virtual_regs): I is unsigned.
(assign_parms): REGNO, REGNOI, and REGNOR are unsigned.
(promoted_input_arg): REGNO is unsigned.
* function.h (struct function): x_max_parm_reg is now unsigned.
* gcse.c (max_gcse_regno): Now unsigned.
(struct null_pointer_info): min_reg and max_reg now unsigned.
(lookup_set, next_set): REGNO arg now unsigned.
(compute_hash_table): REGNO and I now unsigned.
(handle_avail_expr): regnum_for_replacing now unsigned.
(cprop_insn): REGNO now unsigned.
(delete_null_pointer_checks_1): BLOCK_REG now pointer to unsigned.
* ggc-common.c (ggc_mark_tree_children, case FIELD_DECL): New case.
* global.c (set_preference): SRC_REGNO, DEST_REGNO, and I now unsigned.
* hard-reg-set.h (reg_class_size): Now unsigned.
* integrate.c (mark_stores): LAST_REG and I now unsigned; new UREGNO.
* jump.c (mark_modified_reg): I now unsigned; add cast.
(rtx_equal_for_thread_p): Add cast.
* loop.c (max_reg_before_loop): Now unsigned.
(struct_movable): REGNO now unsigned.
(try_copy_prop): REGNO arg unsigned.
(regs_match_p): XN and YN now unsigned.
(consec_sets_invariant_p, maybe_eliminate_biv): REGNO now unsigned.
(strength_reduce): Likewise; NREGS also unsigned.
(first_increment_giv, last_increment_giv unsigned): Now unsigned.
* loop.h (struct iv_class): REGNO now unsigned.
(max_reg_before_loop, first_increment_giv, last_increment_giv):
Now unsigned.
* machmode.h (mode_size, mode_unit_size): Now unsigned.
(mode_for_size, smallest_mode_for_size): Pass size as unsigned.
* optabs.c (expand_binop): I and NWORDS now unsigned.
(expand_unop): I now unsigned.
* print-tree.c (print_node): Don't print DECL_FIELD_BITPOS, but do
print DECL_FIELD_OFFSET and DECL_FIELD_BIT_OFFSET.
* real.c (significand_size): Now returns unsigned.
* real.h (significand_size): Likewise.
* regclass.c (reg_class_size): Now unsigned.
(choose_hard_reg_mode): Both operands now unsigned.
(record_reg_classes): REGNO and NR now unsigned.
(reg_scan): NREGS now unsigned.
(reg_scan_update): old_max_regno now unsigned.
(reg_scan_mark_refs): Arg MIN_REGNO and var REGNO now unsigned.
* reload.c (find_valid_class): BEST_SIZE now unsigned.
(find_dummy_reload): REGNO, NWORDS, and I now unsigned.
(hard_reg_set_here_p): Args BEG_REGNO and END_REGNO now unsigned.
Likewise for variable R.
(refers_to_regno_for_reload_p): Args REGNO and END_REGNO now unsigned,
as are variables INNER_REGNO and INNER_ENDREGNO; add new variable R.
(find_equiv_reg): Add casts.
(regno_clobbered_p): Arg REGNO now unsigned.
* reload.h (struct reload): NREGS now unsigned.
(refers_to_regno_for_reload_p): Regno args are unsigned.
(regno_clobbered_p): Likewise.
* reload1.c (reg_max_ref_width, spill_stack_slot_width): Now unsigned.
(compute_use_by_pseudos): REGNO now unsigned.
(find_reg): I and J now unsigned, new variable K, and change loop
variables accordingly; THIS_NREGS now unsigned.
(alter_reg): INHERENT_SIZE and TOTAL_SIZE now unsigned.
(spill_hard_reg): REGNO arg now unsigned; add casts.
(forget_old_reloads_1): REGNO, NR, and I now unsigned.
(mark_reload_reg_in_use): Arg REGNO and vars NREGS and I now unsigned.
(clear_reload_reg_in_use): Arg REGNO and vars NREGS, START_REGNO,
END_REGNO, CONFLICT_START, and CONFLICT_END now unsigned.
(reload_reg_free_p, reload_reg_reaches_end_p): Arg REGNO now unsigned.
(choose_reload_regs): MAX_GROUP_SIZE now unsigned.
(emit_reload_insns): REGNO now unsigned.
(reload_cse_move2add): Add cast.
(move2add_note_store): REGNO and I now unsigned; new variable ENDREGNO
and rework loop.
* resource.c (mark_referenced_resources, mark_set_resources): New
variable R; REGNO and LAST_REGNO now unsigned.
(mark_target_live_regs): J and REGNO now unsigned.
* rtl.c (mode_size, mode_unit_size): Now unsigned.
* rtl.h (union rtunion_def): New field rtuint.
(XCUINT): New macro.
(ADDRESSOF_REGNO, REGNO, SUBREG_WORD): New XCUINT.
(operand_subword, operand_subword_force): Word number is unsigned.
(choose_hard_reg_mode): Operands are unsigned.
(refers_to-regno_p, dead_or_set_regno_p): Regno arg is unsigned.
(find_regno_note, find_regno_fusage, replace_regs): Likewise.
(regno_use_in, combine_instructions, remove_death): Likewise.
(reg_scan, reg_scan_update): Likewise.
(extended_count): Return is unsigned.
* rtlanal.c (refers_to_regno_p): Args REGNO and ENDREGNO and vars I,
INNER_REGNO, and INNER_ENDREGNO now unsigned; new variable X_REGNO.
(reg_overlap_mentioned_p): REGNO and ENDREGNO now unsigned.
(reg_set_last_first_regno, reg_set_last_last_regno): Now unsigned.
(reg_reg_last_1): FIRS and LAST now unsigned.
(dead_or_set_p): REGNO, LAST_REGNO, and I now unsigned.
(dead_or_set_regno_p): Arg TEST_REGNO and vars REGNO and ENDREGNO
now unsigned.
(find_regno_note, regno_use_in): Arg REGNO now unsigned.
(find_regno_fusage): Likewise; also var REGNOTE now unsigned.
(find_reg_fusage): Variables REGNO, END_REGNO, and I now unsigned.
(replace_regs): Arg NREGS now unsigned.
* sdbout.c (sdbout_parms, sdbout_reg_parms): Don't check REGNO < 0.
* simplify-rtx.c (simplify_unary_operation): WIDTH now unsigned.
(simplify_binary_operation): Likewise.
(cselib_invalidate_regno): Arg REGNO and variables ENDREGNO, I, and
THIS_LAST now unsigned.
(cselib_record_set): Add cast.
* ssa.c (ssa_max_reg_num): Now unsigned.
(rename_block): REGNO now unsigned.
* stmt.c (expand_return): Bit positions unsigned HOST_WIDE_INT;
sizes now unsigned.
(all_cases_count): Just return -1 not -2.
COUNT, MINVAL, and LASTVAL now HOST_WIDE_INT.
Rework tests to use trees whenever possible.
Use host_integerp and tree_low_cst.
(mark_seen_cases): COUNT arg now HOST_WIDE_INT;
Likewise variable NEXT_NODE_OFFSET; XLO now unsigned.
(check_for_full_enumeration_handing): BYTES_NEEDED, I to HOST_WIDE_INT.
* stor-layout.c (mode_for_size): SIZE arg now unsigned.
(smallest_mode_for_size): Likewise.
(layout_decl): Simplify handing of a specified DECL_SIZE_UNIT.
KNOWN_ALIGN is now an alignment, so simplify code.
Don't turn off DECL_BIT_FIELD if field is BLKmode, but not type.
(start_record_layout): Renamed from new_record_layout_info.
Update to new fields.
(debug_rli, normalize_rli, rli_size_unit_so_far, rli_size_so_far):
New functions.
(place_union_field): Renamed from layout_union_field.
Update to use new fields in rli.
(place_field): Renamed from layout_field.
Major rewrite to use new fields in rli; pass alignment to layout_decl.
(finalize_record_size): Rework to use new fields in rli and handle
union.
(compute_record_mode): Rework to simplify and to use new DECL fields.
(finalize_type_size): Make rounding more consistent.
(finish_union_layout): Deleted.
(layout_type, case VOID_TYPE): Don't set TYPE_SIZE_UNIT either.
(layout_type, case RECORD_TYPE): Call new function names.
(initialize_sizetypes): Set TYPE_IS_SIZETYPE.
(set_sizetype): Set TYPE_IS_SIZETYPE earlier.
(get_best_mode): UNIT is now unsigned; remove casts.
* tree.c (bit_position): Compute from new fields.
(byte_position, int_byte_position): New functions.
(print_type_hash_statistics): Cast to remove warning.
(build_range_type): Use host_integerp and tree_low_cst to try to hash.
(build_index_type): Likewise; make subtype of sizetype.
(build_index_2_type): Pass sizetype to build_range_type.
(build_common_tree_nodes): Use size_int and bitsize_int to
initialize nodes; add bitsize_{zero,one,unit}_node.
* tree.h (DECL_FIELD_CONTEXT): Use FIELD_DECL_CHECK.
(DECL_BIT_FIELD_TYPE, DECL_QUALIFIER, DECL_FCONTEXT): Likewise.
(DECL_PACKED, DECL_BIT_FIELD): Likewise.
(DECL_FIELD_BITPOS): Deleted.
(DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): New fields.
(DECL_RESULT, DECL_SAVED_INSNS): Use FUNCTION_DECL_CHECK.
(DECL_FRAME_SIZE, DECL_FUNCTION_CODE, DECL_NO_STATIC_CHAIN): Likewise.
(DECL_INLINE, DECL_BUILT_IN_NONANSI, DECL_IS_MALLOC): Likewise.
(DECL_BUILT_IN_CLASS, DECL_STATIC_CONSTRUCTOR): Likewise.
(DECL_STATIC_DESTRUCTOR, DECL_NO_CHECK_MEMORY_USAGE): Likewise.
(DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT, DECL_NO_LIMIT_STACK) Likewise.
(DECL_ORIGINAL_TYPE, TYPE_DECL_SUPPRESS_DEBUG): Use TYPE_DECL_CHECK.
(DECL_ARG_TYPE_AS_WRITEN, DECL_ARG_TYPE): Use PARM_DECL_CHECK.
(DECL_INCOMING_RTL, DECL_TRANSPARENT_UNION): Likewise.
(DECL_ALIGN): Adjust to new field in union.
(DECL_OFFSET_ALIGN): New field.
(DECL_ERROR_ISSUED, DECL_TOO_LATE): Use LABEL_DECL_CHECK.
(DECL_IN_TEXT_SECTION): Use VAR_DECL_CHECK.
(union tree_decl): Add struct for both aligns.
(enum tree_index): Add TI_BITSIZE_{ZERO,ONE,UNIT}.
(bitsize_zero_node, bitsize_one_node, bitsize_unit_node): Added.
(struct record_layout_info): Rework fields to have offset
alignment and byte and bit position.
(start_record_layout, place_field): Renamed from old names.
(rli_size_so_far, rli_size_unit_so_far, normalize_rli): New decls.
(byte_position, int_byte_position): Likewise.
(get_inner_reference): Change types of position and length.
* unroll.c (unroll_loop): New variable R; use for some loops.
MAX_LOCAL_REGNUM and MAXREGNUM now unsigned.
(calculate_giv_inc): Arg REGNO now unsigned.
(copy_loop_body): REGNO and SRC_REGNO now unsigned.
* varasm.c (assemble_variable): Clean up handling of size using
host_integerp and tree_low_cst.
(decode_addr_const): Use byte, not bit, position.
(output_constructor): bitpos and offsets are HOST_WIDE_INT;
use tree_low_cst and int_bit_position.
* objc/objc-act.c (build_ivar_list_initializer): Use byte_position.
* ch/actions.c (check_missing_cases): BYTES_NEEDED is HOST_WIDE_INT.
* ch/typeck.c (expand_constant_to_buffer): Use int_byte_position.
(extract_constant_from_buffer): Likewise.
* cp/class.c (build_vbase_pointer_fields): layout_field now
place_field.
(get_vfield_offset): Use byte_position.
(set_rtti_entry): Set OFFSET to ssizetype zero.
(get_binfo_offset_as_int): Deleted.
(dfs_record_base_offsets): Use tree_low_cst.
(dfs_search_base_offsets): Likewise.
(layout_nonempty_base_or_field): Reflect changes in RLI format
and call byte_position.
(layout_empty_base): Convert offset to ssizetype.
(build_base_field): use rli_size_unit_so_far.
(dfs_propagate_binfo_offsets): Do computation in proper type.
(layout_virtual_bases): Pass ssizetype to propagate_binfo_offsets.
(layout_class_type): Reflect changes in RLI names and fields.
(finish_struct_1): Set DECL_FIELD_OFFSET.
* cp/dump.c (dequeue_and_dump): Call bit_position.
* cp/expr.c (cplus_expand_constant): Use byte_position.
* cp/rtti.c (expand_class_desc): Use bitsize_one_node.
* cp/typeck.c (build_component_addr): Use byte_position and don't
special case for zero offset.
* f/com.c (ffecom_tree_canonize_ptr_): Use bitsize_zero_node.
(ffecom_tree_canonize_ref_): Likewise.
* java/class.c (make_field_value): Use byte_position.
* java/expr.c (JAVA_ARRAY_LENGTH_OFFSET): Use byte_position.
(java_array_data_offset): Likewise.
* java/java-tree.h (MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Add case to
bzero call.
From-SVN: r32742
Mark Mitchell [Sat, 25 Mar 2000 16:38:49 +0000 (16:38 +0000)]
Remove accidental commit
From-SVN: r32740
Mark Mitchell [Sat, 25 Mar 2000 16:30:33 +0000 (16:30 +0000)]
Fix typo in ChangeLog
From-SVN: r32739
Jeff Law [Sat, 25 Mar 2000 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32738
Jason Eckhardt [Sat, 25 Mar 2000 02:39:03 +0000 (02:39 +0000)]
bb-reorder.c (REORDER_MOVED_BLOCK_END): Removed.
Fri Mar 24 20:13:49 2000 Jason Eckhardt <jle@cygnus.com>
* bb-reorder.c (REORDER_MOVED_BLOCK_END): Removed.
(reorder_block_def): New members eff_head and eff_end.
(REORDER_BLOCK_EFF_HEAD, REORDER_BLOCK_EFF_END): New macros.
(verify_insn_chain): New function.
(skip_insns_between_block): Add code to skip deleted insns.
Check for note before using.
(chain_reorder_blocks): Replace calls to skip_insns_between_block
with references to REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END.
Check for note before using.
(make_reorder_chain): Use INTVAL rather than XINT to get REG_BR_PROB.
(fixup_reorder_chain): Restructure, clean up, defect removal.
(reorder_basic_blocks): Remove last_insn and references to it.
Moved insn chain verification code into a new function (see above).
Delete defective code that sets last insn.
Initialize REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for
all blocks.
From-SVN: r32737
Michael Hayes [Sat, 25 Mar 2000 01:18:29 +0000 (01:18 +0000)]
* config/c4x/c4x.h (CPP_SPEC): Remove erroneous space.
From-SVN: r32736
Richard Henderson [Sat, 25 Mar 2000 01:06:35 +0000 (17:06 -0800)]
tree.c (lang_safe_for_unsave): Remove.
* tree.c (lang_safe_for_unsave): Remove.
(unsafe_for_reeval): Transmute and rename from safe_for_unsave,
allowing for two levels of unsafeness. Remove lang hook.
* tree.h: Update declarations.
* calls.c (expand_call): Rename safe_for_reeval to try_tail_call.
Create temporary VAR_DECLs to protect very unsafe_for_reeval trees.
Always fail sibcalls when there are pending cleanups.
From-SVN: r32735
Geoff Keating [Fri, 24 Mar 2000 23:57:50 +0000 (23:57 +0000)]
va-arg-14.c: New test for va_start where the first parameter is a function argument.
* execute/va-arg-14.c: New test for va_start where the first
parameter is a function argument.
From-SVN: r32734
Geoff Keating [Fri, 24 Mar 2000 23:52:16 +0000 (23:52 +0000)]
flow.c (propagate_block): When we delete an ADDR_VEC, also delete the BARRIER following it if there is one.
* flow.c (propagate_block): When we delete an ADDR_VEC,
also delete the BARRIER following it if there is one.
From-SVN: r32733
Richard Henderson [Fri, 24 Mar 2000 23:47:17 +0000 (15:47 -0800)]
builtins.c (expand_builtin_bzero): Convert `length' argument to sizetype.
* builtins.c (expand_builtin_bzero): Convert `length' argument
to sizetype.
From-SVN: r32732
Jakub Jelinek [Fri, 24 Mar 2000 21:50:31 +0000 (22:50 +0100)]
sparc.h (REVERSIBLE_CC_MODE): Revert Jan, 25 change until infrastructure is finished.
* config/sparc/sparc.h (REVERSIBLE_CC_MODE): Revert Jan, 25 change
until infrastructure is finished.
From-SVN: r32731
Jakub Jelinek [Fri, 24 Mar 2000 21:48:01 +0000 (22:48 +0100)]
sibcall.c (skip_copy_to_return_value): Use OUTGOING_REGNO for comparison if regno's are equal.
* sibcall.c (skip_copy_to_return_value): Use OUTGOING_REGNO for
comparison if regno's are equal.
* calls.c (initialize_argument_informat): Add ecf_flags argument.
Use FUNCTION_INCOMING_ARG if available and ECF_SIBCALL.
(expand_call): Update caller.
Avoid making a sibling call if argument size of the callee is larger
than argument size of the caller.
Call hard_function_value with outgoing set if in sibcall pass.
Use FUNCTION_INCOMING_ARG if available and ECF_SIBCALL.
* final.c (permitted_reg_in_leaf_functions, only_leaf_regs_used):
Change LEAF_REGISTERS from an array initializer to actual array
identifier. Move static global variable into the function.
(leaf_function_p): Allow SIBLING_CALL_P calls even outside of
sequences for leaf functions.
* global.c (global_alloc): Likewise.
* tm.texi (LEAF_REGISTERS): Update documentation.
* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Remove the ugly
TARGET_FLAT leaf disabling hack.
(LEAF_REGISTERS): Changed from an array initializer to actual array
identifier to avoid duplication and remove the above hack.
(FUNCTION_OK_FOR_SIBCALL): Define.
* config/sparc/sparc.md (sibcall): New attr type. Use it almost
always like call attribute.
(eligible_for_sibcall_delay): New attribute.
(sibcall): New delay type.
(sibcall, sibcall_value, sibcall_epilogue): New expands.
(sibcall_symbolic_sp32, sibcall_symbolic_sp64,
sibcall_value_symbolic_sp32, sibcall_value_symbolic_sp64): New insns.
* config/sparc/sparc.c (sparc_leaf_regs): New array.
(eligible_for_sibcall_delay, output_restore_regs, output_sibcall):
New functions.
(output_function_epilogue): Move part of the code into
output_restore_regs.
(ultra_code_from_mask, ultrasparc_sched_reorder): Handle
TYPE_SIBCALL.
* sparc-protos.h (output_sibcall, eligible_for_sibcall_delay): New
prototypes.
From-SVN: r32730
Ian Lance Taylor [Fri, 24 Mar 2000 21:32:08 +0000 (21:32 +0000)]
merge from bfdland
From-SVN: r32729
Jeffrey A Law [Fri, 24 Mar 2000 20:50:35 +0000 (20:50 +0000)]
integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns here.
* integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns here.
(save_parm_insns): Not here.
From-SVN: r32728
Kaveh R. Ghazi [Fri, 24 Mar 2000 20:20:56 +0000 (20:20 +0000)]
builtins.c (expand_builtin_bzero): New function.
* builtins.c (expand_builtin_bzero): New function.
(expand_builtin): Handle bzero.
* builtins.def: Add BUILT_IN_BZERO.
* c-common.c (c_common_nodes_and_builtins): Provide builtin
prototype & function for bzero.
From-SVN: r32727
Nathan Sidwell [Fri, 24 Mar 2000 16:36:06 +0000 (16:36 +0000)]
decl.c (vtype_decl_p): Use TYPE_POLYMORPHIC_P.
* decl.c (vtype_decl_p): Use TYPE_POLYMORPHIC_P.
* rtti.c (get_tinfo_decl): Set comdat linkage on new-abi
tinfo object.
(emit_tinfo_decl): Only emit polymorphic tinfo's when emitting
vtable.
From-SVN: r32725
Warren Levy [Fri, 24 Mar 2000 09:18:12 +0000 (09:18 +0000)]
BigInteger.java (divide): Handle the special case when dividing by 1 and the high bit of the dividend is set.
* java/math/BigInteger.java(divide): Handle the special case when
dividing by 1 and the high bit of the dividend is set.
(setShiftRight): Handle case when count == 0.
From-SVN: r32724
Warren Levy [Fri, 24 Mar 2000 09:09:56 +0000 (09:09 +0000)]
Font.java (isBold): Fix syntax error.
* java/awt/Font.java(isBold): Fix syntax error.
(isItalic): ditto.
* java/awt/Frame.java(postEvent): ditto.
* java/awt/Menu.java(postEvent): ditto.
* java/awt/MenuBar.java(postEvent): ditto.
* java/awt/Toolkit.java(init): Included a stub.
From-SVN: r32723
Jeff Law [Fri, 24 Mar 2000 08:45:11 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32722
Jason Merrill [Fri, 24 Mar 2000 02:14:39 +0000 (21:14 -0500)]
tweak comments
From-SVN: r32721
Michael Meissner [Fri, 24 Mar 2000 02:05:09 +0000 (02:05 +0000)]
Undo part of 3/21/2000 change
From-SVN: r32720
Geoff Keating [Fri, 24 Mar 2000 01:03:24 +0000 (01:03 +0000)]
rs6000.h (ARG_POINTER_CFA_OFFSET): New definition...
* config/rs6000/rs6000.h (ARG_POINTER_CFA_OFFSET): New definition,
try to protect against middle-end changes that break binary
compatibility.
(DWARF_FRAME_REGISTERS): New definition, likewise for backend.
From-SVN: r32719
Michael Hayes [Thu, 23 Mar 2000 22:15:46 +0000 (22:15 +0000)]
Clobber DP reg in case address needs to be loaded out of memory.
* config/c4x/c4x.md (load_immed_address): Add DP reg clobber.
From-SVN: r32717
Richard Kenner [Thu, 23 Mar 2000 22:12:22 +0000 (22:12 +0000)]
calls.c (expand_call): If TARGET is passed by reference and is readonly, write a CLOBBER.
* calls.c (expand_call): If TARGET is passed by reference and
is readonly, write a CLOBBER.
From-SVN: r32716
Kaveh R. Ghazi [Thu, 23 Mar 2000 21:32:10 +0000 (21:32 +0000)]
builtins.c (expand_builtin): Handle bcmp.
* builtins.c (expand_builtin): Handle bcmp.
* builtins.def: Add BUILT_IN_BCMP.
* c-common.c (c_common_nodes_and_builtins): Provide builtin
prototype & function for bcmp.
From-SVN: r32715
Jim Wilson [Thu, 23 Mar 2000 19:38:24 +0000 (19:38 +0000)]
Fix misscheduling of epilogue predicate register restore.
* config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC): Move case 6...
(rtx_needs_barrier, case UNSPEC_VOLATILE): to here.
* config/ia64/ia64.md (pr_restore): Change UNSPEC to UNSPEC_VOLATILE.
From-SVN: r32714
Andrew Haley [Thu, 23 Mar 2000 16:38:29 +0000 (16:38 +0000)]
mips.md (movdf_internal1a): Delete (set 'f', 'F') alternative when using -fp64 -gp32.
Thu Mar 23 16:04:40 2000 Andrew Haley <aph@cygnus.com>
* config/mips/mips.md (movdf_internal1a): Delete (set 'f', 'F')
alternative when using -fp64 -gp32.
From-SVN: r32707
Bryce McKinlay [Thu, 23 Mar 2000 12:35:44 +0000 (12:35 +0000)]
Thread_Wait.java: New file.
2000-03-23 Bryce McKinlay <bryce@albatross.co.nz>
* libjava.lang/Thread_Wait.java: New file.
* libjava.lang/Thread_Sleep.java: New file.
* libjava.lang/Thread_Monitor.java: New file.
* libjava.lang/Thread_Wait.out: New file.
* libjava.lang/Thread_Sleep.out: New file.
* libjava.lang/Thread_Monitor.out: New file.
* libjava.lang/Thread_Interrupt.java: New file.
* libjava.lang/Thread_Wait_2.java: New file.
* libjava.lang/Thread_Wait_2.out: New file.
* libjava.lang/Thread_Wait_Interrupt.java: New file.
* libjava.lang/Thread_Wait_Interrupt.out: New file.
* libjava.lang/Thread_Interrupt.out: New file.
* libjava.lang/Thread_Join.java: New file.
* libjava.lang/Thread_Join.out: New file.
* libjava.lang/Thread_Alive.java: New file.
* libjava.lang/Thread_Alive.out: New file.
From-SVN: r32706
Jason Merrill [Thu, 23 Mar 2000 12:14:06 +0000 (12:14 +0000)]
rs6000.h (DWARF_FRAME_RETURN_COLUMN): Define.
* config/rs6000/rs6000.h (DWARF_FRAME_RETURN_COLUMN): Define.
* config/alpha/alpha.h (DWARF_FRAME_RETURN_COLUMN): Define.
* config/sparc/sparc.h (DWARF_FRAME_RETURN_COLUMN): Define.
* frame.h (frame_state): Revert last change.
* frame.c (execute_cfa_insn): Just don't record the save of a CFA reg.
* libgcc2.c (throw_helper): Revert last change.
From-SVN: r32705
Nathan Sidwell [Thu, 23 Mar 2000 09:33:43 +0000 (09:33 +0000)]
Fix explanation to match the post patch behaviour
From-SVN: r32704
Nathan Sidwell [Thu, 23 Mar 2000 09:23:16 +0000 (09:23 +0000)]
* g++.old-deja/g++.ext/array4.C: New test.
From-SVN: r32703
Jeff Law [Thu, 23 Mar 2000 08:45:06 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32702
Alexandre Petit-Bianco [Thu, 23 Mar 2000 07:01:24 +0000 (07:01 +0000)]
[multiple changes]
2000-03-22 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (check_abstract_method_definitions): New local
`end_type_reached'. Make sure we also consider `end_type'.
(java_check_abstract_method_definitions): Make sure we also
eventually consider `java.lang.Object'.
(maybe_use_access_method): Don't use access method if not a pure
inner class or if the method's context is right.
(find_applicable_accessible_methods_list): New static
`object_done'. Don't search abstract classes as interfaces. Fixed
indentation. Fixed the `java.lang.Object' only search. Search class'
interface(s) first, fully search enclosing contexts.
(find_most_specific_methods_list): Pick closest candidates when
they're all abstract.
2000-03-17 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (check_method_types_complete): New function.
(create_class): Reset anonymous class counter only when seeing an
non inner classe.
(java_complete_class): JDEP_METHOD: Don't recompute signature
if incomplete.
2000-03-17 Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (build_static_ref): Fixed indentation in comment.
* java-tree.def (TRY_EXPR): Fixed typo in name.
(CLASS_LITERAL): Likewise.
* java-tree.h: (TYPE_DOT_CLASS): New macro.
(struct lang_type): New field `dot_class'.
* jcf-write.c (generate_bytecode_insns): Fixed error message.
(generate_classfile): Method `class$' is synthetic.
* parse.y (build_do_class_method): New function.
(build_dot_class_method_invocation): Likewise.
(java_complete_expand_methods): Expand TYPE_DOT_CLASS if necessary.
(resolve_qualified_expression_name): Handle CLASS_LITERAL.
(qualify_ambiguous_name): Likewise.
(patch_incomplete_class_ref): Invoke synthetic method if necessary.
(build_try_statement): Fixed leading comment.
2000-03-15 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.h (INNER_ENCLOSING_SCOPE_CHECK): Disregard anonymous
classes.
* parse.y (patch_method_invocation): Handle anonymous classes
creation in static context.
2000-03-15 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.h (INNER_ENCLOSING_SCOPE_CHECK): New macro.
* parse.y (resolve_qualified_expression_name): Use it.
(patch_method_invocation): Likewise.
2000-03-15 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (register_incomplete_type): JDEP_ENCLOSING set
depending on the type of dependency which dictates what the
current class is.
(unresolved_type_p): Resolved types limited to the current class.
(For details, see: http://gcc.gnu.org/ml/gcc-patches/2000-03/msg00790.html)
From-SVN: r32701
Geoff Keating [Thu, 23 Mar 2000 01:24:15 +0000 (01:24 +0000)]
New test execute/ieee/
20000320-1.c.
From-SVN: r32700
Richard Henderson [Thu, 23 Mar 2000 00:53:28 +0000 (16:53 -0800)]
* stmt.c (expand_asm_operands): Don't promote the temporary.
From-SVN: r32699
Theodore Papadopoulo [Thu, 23 Mar 2000 00:41:05 +0000 (01:41 +0100)]
builtin.c (get_pointer_alignment): Use DECL_P and TYPE_P macros.
* builtin.c (get_pointer_alignment): Use DECL_P and TYPE_P macros.
* c-common.c (decl_attributes,check_format_info,truthvalue_conversion,
c_get_alias_set): Likewise.
* c-decl.c (duplicate_decls): Likewise.
* c-typeck.c (default_conversion,build_unary_op): Likewise.
* calls.c (initialize_argument_information): Likewise.
* dwarf2out.c (decl_class_context,add_abstract_origin_attribute):
Likewise.
* dwarfout.c (decl_class_context,output_type): Likewise.
* expr.c (get_inner_reference): Likewise.
* fold-const.c (simple_operand_p,fold): Likewise.
* function.c (aggregate_value_p): Likewise.
* stmt.c (expand_asm_operands): Likewise.
* varasm.c (named_section): Likewise.
* call.c (check_dtor_name,build_new_method_call): Likewise.
* decl.c (push_class_binding,poplevel,pushtag,lookup_namespace_name,
make_typename_type,check_initializer,cp_finish_decl,xref_tag): Likewise.
* decl2.c (grokfield,build_expr_from_tree,build_expr_from_tree,
decl_namespace,arg_assoc_template_arg,arg_assoc,
validate_nonmember_using_decl,do_class_using_decl): Likewise.
* error.c (dump_template_argument,dump_expr,cp_file_of,cp_line_of,
args_to_string): Likewise.
* friend.c (is_friend): Likewise.
* lex.c (note_got_semicolon,note_list_got_semicolon,is_global): Likewise.
* method.c (build_overload_nested_name,build_overload_value,
build_qualified_name,build_qualified_name,hack_identifier): Likewise.
* parse.y (typename_sub,typename_sub1): Likewise.
* pt.c (push_inline_template_parms_recursive,check_template_shadow,
process_partial_specialization,convert_template_argument,
template_args_equal,add_pending_template,lookup_template_class,
for_each_template_parm_r,maybe_fold_nontype_arg,
tsubst,instantiate_template,type_unification_real,unify,
instantiate_pending_templates,set_mangled_name_for_template_decl):
Likewise.
* repo.c (repo_get_id,repo_template_used): Likewise.
* search.c (lookup_field_1): Likewise.
* tree.c (walk_tree,get_type_decl,cp_tree_equal,member_p): Likewise.
* xref.c (classname): Likewise.
From-SVN: r32698
Jason Merrill [Thu, 23 Mar 2000 00:33:35 +0000 (19:33 -0500)]
oops
From-SVN: r32697
Jason Merrill [Thu, 23 Mar 2000 00:29:55 +0000 (00:29 +0000)]
Implement dwarf2 exception handling for the ARM.
* config/arm/arm.h (INCOMING_RETURN_ADDR_RTX): Define.
(DWARF_FRAME_RETURN_COLUMN): Define.
* config/arm/arm.c (emit_multi_reg_push): Return rtx. Attach
REG_FRAME_RELATED_EXPR note.
(emit_sfm): Likewise.
(arm_expand_prologue): Set RTX_FRAME_RELATED_P on everything.
* dwarf2out.c (reg_save): Handle saving a register to itself.
(dwarf2out_frame_debug_expr): Handle an intermediate cfa reg.
* except.c (eh_regs): Don't use the static chain reg if it's
callee-saved.
* frame.h (frame_state): Add cfa_saved field.
* frame.c (execute_cfa_insn): Set it.
* libgcc2.c (throw_helper): Don't adjust sp if it's restored in
the epilogue.
* function.c (ARG_POINTER_CFA_OFFSET): Default to FIRST_PARM_OFFSET.
Now takes a parm.
(instantiate_virtual_regs): Adjust.
* tm.texi: Adjust.
* config/m68k/m68k.h (ARG_POINTER_CFA_OFFSET): Don't define.
* config/ns32k/ns32k.h (ARG_POINTER_CFA_OFFSET): Don't define.
* config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): Take a parm.
* dwarf2out.c (reg_number): Refer to FIRST_PSEUDO_REGISTER.
(initial_return_save): Use DWARF_FRAME_REGNUM, not reg_number.
From-SVN: r32696
Kaveh R. Ghazi [Thu, 23 Mar 2000 00:20:37 +0000 (00:20 +0000)]
builtins.def: New file.
* builtins.def: New file.
* Makefile.in (TREE_H): Depend on builtins.def.
* builtins.c (built_in_names): Use builtins.def.
* tree.h (built_in_function): Likewise.
From-SVN: r32695
Mark Mitchell [Wed, 22 Mar 2000 23:55:31 +0000 (23:55 +0000)]
tree.c (size_in_bytes): Return size_zero_node, not integer_zero_node.
* tree.c (size_in_bytes): Return size_zero_node, not
integer_zero_node.
From-SVN: r32694
Geoff Keating [Wed, 22 Mar 2000 23:16:21 +0000 (23:16 +0000)]
fp-bit.c (pack_d): Correct the case when a denormal is rounded up and stops being denormal.
* config/fp-bit.c (pack_d): Correct the case when a denormal
is rounded up and stops being denormal.
From-SVN: r32693
Richard Henderson [Wed, 22 Mar 2000 23:09:29 +0000 (15:09 -0800)]
alpha.c (function_arg): Check for void_type_node before using MUST_PASS_IN_STACK.
* config/alpha/alpha.c (function_arg): Check for void_type_node
before using MUST_PASS_IN_STACK.
From-SVN: r32692
Stephane Carrez [Wed, 22 Mar 2000 23:05:12 +0000 (00:05 +0100)]
regmove.c (combine_stack_adjustments_for_block): Check that the stack pointer is a valid memory address.
* regmove.c (combine_stack_adjustments_for_block): Check that
the stack pointer is a valid memory address.
From-SVN: r32691
Alexandre Petit-Bianco [Wed, 22 Mar 2000 22:48:04 +0000 (22:48 +0000)]
jcf-write.c (generate_bytecode_insns): TRY_FINALLY_EXPR...
Mon Mar 20 08:58:51 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jcf-write.c (generate_bytecode_insns): TRY_FINALLY_EXPR:
properly initialize `finished_label.' Don't emit gotos for empty
try statements.
(Minor fix: http://gcc.gnu.org/ml/gcc-patches/2000-03/msg00762.html)
From-SVN: r32690
Mark Mitchell [Wed, 22 Mar 2000 21:43:45 +0000 (21:43 +0000)]
cp-tree.h (BINFO_FOR_VBASE): Adjust documentation.
* cp-tree.h (BINFO_FOR_VBASE): Adjust documentation.
(CANONICAL_BINFO): New macro.
(BINFO_NEW_VTABLE_MARKED): Use it.
(SET_BINFO_NEW_VTABLE_MARKED): Likewise.
(CLEAR_BINFO_NEW_VTABLE_MARKED): Likewise.
* class.c (dfs_build_vbase_offset_vtbl_entries): Use BINFO_TYPE,
not TREE_TYPE.
(build_primary_vtable): Adjust usage of BINFO_NEW_VTABLE_MARKED.
(build_secondary_vtable): Likewise.
(dfs_finish_vtbls): Likewise.
(dfs_accumulate_vtbl_inits): Likewise.
(accumulate_vtbl_inits): New function.
(finish_vtbls): Make sure that virtual bases come after
non-virtual bases in the vtable group.
(record_base_offsets): Don't save and restore TREE_VIA_VIRTUAL.
(finish_struct_1): Adjust usage of BINFO_NEW_VTABLE_MARKED.
* search.c (struct vbase_info): Move definition.
(marked_new_vtable_p): Adjust usage of BINFO_NEW_VTABLE_MARKED.
(unmarked_new_vtable_p): Likewise.
(dfs_mark_vtable_path): Remove.
(dfs_mark_new_vtable): Remove.
(dfs_unmark_new_vtable): Likewise.
(dfs_clear_search_slot): Likewise.
(dfs_find_vbases): Adjust usage of BINFO_NEW_VTABLE_MARKED.
(dfs_clear_vbase_slots): Likewise.
(init_vbase_pointers): LIkewise.
From-SVN: r32689
Tom Tromey [Wed, 22 Mar 2000 21:25:21 +0000 (21:25 +0000)]
iface.java: New file.
* libjava.compile/iface.java: New file.
* libjava.compile/static_3.java: New file.
* libjava.compile/static_2.java: New file.
* libjava.compile/static_1.xfail: New file.
* libjava.compile/static_1.java: New file.
* libjava.compile/redef6.xfail: New file.
* libjava.compile/redef6.java: New file.
* libjava.compile/redef5.xfail: New file.
* libjava.compile/redef5.java: New file.
* libjava.compile/redef4.xfail: New file.
* libjava.compile/redef4.java: New file.
* libjava.compile/redef3.xfail: New file.
* libjava.compile/redef3.java: New file.
* libjava.compile/redef2.xfail: New file.
* libjava.compile/redef2.java: New file.
* libjava.compile/redef1.xfail: New file.
* libjava.compile/redef1.java: New file.
* libjava.compile/not_a_redef.java: New file.
* libjava.compile/inner_1.java: New file.
* libjava.compile/static_init.xfail: New file.
* libjava.compile/static_init.java: New file.
From-SVN: r32688
Mark Mitchell [Wed, 22 Mar 2000 17:25:56 +0000 (17:25 +0000)]
New test case.
From-SVN: r32686
Jan Hubicka [Wed, 22 Mar 2000 10:51:10 +0000 (11:51 +0100)]
* calls.c: re-install Mar 16 emit_library_call merge.
From-SVN: r32685
Jason Merrill [Wed, 22 Mar 2000 10:12:50 +0000 (10:12 +0000)]
typeck.c (type_after_usual_arithmetic_conversions): Prefer a SIZETYPE to a non-SIZETYPE.
* typeck.c (type_after_usual_arithmetic_conversions): Prefer a
SIZETYPE to a non-SIZETYPE.
From-SVN: r32684
Jeff Law [Wed, 22 Mar 2000 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32683
Jakub Jelinek [Wed, 22 Mar 2000 07:58:53 +0000 (08:58 +0100)]
sparc.c (mem_min_alignment): If not optimizing...
* config/sparc/sparc.c (mem_min_alignment): If not optimizing,
we cannot be sure that if reload_completed base register will
be properly aligned.
From-SVN: r32682
Richard Henderson [Wed, 22 Mar 2000 07:14:41 +0000 (23:14 -0800)]
* flow.c (delete_block): Fix typo last change.
From-SVN: r32681
Mark Mitchell [Wed, 22 Mar 2000 05:39:35 +0000 (05:39 +0000)]
class.c (layout_virtual_bases): Adjust names in conditionally compiled code.
* class.c (layout_virtual_bases): Adjust names in conditionally
compiled code.
From-SVN: r32680
Mark Mitchell [Wed, 22 Mar 2000 01:32:09 +0000 (01:32 +0000)]
class.c (record_base_offsets): New function.
* class.c (record_base_offsets): New function.
(layout_conflict_p): Likewise.
(layout_nonempty_base_or_field): Use it.
(layout_empty_base): New function.
(build_base_field): Use it.
(build_base_fields): Update comment.
(layout_virtual_bases): Fold in a little code form
layout_basetypes. Use layout_empty_base.
(layout_basetypes): Remove.
(end_of_class): New function.
(layout_class_type): Use it. Adjust.
* cp-tree.h (CLASSTYPE_VBASECLASSES): Fix typo in comment.
(fntype_p): Remove.
* search.c (dfs_skip_nonprimary_vbases_unmarkedp): Fix typo in
comment.
(dfs_skip_nonprimary_vbases_markedp): Likewise.
* typeck.c (fntype_p): Remove.
From-SVN: r32679
Mark Mitchell [Wed, 22 Mar 2000 00:50:51 +0000 (00:50 +0000)]
cp-tree.h (TI_SPEC_INFO): Remove.
* cp-tree.h (TI_SPEC_INFO): Remove.
(CLASSTYPE_TI_SPEC_INFO): Likewise.
* pt.c (process_partial_specialization): Likewise.
From-SVN: r32678
Mark Mitchell [Tue, 21 Mar 2000 22:28:33 +0000 (22:28 +0000)]
class.c (build_base_field): Fix thinko in computation of binfo offsets.
* class.c (build_base_field): Fix thinko in computation of binfo
offsets.
From-SVN: r32677
Bryce McKinlay [Tue, 21 Mar 2000 21:33:53 +0000 (21:33 +0000)]
Event.java: Add all the event type constants.
2000-03-21 Bryce McKinlay <bryce@albatross.co.nz>
* java/awt/Event.java: Add all the event type constants.
(Event): Implemented constructors.
(controlDown): Implemented.
(metaDown): Implemented.
(paramString): Stubbed.
(shiftDown): Implemented.
(toString): Implemented.
(translate): Implemented.
From-SVN: r32676
Mark Mitchell [Tue, 21 Mar 2000 20:13:06 +0000 (20:13 +0000)]
tree.c (mark_local_for_remap_p): Mark variables declared in TARGET_EXPRs as well.
* tree.c (mark_local_for_remap_p): Mark variables declared in
TARGET_EXPRs as well.
From-SVN: r32675
Mark Mitchell [Tue, 21 Mar 2000 19:33:42 +0000 (19:33 +0000)]
c-common.c (c_expand_expr_stmt): Use COMPLETE_TYPE_OR_VOID_P...
* c-common.c (c_expand_expr_stmt): Use COMPLETE_TYPE_OR_VOID_P,
not COMPLETE_TYPE_P, to check the type of the expression.
From-SVN: r32674
Kaveh Ghazi [Tue, 21 Mar 2000 19:08:19 +0000 (19:08 +0000)]
Another bogus case added
From-SVN: r32673
Michael Meissner [Tue, 21 Mar 2000 18:54:16 +0000 (18:54 +0000)]
Fix problems with -mno-fp-regs
From-SVN: r32672
Nathan Sidwell [Tue, 21 Mar 2000 18:10:48 +0000 (18:10 +0000)]
tree.h (COMPLETE_TYPE_P): New macro.
gcc
* tree.h (COMPLETE_TYPE_P): New macro.
(COMPLETE_OR_VOID_TYPE_P): New macro.
(COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): New macro.
* stor-layout.c (layout_type, case VOID_TYPE): Don't set TYPE_SIZE.
* c-aux-info.c (gen_type): Use them.
* c-common.c (c_expand_expr_stmt): Likewise.
* c-decl.c (poplevel, pushdecl, start_decl, finish_decl,
grokdeclarator, grokparms, finish_struct, start_function,
store_parm_decls, combine_parm_decls): Likewise.
* c-parse.y (cast_expr): Likewise.
* c-typeck.c (require_complete_type, c_sizeof, c_sizeof_nowarn,
c_size_in_bytes, c_alignof, build_component_ref,
build_indirect_ref, build_array_ref, convert_arguments,
build_binary_op, pointer_diff, build_unary_op, digest_init: Likewise.
* calls.c (initialize_argument_information): Likewise.
* convert.c (convert_to_integer): Likewise.
* dbxout.c (dbxout_typedefs, dbxout_type, dbxout_symbol): Likewise.
* dwarfout.c (location_or_const_value_attribute,
output_enumeration_type_die, output_structure_type_die,
output_union_type_die, output_type): Likewise.
* expr.c (safe_from_p, expand_expr): Likewise.
* function.c (assign_parms): Likewise.
* sdbout.c (sdbout_symbol, sdbout_one_type): Likewise.
* tree.c (build_array_type, build_function_type,
build_method_type, build_offset_type, build_complex_type): Likewise.
* c-parse.c, c-parse.h: Regenerated.
gcc/cp
* typeck.c (require_complete_type, complete_type,
complete_type_or_else, c_sizeof, c_sizeof_nowarn,
build_array_ref, convert_arguments, pointer_diff,
build_x_unary_op, build_unary_op, build_c_cast,
build_modify_expr): Use COMPLETE_TYPE_P etc.
* call.c (is_complete, convert_like_real,
build_new_method_call): Likewise.
* class.c (build_vbase_pointer_fields, check_bases,
build_base_field, finish_struct_1, pushclass): Likewise.
* cvt.c (cp_convert_to_pointer, convert_to_void): Likewise.
* decl.c (maybe_process_template_type_declaration, pushtag,
pushdecl, redeclaration_error_message, start_decl, start_decl_1,
layout_var_decl, check_initializer, cp_finish_decl,
grokdeclarator, require_complete_types_for_parms,
grok_op_properties, xref_tag, xref_basetypes,
check_function_type): Likewise.
* decl2.c (check_classfn, reparse_absdcl_as_casts): Likewise.
* friend.c (do_friend): Likewise.
* init.c (build_offset_ref): Likewise.
* parse.y (structsp): Likewise.
* pt.c (maybe_process_partial_specialization,
tsubst_friend_function, instantiate_class_template, tsubst,
do_type_instantiation, instantiate_pending_templates): Likewise.
* repo.c (repo_get_id): Likewise.
* rtti.c (build_typeid, get_typeid, build_dynamic_cast_1,
synthesize_tinfo_var, emit_support_tinfos): Likewise.
* search.c (lookup_fnfields_1, lookup_conversions): Likewise.
* semantics.c (begin_class_definition): Likewise.
* tree.c (build_cplus_method_type): Likewise.
* typeck2.c (digest_init, build_functional_cast,
add_exception_specifier): Likewise.
* parse.h, parse.c: Regenerated.
From-SVN: r32671
Kaveh R. Ghazi [Tue, 21 Mar 2000 17:02:57 +0000 (17:02 +0000)]
* gcc.dg/noreturn-1.c: Check for another bogus noreturn case.
From-SVN: r32670
Nathan Sidwell [Tue, 21 Mar 2000 16:12:25 +0000 (16:12 +0000)]
cxxabi.h: New header file.
* inc/cxxabi.h: New header file. Define new-abi entry points.
(__pointer_type_info::target): Rename member to ...
(__pointer_type_info::type): ... here.
(__base_class_info::type): Rename member to ...
(__base_class_info::base): ... here.
* Make-lang.in (CXX_EXTRA_HEADERS): Add cxxabi.h
* cp-tree.h (CPTI_ABI): New global tree enumeration.
(abi_node): New global tree node.
* decl.c (abi_node): Document.
(init_decl_processing): Initialize abi_node.
* rtti.c (build_dynamic_cast_1): Use abi_node for new-abi.
(get_vmi_pseudo_type_info): Likewise.
(create_tinfo_types): Likewise.
(emit_support_tinfos): Likewise.
* tinfo.h (cxxabi.h): Include for new-abi.
Move rtti class definitions to new header file.
* tinfo.cc (abi): Use the namespace.
(std): Move new abi rtti classes from here ...
(__cxxabiv1): ... to here.
* tinfo2.cc (cxxabi.h): Include for new-abi.
Move rtti class definitions to new header file.
(std): Move new abi rtti classes from here ...
(__cxxabiv1): ... to here.
* inc/typeinfo (__class_type_info): Move into __cxxabiv1
namespace.
From-SVN: r32669
Jeff Law [Tue, 21 Mar 2000 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32668
Michael Hayes [Tue, 21 Mar 2000 06:52:18 +0000 (06:52 +0000)]
* config/c4x/rtems.h: Include config/rtems.h.
From-SVN: r32667
Denis Chertykov [Tue, 21 Mar 2000 06:45:57 +0000 (06:45 +0000)]
avr.c (encode_section_info): sets SYMBOL_REF_FLAG if decl is a FUNCTION_DECL
* config/avr/avr.c (encode_section_info): sets SYMBOL_REF_FLAG if
decl is a FUNCTION_DECL
From-SVN: r32666
Bryce McKinlay [Tue, 21 Mar 2000 05:54:42 +0000 (05:54 +0000)]
* java/lang/natClass.cc (isInstance): Use JV_CLASS, not getClass().
From-SVN: r32665
Bryce McKinlay [Tue, 21 Mar 2000 05:44:29 +0000 (05:44 +0000)]
natClass.cc (isInstance): Use _Jv_IsAssignableFrom(), not Class.isAssignableFrom().
* java/lang/natClass.cc (isInstance): Use _Jv_IsAssignableFrom(),
not Class.isAssignableFrom().
From-SVN: r32664
Bryce McKinlay [Tue, 21 Mar 2000 05:12:20 +0000 (05:12 +0000)]
natClass.cc (isInstance): Initialize `this'.
2000-03-21 Bryce McKinlay <bryce@albatross.co.nz>
* java/lang/natClass.cc (isInstance): Initialize `this'.
(isAssignableFrom): Initialize `this' and `klass'.
(_Jv_IsAssignableFrom): If an interface has no idt, it is not
implemented by any loaded class, so return false.
From-SVN: r32663