Commit Graph

26921 Commits

Author SHA1 Message Date
Mark Mitchell
116eebd674 emit-rtl.c (remove_unncessary_notes): Check that all NOTE_INSN_BLOCK_BEG and NOTE_INSN_BLOCK_END notes have an...
* emit-rtl.c (remove_unncessary_notes): Check that all
	NOTE_INSN_BLOCK_BEG and NOTE_INSN_BLOCK_END notes have an
	associated NOTE_BLOCK.
	* function.h (identify_blocks): Update comments.
	(reorder_blocks): Declare.
	* function.c (identify_blocks): Don't take paramters.
	(reorder_blocks): Don't take parameters.
	* loop.h (find_loop_tree_blocks): Remove.
	(unroll_block_trees): Likewise.
	* loop.c (loop_optimize): Don't call find_loop_tree_blocks.  Use
	reorder_blocks instead of unroll_block_trees.h
	* sibcall.c (optimize_sibling_and_tail_recursive_calls): Likewise.
	* stmt.c (find_loop_tree_blocks): Remove.
	(unroll_block_trees): Likewise.
	* toplev.c (rest_of_compilation): Don't call find_loop_tree_blocks
	in whole-function mode.
	* tree.h (reorder_blocks): Remove declaration.

From-SVN: r32632
2000-03-19 05:26:48 +00:00
Mark Mitchell
cd8ed62964 cp-tree.h (CLEAR_DECL_C_BIT_FIELD): New macro.
* cp-tree.h (CLEAR_DECL_C_BIT_FIELD): New macro.
	* class.c (check_bitfield_decl): Turn illegal bitfields into
	non-bitfields.
	(dfs_propagate_binfo_offsets): Adjust for new size_binop
	semantics.
	(dfs_offset_for_unshared_vbases): Likewise.
	* cvt.c (cp_convert_to_pointer): Convert NULL to a
	pointer-to-member correctly under the new ABI.
	* expr.c (cplus_expand_constant): Don't use cp_convert when
	turning an offset into a pointer-to-member.
	* init.c (resolve_offset_ref): Don't adjust pointers-to-members
	when dereferencing them under the new ABI.
	* typeck.c (get_member_function_from_ptrfunc): Tweak calculation
	of pointers-to-members under the new ABI.

From-SVN: r32631
2000-03-19 05:22:04 +00:00
Mark Mitchell
3ca3ce41d7 Tweak for slightly different error-output.
From-SVN: r32630
2000-03-19 05:17:20 +00:00
Mark Mitchell
a054ab1d0c * Makefile.in (expr.o): Depend on intl.h.
From-SVN: r32629
2000-03-19 05:14:44 +00:00
Mark Mitchell
e2c49ac21c * expr.c: Include intl.h.
From-SVN: r32628
2000-03-19 05:13:15 +00:00
Tom Tromey
6264c3956f * libjava.lang/pr109.java: Added `println' at end.
From-SVN: r32627
2000-03-19 04:35:24 +00:00
Richard Henderson
942248b868 * expr.c (emit_move_insn_1): Clarify cannot_inline message.
From-SVN: r32626
2000-03-18 17:56:42 -08:00
Mark Mitchell
01955e9613 class.c (check_bitfield_decl): Remove restriction on really long bitfields.
* class.c (check_bitfield_decl): Remove restriction on really long
	bitfields.
	(layout_class_type): Implement new ABI handling of bitfields
	longer than their types.

From-SVN: r32625
2000-03-19 00:59:51 +00:00
Mark Mitchell
7145ef21d8 tree.h (tree_index): Remove enumerals for integer types.
* tree.h (tree_index): Remove enumerals for integer types.
	(integer_type_kind): New type.
	(integer_types): New variable.
	(char_type_node): Adjust.
	(signed_char_type_node): Likewise.
	(unsigned_char_type_node): Likewise.
	(short_integer_type_node): Likewise.
	(short_unsigned_type_node): Likewise.
	(integer_type_node): Likewise.
	(unsigned_type_node): Likewise.
	(long_integer_type_node): Likewise.
	(long_unsigned_type_node): Likewise.
	(long_long_integer_type_node): Likewise.
	(long_long_unsigned_type_node): Likewise.
	* tree.c (integer_types): New variable.
	(init_obstacks): Register it as a root.

From-SVN: r32624
2000-03-19 00:37:52 +00:00
Jason Eckhardt
863251c18d bb-reorder.c (reorder_basic_blocks): Update PREV_INSN as well as NEXT_INSN.
* bb-reorder.c (reorder_basic_blocks): Update PREV_INSN as well as
	NEXT_INSN. Update last insn in chain.

From-SVN: r32623
2000-03-18 20:40:38 +00:00
Jason Merrill
57fb7689e7 dwarf2out.c (dwarf2out_decl): Don't emit anything for types with TYPE_DECL_SUPPRESS_DEBUG set.
* dwarf2out.c (dwarf2out_decl): Don't emit anything for types
        with TYPE_DECL_SUPPRESS_DEBUG set.

From-SVN: r32622
2000-03-18 14:59:35 -05:00
Richard Henderson
12a41c4810 * flow.c (make_edges): Use INTVAL to access REG_EH_REGION value.
From-SVN: r32621
2000-03-18 11:08:06 -08:00
Richard Henderson
cbbf65e012 i386.c (call_insn_operand): Always allow SYMBOL_REF, care for HALF_PIC_P.
* i386.c (call_insn_operand): Always allow SYMBOL_REF,
        care for HALF_PIC_P.
        (expander_call_insn_operand): Remove.
        (ix86_expand_epilogue): New arg `emit_return' to control return insn.
        * i386.h (PREDICATE_CODES): Update.
        * i386.md (all call expanders): Remove predicates, remove special
        handling for half-pic.
        (*call_1, *call_value_1): Handle SIBLING_CALL_P insns.
        (*call_pop_pic2, *call_pic2, *call_value_pop_2, *call_value_2): Remove.
        (sibcall_epilogue): New.

From-SVN: r32620
2000-03-18 11:01:04 -08:00
Martin v. Löwis
b6c5a81ce3 * parse.c: Regenerated.
From-SVN: r32619
2000-03-18 18:19:23 +00:00
Martin v. Löwis
432aff6669 * parse.y (extdefs): Call ggc_collect.
From-SVN: r32618
2000-03-18 18:12:54 +00:00
Nathan Sidwell
f281dd5a9d class.c (build_base_field): Use TYPE_ALIGN to examine a type.
* class.c (build_base_field): Use TYPE_ALIGN to examine a type.
	(note_name_declared_in_class): Use OVL_CURRENT to get at a
	potential overload.

From-SVN: r32617
2000-03-18 10:28:02 +00:00
Jeff Law
ca881de608 Daily bump.
From-SVN: r32616
2000-03-18 01:45:07 -07:00
Hans-Peter Nilsson
82ec9e7829 divconst-2.c: Rewrite to check for standards-compliant result rather than specific constants.
* execute/divconst-2.c: Rewrite to check for standards-compliant
	result rather than specific constants.  Put test-values in array.

From-SVN: r32615
2000-03-18 03:26:47 +00:00
Richard Henderson
787ccee012 rtlanal.c (single_set): Reject if the parallel has anything except SET or USE or CLOBBER.
* rtlanal.c (single_set): Reject if the parallel has anything
        except SET or USE or CLOBBER.

From-SVN: r32614
2000-03-17 15:24:30 -08:00
Richard Henderson
7d89dda571 alpha.h (FUNCTION_OK_FOR_SIBCALL): New.
* alpha.h (FUNCTION_OK_FOR_SIBCALL): New.
        * alpha.md (sibcall, sibcall_value, sibcall_epilogue): New.
        (*sibcall_osf_1, *sibcall_value_osf_1): New.

From-SVN: r32613
2000-03-17 14:41:25 -08:00
Jeffrey A Law
0a1c58a25a Sibling call optimizations.
Co-Authored-By: Richard Henderson <rth@cygnus.com>

From-SVN: r32612
2000-03-17 14:40:45 -08:00
Mark Mitchell
f1fd8077fd objc-act.c (encode_method_prototype): Pass types, not PARM_DECLs, to int_size_in_bytes.
* objc/objc-act.c (encode_method_prototype): Pass types, not
	PARM_DECLs, to int_size_in_bytes.

From-SVN: r32611
2000-03-17 21:44:43 +00:00
Jim Wilson
fa9a44e815 Fix glibc s_scalbn.c miscompilation at -O.
* config/ia64/ia64.md (mix4right_3op): Swap %1 and %2 in template.

From-SVN: r32610
2000-03-17 12:22:18 -08:00
Jim Wilson
e65271be0f Put 1999 years back.
* config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
	config/ia64/ia64.md, config/ia64/xm-ia64.h: Fix copyrights again.

From-SVN: r32609
2000-03-17 12:06:49 -08:00
Nick Clifton
24994dd5d7 Revert unapproved changes that were inadvertanly brought in with the previous
delta.

From-SVN: r32608
2000-03-17 18:15:53 +00:00
Richard Kenner
665f250366 * Clean up usages of TREE_INT_CST_LOW.
* c-parse.in (RESTORE_WARN_FLAGS): Use tree_low_cst.
	* c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c:
	Regenerated.
	* c-tree.h (min_precision): Move declaration to here.
	* c-typeck.c (build_binary_op): Use host_integerp and tree_low_cst.
	(build_unary_op, add_pending_init): Use bit_position.
	(pending_init_member, process_init_element): Likewise.
	(really_start_incremental_init, push_init_level, pop_init_level):
	Don't make copies of nodes or modify them in place, use consistent
	types when tracking positions, and use tree routines computations.
	(set_init_index, output_init_element): Likewise.
	(output_pending_init_elements, process_init_element): Likewise.
	* dbxout.c (dbxout_type_fields): Use bit_position, host_integerp,
	tree_low_cst and int_bit_position; also minor cleanup.
	(dbxout_type_method_1, dbxout_range_type, dbxout_type): Likewise.
	(print_cst_octal): Precision is unsigned.
	(dbxout_symbol): Ensure DECL_INITIAL is in-range and use tree_low_cst.
	* dwarf2out.c (ceiling): Input and output are unsigned HOST_WIDE_INT.
	(simple_type_align_in_bits): Result is unsigned int.
	Use tree_int_low_cst and host_integerp.
	(simple_type_size_in_bits): Result is unsigned HOST_WIDE_INT.
	(field_byte_offset): Result is HOST_WIDE_INT.
	Change types of internal variables so alignments are unsigned int,
	offsets are HOST_WIDE_INT and sizes are unsigned HOST_WIDE_INT.
	Use host_integerp, tree_low_cst, and int_bit_position.
	(add_bit_offset_attribute): Likewise.
	(add_data_member_location_attribute): Use tree_cst_low.
	(add_bound_info): Use host_integerp, integer_zerop, and integer_onep.
	(add_bit_size_attribute): Use tree_low_cst.
	(add_pure_or_virtual_attribute, gen_enumeration_type_die): Likewise.
	* dwarfout.c: Similar changes to dwarf2out.c.
	* expr.c (expand_expr, case ARRAY_REF): Remove redundant code.
	* genoutput.c (n_occurences): Return -1 for null string.
	(strip_whitespace): Accept null string and make into function.
	(scan_operands): Reflect above changes.
	* sdbout.c (plain_type_1): Use host_integerp and tree_low_cst.
	(sdbout_field_types, sdbout_one_type): Likewise; also use bit_position.
	* ssa.c (rename_registers): Add missing cast of arg to bzero.
	* tree.c (int_size_in_bytes): Check for too big to represent.
	(bit_position, int_bit_position, host_integerp, tree_low_cst): New fns.
	* tree.h (host_integerp, tree_low_cst, bit_position, int_bit_position):
	New declarations.
	(min_precision): Delete from here.
	* varasm.c (decode_addr_const): Use host_integerp, bit_position,
	and int_bit_position.
	* objc/objc-act.c (encode_method_prototype): Sizes are HOST_WIDE_INT.
	(encode_method_def): Likewise.
	(build_ivar_list_initializer): Use int_bit_position.
	(generate_shared_structures): Convert size.
	(encode_type, encode_complete_bitfield): Use integer_zerop.
	(encode_bitfield): Use tree_low_cst and int_bit_position.
	* ch/typeck.c (min_precision): New function.
	(build_chill_slice): Use host_integerp and tree_low_cst.
	(expand_constant_to_buffer): Likewise and also int_bit_position.
	LO is unsigned HOST_WIDE_INT
	(build_chill_array_ref_1): Make `i' be HOST_WIDE_INT; use tree_low_cst.
	(extract_constant_from_buffer): Sizes are now HOST_WIDE_INT.
	Use host_integerp and tree_low_cst.
	(build_chill_bin_type): Use host_integerp and tree_low_cst.
	(layout_chill_range_type): Use tree_int_cst_sgn, compare_tree_int,
	tree_low_cst, and min_precision.
	(apply_chill_array_layout): Cleanups for types of variables
	and use tree_int_cst_sgn, compare_tree_int, and tree_low_cst.
	(apply_chill_field_layout): Likewise.
	* cp/class.c (build_vbase_path): Use integer_zerop.
	(build_vtable_entry): Use tree_low_cst.
	(get_vfield_offset): Use bit_position.
	(dfs_modify_vtables): New variable vindex_val; `i' is HOST_WIDE_INT.
	Use tree_low_cst.
	(check_bitfield_decl): Set DECL_SIZE using convert.
	(build_base_field): Set DECL_SIZE and DECL_SIZE_UNIT using size_binop.
	(layout_virtual_bases): DSIZE is unsigned HOST_WIDE_INT.
	Use tree_low_cst.
	(finish_struct_1): Use bit_position.
	(dump_class_hierarchy): Use tree_low_cst.
	* cp/cp-tree.h (min_precision): Add declaration.
	* cp/decl.c (xref_tag, xref_basetypes): Use tree_low_cst.
	* cp/error.c (dump_type_suffix): Use host_integerp and tree_low_cst.
	(dump_expr): Use integer_zerop, host_integerp, and tree_low_cst.
	* cp/expr.c (cplus_expand_constant): Use bit_position.
	* cp/init.c (build_vec_init): Use host_integerp and tree_low_cst.
	* cp/rtti.c (get_base_offset): Use bit_position.
	* cp/typeck.c (build_binary_op): Use integer_zerop, compare_tree_int,
	host_integerp, and tree_low_cst.
	(pointer_int_sum): Use integer_zerop.
	(build_component_addr): Use bit_position.
	* java/class.c (make_field_value): Properly handle sizes.
	(get_dispatch_vector): Use tree_low_cst and host_integerp.
	(layout_class_method): Count using trees.
	* java/decl.c (push_promoted_type): Set TYPE_{MIN,MAX}_VALUE with
	copy_node.
	* java/expr.c (java_array_data_offset): Use int_bit_position.
	(build_newarray, build_anewarray): Use host_integerp and tree_low_cst.
	(build_invokevirtual): Use tree_low_cst and do computations with trees.

From-SVN: r32607
2000-03-17 12:31:58 -05:00
Michael Hayes
63f034bfe3 * config/c4x/c4x.h (CPP_SPEC): Fix typo.
From-SVN: r32606
2000-03-17 10:23:16 +00:00
Nathan Sidwell
66cc4757b7 typeck.c (require_complete_type): Don't assume size_zero_node.
* typeck.c (require_complete_type): Don't assume size_zero_node.
	(complete_type_or_else): Likewise.

From-SVN: r32605
2000-03-17 09:52:03 +00:00
Martin v. Löwis
91d024d568 call.c (special_function_p): It is only malloc if it returns Pmode.
* call.c (special_function_p): It is only malloc if it returns
	Pmode.

From-SVN: r32604
2000-03-17 09:11:17 +00:00
Jeff Law
9dd8851b96 Daily bump.
From-SVN: r32603
2000-03-17 01:45:07 -07:00
Michael Hayes
eda45b64b1 c4x.h (ASM_SPEC, [...]): Support C33.
* config/c4x/c4x.h (ASM_SPEC, CPP_SPEC, LINK_SPEC): Support C33.
	(C33_FLAG, TARGET_C3X): Add macros.
	(TARGET_SWITCHES): Add -m33 option.
	* config/c4x/c4x.c (c4x_override_options): Test for TARGET_C33.

From-SVN: r32602
2000-03-17 05:23:50 +00:00
Michael Hayes
01dc05dd04 c4x.h (PARALLEL_INSN_FLAG): Add.
* config/c4x/c4x.h (PARALLEL_INSN_FLAG): Add.
	(PARALLEL_PACK_FLAG): Delete.
	(TARGET_SWITCHES): Update.
	(TARGET_PARALLEL): Use PARALLEL_INSN_FLAG.

From-SVN: r32601
2000-03-17 04:43:19 +00:00
Jason Merrill
1bed2b5e10 tweak comment
From-SVN: r32600
2000-03-16 19:56:18 -05:00
Steven Grady
64b83f2a4a rtti.c (build_dynamic_cast_1): Improve diagnostics.
* rtti.c (build_dynamic_cast_1): Improve diagnostics.

Co-Authored-By: Jason Merrill <jason@casey.cygnus.com>

From-SVN: r32599
2000-03-16 19:56:12 -05:00
Warren Levy
d05165c393 Color.java: New file.
* java/awt/Color.java: New file.
	* java/awt/Graphics.java: New file.
	* java/awt/Image.java: New file.
	* java/awt/Paint.java: New file.
	* java/awt/PaintContext.java: New file.
	* java/awt/Transparency.java: New file.
	* java/util/Collection.java: New file.
	* java/util/Comparator.java: New file.
	* java/util/Iterator.java: New file.
	* java/util/List.java: New file.
	* java/util/ListIterator.java: New file.
	* Makefile.am: Added above new files.
	* Makefile.in: Rebuilt.

	* java/awt/Font.java (PLAIN): New field.
	(BOLD): New field.
	(ITALIC): New field.
	(ROMAN_BASELINE): New field.
	(CENTER_BASELINE): New field.
	(HANGING_BASELINE): New field.
	(name): New field.
	(style): New field.
	(size): New field.
	(pointSize): New field.
	(Font): Implemented constructor.
	(isPlain): Implemented method.
	(isBold): Implemented method.
	(isItalic): Implemented method.
	(getName): Implemented method.
	(getStyle): Implemented method.
	(getSize): Implemented method.
	(getSize2D): Implemented method.
	(decode): Stubbed.
	* java/awt/Frame.java (getFont): Stubbed.
	(postEvent): Stubbed.
	(remove): Stubbed.
	* java/awt/Menu.java (postEvent): Stubbed.
	* java/awt/MenuBar.java (getFont): Stubbed.
	(postEvent): Stubbed.
	* java/awt/Toolkit.java (getImage): Added abstract method.

From-SVN: r32598
2000-03-17 00:45:06 +00:00
Richard Kenner
c9869b75ee fold-const.c (fold): Fix a few cases when the returned result is not of the same type as the input.
* fold-const.c (fold): Fix a few cases when the returned result
	is not of the same type as the input.

From-SVN: r32597
2000-03-16 18:45:28 -05:00
Nick Clifton
b1801c0246 Fix compile time warning building cp/method.o
From-SVN: r32595
2000-03-16 22:46:40 +00:00
Kaveh R. Ghazi
d30d6e76fd libgcc2.h: Move prototypes above macros with the same name.
* libgcc2.h: Move prototypes above macros with the same name.
	Wrap some function prototypes in the conditional which indicates
	whether they are supported, i.e. "BITS_PER_UNIT == 8".

From-SVN: r32594
2000-03-16 22:14:08 +00:00
Tom Tromey
64aa33dd9c lang.c (flag_hash_synchronization): New global.
* lang.c (flag_hash_synchronization): New global.
	(lang_f_options): Added `hash-synchronization'.
	* lang-options.h: Mention -fhash-synchronization.
	* java-tree.h (flag_hash_synchronization): Declare.
	* expr.c (java_lang_expand_expr): Only push `sync_info' value when
	hash table synchronization is disabled.
	* decl.c (init_decl_processing): Only push `sync_info' value when
	hash table synchronization is disabled.
	* class.c (make_class_data): Only push `sync_info' field when hash
	table synchronization is disabled.  Removed dead code.

From-SVN: r32593
2000-03-16 18:32:45 +00:00
Richard Henderson
3c0fca1282 * calls.c: Revert last two changes.
From-SVN: r32592
2000-03-16 09:42:06 -08:00
Tom Tromey
ae23f3ed01 * lang.c (lang_decode_option): Enable -Wunused when -Wall given.
From-SVN: r32591
2000-03-16 17:26:46 +00:00
Bernd Schmidt
2672543458 Introduce NO_DENORMALS in fp-bit.c
From-SVN: r32590
2000-03-16 17:20:57 +00:00
Bernd Schmidt
22eb7dfafe Some cselib bug fixes
From-SVN: r32589
2000-03-16 17:13:49 +00:00
Jan Hubicka
d9f3242265 i386.md (all HI and QI mode non-move patterns): Conditionize by TARGET_[HQ]IMODE_MATH.
* i386.md (all HI and QI mode non-move patterns):  Conditionize
	by TARGET_[HQ]IMODE_MATH.
	* i386.h (x86_himode_math, x86_qimode_math, x86_promote_hi_regs,
	x86_promote_qi_regs): Declare.
	(TARGET_HIMODE_MATH, TARGET_QIMODE_MATH, TARGET_PROMOTE_HI_REGS,
	TARGET_PROMOTE_QI_REGS): New macros.
	(PROMOTE_MODE): New macro.
	* i386.c (x86_himode_math, x86_qimode_math, x86_promote_hi_regs,
	x86_promote_qi_regs): New global variables.

From-SVN: r32588
2000-03-16 16:08:35 +00:00
Jan Hubicka
43bc5f13ad calls.c (emit_library_call_value_1): Break out from ...; handle VOIDmode function calls too.
* calls.c (emit_library_call_value_1): Break out from ...; handle
	VOIDmode function calls too.
	(emit_library_call_value): ... here.
	(emit_library_call): Implement by calling emit_library_call_value_1.

From-SVN: r32587
2000-03-16 15:52:13 +00:00
Jan Hubicka
774e6b37bb calls.c (expand_call): Do sanity checking on arg_space_so_far.
* calls.c (expand_call): Do sanity checking on arg_space_so_far.
	Update arg_space_so_far on stack adjustments.
	(emit_library_call, emit_library_call_value): Likewise; take into
	account arg_space_so_far and pending_stack_adjust when calculcating
	the boundary.

From-SVN: r32586
2000-03-16 15:02:42 +00:00
Jason Eckhardt
295ae8170c flow.c: Move all basic block reordering code into its own file.
* flow.c: Move all basic block reordering code into its own file.
	(create_basic_block): Externalize.
	* bb-reorder.c: New file. Copy all basic block reordering code from
	flow.c to this file.
	(reorder_basic_blocks): Fix fencepost error in for-loop.
	(reorder_basic_blocks): Remove braces from single statement for-loops.
	* basic-block.h: Add declaration for create_basic_block.
	* Makefile.in: Add rules for bb-reorder.o.

From-SVN: r32585
2000-03-16 14:56:55 +00:00
Neil Booth
e1e97c4f15 cppinit.c (handle_option): Implement #unassert directive as -A- command line option.
2000-03-16  Neil Booth  <NeilB@earthling.net>

	* cppinit.c (handle_option):  Implement #unassert directive
        as -A- command line option.
	(print_help):  Update.
	* cpptexi.c:  Update.

From-SVN: r32584
2000-03-16 14:15:17 +00:00
Hans-Peter Nilsson
d26eedb657 * md.texi (Standard Names): Document `jump'.
From-SVN: r32583
2000-03-16 12:18:18 +00:00
Nathan Sidwell
5add10fd81 * decl2.c (grokfield): Bail out if type is error_mark_node.
From-SVN: r32582
2000-03-16 10:13:28 +00:00