Commit Graph

60642 Commits

Author SHA1 Message Date
Ben Elliston 87e184d1c3 Patch for PR target/16286
2004-08-12  Ben Elliston  <bje@au.ibm.com>

	* config/rs6000/altivec.h: Change vector to __vector throughout.
	(Except for the `vector' macro itself).

[testsuite]
2004-08-12  Ben Elliston  <bje@au.ibm.com>

	* gcc.dg/pr16286.c: New test.

From-SVN: r85868
2004-08-12 21:02:38 +10:00
Jan Beulich 03a2b8100f 2004-08-12 Jan Beulich <jbeulich@novell.com>
* config/locale/generic/ctype_members.cc
	(ctype<wchar_t>::_M_convert_to_wmask): Default case must not use 0 as
	initializer for return value, as that is invalid for enumerated	types.
	* config/locale/gnu/ctype_members.cc
	(ctype<wchar_t>::_M_convert_to_wmask): Likewise.

From-SVN: r85862
2004-08-12 09:46:39 +00:00
Jan Beulich e85a53178e *** empty log message ***
From-SVN: r85861
2004-08-12 09:39:59 +00:00
Jan Beulich bf5930d497 parser.c (cp_parser_asm_definition): Properly consume scope operator tokens preceding the clobbers.
cp/
2004-08-12 Jan Beulich <jbeulich@novell.com>

	* parser.c (cp_parser_asm_definition): Properly consume scope operator
	tokens preceding the clobbers. Don't check for scope operator
	following inputs. Simplify inputs handling to match that now used for
	clobbers.

testsuite/
2004-08-12 Jan Beulich <jbeulich@novell.com>

	* g++.dg/ext/asm5.C: New.

From-SVN: r85860
2004-08-12 09:34:16 +00:00
Zack Weinberg e543e219eb genpreds.c: Add capability to generate predicate bodies as well as function prototypes.
* genpreds.c: Add capability to generate predicate bodies as
	well as function prototypes.  Write function prototypes for
	the generic predicates too.
	(process_define_predicate, write_tm_preds_h, write_insn_preds_c)
	(write_predicate_subfunction, mark_mode_tests, add_mode_tests)
	(write_match_code, write_predicate_expr, write_one_predicate_function)
	(parse_option): New functions.
	(output_predicate_decls): Delete.
	(main): Read the machine description, process DEFINE_PREDICATE or
	DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c
	as appropriate.

	* genrecog.c (struct decision_test): Replace index with
	struct pred_data pointer.
	(next_index): Remove, unused.
	(pred_table, preds, special_mode_pred_table): Delete.
	(compute_predicate_codes, process_define_predicate): New functions.
	(validate_pattern, add_to_sequence, write_switch): Update for
	new data structures.
	(main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
	Check both error_count and have_error.

	* gensupport.c (in_fname, first_predicate): New globals.
	(define_pred_queue, define_pred_tail): New RTL-pattern queue.
	(predicate_table, last_predicate, old_pred_table)
	(old_special_pred_table): New statics.
	(hash_struct_pred_data, eq_struct_pred_data, lookup_predicate)
	(add_predicate, init_predicate_table): New functions.
	(process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
	(init_md_reader_args_cb): Use the global in_fname.  No need to zero
	it or max_include_len.  Call init_predicate_table.
	(read_rtx): Run the predicate queue after the attribute queue
	but before all the others.
	* gensupport.h (in_fname, struct pred_data, first_predicate)
	(lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare.
	* rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE)
	(DEFINE_SPECIAL_PREDICATE): New RTL codes.
	* dummy-conditions.c: Don't include bconfig.h, system.h,
	coretypes.h, tm.h, or system.h.  Do include stddef.h.
	Duplicate declaration of struct c_test from gensupport.h.

	* Makefile.in (OBJS-common): Add insn-preds.o.
	(STAGESTUFF, .PRECIOUS): Add insn-preds.c.
	(insn-preds.c, insn-preds.o): New rules.
	(s-preds): Also generate insn-preds.c.
	(dummy-conditions.o, genpreds$(build_exeext), genpreds.o):
	Update dependencies.
	(print-rtl.o, print-rtl1.o): Correct dependencies.

	* recog.h: Delete prototypes of predicate functions.

	* doc/md.texi (Predicates): New section with complete
	documentation of operand/operator predicates.  Remove some
	incomplete documentation of predicates from other places.
	* doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to
	PREDICATE_CODES; indicate that both are deprecated in favor
	of define_predicate/define_special_predicate.

	* config/ia64/ia64.c: All predicate function definitions moved
	to ia64.md, except
	(small_addr_symbolic_operand, tls_symbolic_operand): Delete.
	(ia64_expand_load_address, ia64_expand_move):
	Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand.

	* config/ia64/ia64.md: All predicates now defined here.
	(symbolic_operand): Is now a special predicate.

	* config/ia64/ia64.h: Declare ia64_section_threshold.
	(PREDICATE_CODES): Delete.

From-SVN: r85855
2004-08-12 07:49:00 +00:00
Per Bothner b4d49f49bf javaprims.h (_Jv_Utf8Const): Change struct to a class, with private fields and access methods.
* gcj/javaprims.h (_Jv_Utf8Const): Change struct to a class,
	with private fields and access methods.
	(_Jv_NewStringUTF, _Jv_hashUtf8String): New function declarations.
	* gcj/cni.h (_Jv_NewStringUTF): Move to javaprims.h.
	* prims.cc (_Jv_Utf8COnst::init): New method implementation.
	( _Jv_makeUtf8Const): Rewrite using new constructors.
	(hashUtf8String): Rename to +_Jv_hashUtf8String and make non-static.
	* defineclass.cc: Use new _Utf8Const access/convenience methods.
	* jni.cc: Likewise.
	* resolve.cc: Likewise.
	* gcj/field.h: Likewise.
	* include/jvm.h: Likewise.
	* java/lang/Class.h: Likewise.
	* java/lang/natClass.cc: Likwise.
	* java/lang/natClassLoader.cc: Likewise
	* java/lang/reflect/natMethod.cc: Likewise
	* verify.cc: Likewise.
	(_Jv_BytecodeVerifier::make_utf8_const):  Optimize.
	(~_Jv_BytecodeVerifier):  Don't need second _Jv_Free call.

From-SVN: r85854
2004-08-11 23:53:42 -07:00
Mark Mitchell fbac6f3cf5 re PR c++/16698 (ICE with exceptions and declaration of __cxa_throw)
PR c++/16698
	* except.c (build_throw): Allocate cleanup_type and the function
	for __cxa_throw separately.

	PR c++/16698
	* g++.dg/eh/crash1.C: New test.

From-SVN: r85850
2004-08-12 05:17:42 +00:00
Richard Henderson 174283a3c2 c-common.h (STATEMENT_LIST_HAS_LABEL): New.
* c-common.h (STATEMENT_LIST_HAS_LABEL): New.
        * c-semantics.c (add_stmt): Set it.
        * c-decl.c (finish_decl): Use it to create a new BIND_EXPR
        before instantiating a variable sized type.

From-SVN: r85849
2004-08-11 21:09:57 -07:00
Richard Henderson 159319544b stor-layout.c (round_up, round_down): Move ...
* stor-layout.c (round_up, round_down): Move ...
        * fold-const.c (round_up, round_down): ... here.  Use
        multiple_of_p to avoid any arithmetic at all.

From-SVN: r85848
2004-08-11 21:01:04 -07:00
Richard Henderson 57d1dd8704 gimplify.c (struct gimplify_init_ctor_preeval_data): New.
* gimplify.c (struct gimplify_init_ctor_preeval_data): New.
        (gimplify_init_ctor_preeval_1): New.
        (gimplify_init_ctor_preeval): New.
        (gimplify_init_ctor_eval): New.
        (gimplify_init_constructor): Use them.  Always gimplify the LHS
        object first.

From-SVN: r85845
2004-08-11 20:54:11 -07:00
Mark Mitchell 6e40af1ab0 re PR c++/16717 ([unit-at-a-time] __attribute__((constructor)) broken in C++)
PR c++/16717
	* g++.dg/ext/construct1.C: New test.

From-SVN: r85844
2004-08-12 02:51:31 +00:00
Ziemowit Laski 46e34f968d (This patch is part of merge of objc-improvements-branch into mainline.)
[gcc/ChangeLog]
2004-08-12  Ziemowit Laski  <zlaski@apple.com>

        (This patch is part of merge of objc-improvements-branch
        into mainline.)

        * doc/frontends.texi: Mention Objective-C++ in addition to
        Objective-C.
        * doc/install.texi: Add 'obj-c++' to list of configurable
        languages.
        * doc/invoke.texi: Rename Objective-C option headings to
        indicate they also apply to Objective-C++.  List file
        extensions for Objective-C++ sources.  Mention that
        ObjC and ObjC++ compilations may also use C and C++ options,
        respectively.  Point users to doc/standards.texi for
        further info on ObjC and ObjC++.
        * doc/sourcebuild.texi: Mention the objcp/ directory and
        the Objective-C++ sources it contains.
        * doc/standards.texi: Update link to Apple ObjC site;
        add link to gcc readings.html WWW doc.

From-SVN: r85842
2004-08-12 01:53:01 +00:00
Mark Mitchell 539599c198 re PR c++/16853 (pointer-to-member initialization from incompatible one accepted)
PR c++/16853
	* call.c (standard_conversion): Do not accept conversions between
	pointers to members if the class types are unrelated.

	PR c++/16618
	* parser.c (cp_parser_builtin_offsetof): Cast to "const volatile
	char &" instead of just "char &".

	PR c++/16870
	* pt.c (tsubst): Just return the unknown_type_node.

	PR c++/16853
	* g++.dg/init/ptrmem1.C: New test.

	PR c++/16618
	* g++.dg/parse/offsetof5.C: New test.

	PR c++/16870
	* g++.dg/template/overload3.C: New test.

From-SVN: r85840
2004-08-12 00:43:47 +00:00
GCC Administrator eb3643d800 Daily bump.
From-SVN: r85836
2004-08-12 00:16:15 +00:00
Giovanni Bajo 4ab2db93f7 Fix comment typo
From-SVN: r85830
2004-08-11 23:19:10 +00:00
Alan Modra 07f12d8b45 rs6000.c (function_arg_padding): Revert 2004-07-28 and 2004-07-14 changes.
* config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28
	and 2004-07-14 changes.

From-SVN: r85829
2004-08-12 08:48:21 +09:30
Paul Brook 89aa5a2066 * doc/invoke.texi: Fix typo.
From-SVN: r85828
2004-08-11 23:05:24 +00:00
Mark Mitchell 2436b51feb re PR c++/16964 (ICE in cp_parser_class_specifier due to redefinition)
PR c++/16964
	* parser.c (cp_parser_class_specifier): Robustify.

	PR c++/16904
	* pt.c (tsubst_copy_and_build): Complain about invalid
	qualification.

	PR c++/16929
	* pt.c (tsubst_default_argument): Clear out current_class_ptr and
	current_class_ref while tsubsting.

	PR c++/16964
	* g++.dg/parse/error16.C: New test.

	PR c++/16904
	* g++.dg/template/error14.C: New test.

	PR c++/16929
	* g++.dg/template/error15.C: New test.

From-SVN: r85824
2004-08-11 22:13:32 +00:00
Devang Patel 5079843a20 darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip and -no_dead_strip_inits_and_terms.
* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip
       and -no_dead_strip_inits_and_terms.
       (LINK_SPEC): Same.
       * doc/invoke.texi (Darwin Options): Document -dead_strip and
       -no_dead_strip_inits_and_terms.

       * gcc.dg/darwin-ld-20040809-1.c: New test.
       * gcc.dg/darwin-ld-20040809-2.c: New test.

From-SVN: r85822
2004-08-11 14:26:12 -07:00
Paul Brook 876f13b0be * config/arm/arm-protos.h (arm_finalize_pic) Rename ...
(arm_load_pic_register): ... to this.
	* config/arm/arm.c (arm_finalize_pic): Rename ...
	(arm_load_pic_register): ... to this.  Always output insns at the
	current location.  Load via low reg in thumb mode.
	(arm_expand_prologue): Call arm_load_pic_register.
	(thumb_expand_prologue): Ditto.
	* config/arm/arm.h (FINALIZE_PIC): Remove.
	* config/arm/arm.md (builtin_setjmp_receiver): Call
	arm_load_pic_register.

From-SVN: r85820
2004-08-11 21:02:47 +00:00
Paul Brook 57934c3979 arm.c (thumb_force_lr_save): Add prototype.
* arm.c (thumb_force_lr_save): Add prototype.
	(thumb_compute_save_reg_mask): New function.
	(thumb_find_work_register): New function.
	(arm_get_frame_offsets): Use thumb_compute_save_reg_mask.
	(thumb_unexpanded_epilogue): Ditto.  Remove redundant code.
	Don't clobber r3 when removing pretend args.
	(thumb_expand_prologue): Use thumb_compute_save_reg_mask.
	(thumb_output_function_prologue): Use new functions.
	(thumb_set_return_address): Use thumb_compute_save_reg_mask.
	* arm.h (THUMB_REG_PUSHED_P): Remove.

From-SVN: r85818
2004-08-11 20:59:15 +00:00
James E Wilson af87423702 Fix -fprofile-use ICE.
PR rtl-optimization/16490
* cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
global_live_at_end for new basic block if already set for other blocks.

From-SVN: r85813
2004-08-11 13:08:00 -07:00
David Edelsohn c1618c0ca2 rs6000.h (MAX_FIXED_MODE_SIZE): Define.
* config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define.

        * config/rs6000/rs6000.md (mfcr rlwinm patterns): Set length to 8.
        (mfcr rlwinm rlwinm patterns): Set length to 12.

From-SVN: r85808
2004-08-11 15:18:14 -04:00
Andrew MacLeod 1a24f92f6a tree-flow-inline.h (get_def_ops, [...]): Add operand structure reference.
2004-08-11  Andrew MacLeod  <amacleod@redhat.com>

	* tree-flow-inline.h (get_def_ops, get_use_ops, get_v_may_def_ops,
	get_vuse_ops,get_v_must_def_ops): Add operand structure reference.
	(get_v_may_def_result_ptr, get_v_may_def_op_ptr): New access struct.
	(start_ssa_stmt_operands): Delete.
	* tree-flow.h (struct stmt_ann_d): Replace operand vectors with new
	struct stmt_operands_d.
	(build_ssa_operands): New extern entry point.
	* tree-ssa-dom.c (record_equivalences_from_stmt): Remove operand
	building code, replace with create_ssa_artficial_load_stmt().
	* tree-ssa-operands.c (struct voperands_d): Delete.
	(allocate_v_may_def_optype): Allocate v_may_def_operand_type_t vector.
	(allocate_v_must_def_optype): Use sizeof (tree), not sizeof (tree *).
	(free_uses, free_defs, free_vuses, free_v_may_defs,
	free_v_must_defs): Remove dealloc parameter.
	(remove_vuses, remove_v_may_def, remove_v_must_defs): Delete.
	(finalize_ssa_defs, finalize_ssa_uses, finalize_ssa_v_may_defs,
	finalize_ssa_vuses, finalize_ssa_v_must_defs): Perform all operand
	vector comparisons, ssa_name reuse, and allocations here.
	(verify_start_operands): Delete.
	(finalize_ssa_stmt_operands): Set new operands by calling finalize
	routines.
	(start_ssa_stmt_operands): Move from tree-flow-inline.h.
	(append_def, append_usei): Simplify to simple accumulation.
	(append_v_may_def, append_vuse, append_v_must_def): Simplify to avoiding
	duplicates and simple accumulation.
	(free_ssa_operands): Free vectors in a stmt_operand structure.
	(build_ssa_operands): New. Create a new stmt_operand structure from
	a stmt and an old set of stmt_operands.
	(get_stmt_operands): Simplify and call build_ssa_operands.
	(get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands,
	get_call_expr_operands, add_stmt_operand, add_call_clobber_ops,
	add_call_read_ops): Don't pass prev_vops around anymore.
	(note_addressable): Return if no stmt annotation.
	(copy_virtual_operands): Access v_may_def operands through a struct.
	(create_ssa_artficial_load_stmt): New.  Create a load stmt for DOM's
	hash tables without treating the stmt as a real stmt.
	* tree-ssa-operands.h (struct v_may_def_operand_type): New.  Access
	v_may_def def and use through a struct instead of 2 array elements.
	(struct v_may_def_optype_d): Use v_may_def_operand_type.
	(struct stmt_operands_d): New.  Struct for storing all operand vectors.

From-SVN: r85807
2004-08-11 17:50:47 +00:00
Paul Brook 3ec0f30209 [multiple changes]
2004-08-11  Paul Brook  <paul@codeourcery.com>

	PR fortran/16917
	* intrinsic.c (add_functions): Add dfloat as an alias for dble.

2004-08-11  Steven G. Kargl  <kargls@comcast.net>

	* gfortran.dg/dfloat_1.f90: New test.

From-SVN: r85805
2004-08-11 16:05:14 +00:00
Paolo Carlini be23502b44 1.cc: Fix typo.
2004-08-11  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Fix typo.

From-SVN: r85804
2004-08-11 14:05:47 +00:00
Paolo Carlini 665cdd2c85 1.cc: Declare test variable.
2004-08-11  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Declare test
	variable.
	* testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Remove junk.
	* testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Ditto.
	* testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Ditto.

From-SVN: r85802
2004-08-11 13:47:24 +00:00
Paolo Carlini 48dd95f2a4 re PR libstdc++/16959 (Segmentation fault in ios_base::sync_with_stdio)
2004-08-11  Paolo Carlini  <pcarlini@suse.de>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/16959
	* src/ios_init.cc (ios_base::sync_with_stdio): Make sure the
	standard streams are constructed.
	* testsuite/27_io/ios_base/sync_with_stdio/16959.cc: New.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r85797
2004-08-11 09:31:13 +00:00
Nick Clifton a77655b15f (arm_is_longcall_p): Update comment describing this funciton's behaviour.
Return true when the current function has a section attribute and
  -mlong-calls is in effect.
(ARM_DECLARE_FUNCTION_SIZE): Do not set the short-call marker when
  -mlong-calls is in effect and the function has a section attribute.

From-SVN: r85796
2004-08-11 07:48:13 +00:00
Zack Weinberg 6f4a43e029 stmt.c (expand_return): If asked to return the RESULT_DECL, just call expand_value_return on result_rtl.
* stmt.c (expand_return): If asked to return the RESULT_DECL,
	just call expand_value_return on result_rtl.

From-SVN: r85795
2004-08-11 06:28:00 +00:00
Richard Henderson 1a186ec558 builtins.def (BUILT_IN_STACK_ALLOC): Remove.
* builtins.def (BUILT_IN_STACK_ALLOC): Remove.
        * builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove.
        * dwarf2out.c (loc_descriptor): Handle PARALLEL here ...
        (add_location_or_const_value_attribute): ... not here.  Use
        loc_descriptor_from_tree if possible.
        (loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree.
        Simplify address handling.  Handle DECL_VALUE_EXPR.  Handle register
        values specially.
        (loc_descriptor_from_tree): New.  Update callers.
        * expr.c (expand_var): Ignore DECL_VALUE_EXPR variables.
        * gimplify.c (gimplify_decl_expr): Lower variable sized types to
        pointer plus dereference.  Set DECL_VALUE_EXPR.  Set save_stack.
        (gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC
        and BUILT_IN_STACK_RESTORE.
        (gimplify_expr): Lower DECL_VALUE_EXPR decls.
        * stmt.c (expand_stack_alloc): Remove.
        * tree-mudflap.c (mx_register_decls): Don't look for
        BUILT_IN_STACK_ALLOC.
        * tree-nested.c (convert_local_reference): Likewise.
        * tree.h (DECL_VALUE_EXPR): New.
ada/
        * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
        add __builtin_alloca.
fortran/
        * f95-lang.c (gfc_init_builtin_functions): Remove
         __builtin_stack_alloc, add __builtin_alloca.
        * trans-array.c (gfc_trans_auto_array_allocation): Use DECL_EXPR.
        * trans-decl.c (gfc_trans_auto_character_variable): Likewise.

From-SVN: r85794
2004-08-10 21:16:07 -07:00
Richard Henderson 89f1a7022e * config-lang.in (boot_language): Yes.
From-SVN: r85793
2004-08-10 21:10:11 -07:00
Richard Henderson bf4ccdd682 stor-layout.c (round_up): Check for 0/1 before dividing.
* stor-layout.c (round_up): Check for 0/1 before dividing.
        (round_down): Likewise.

From-SVN: r85792
2004-08-10 21:00:04 -07:00
Richard Henderson 7109c195f0 * tree-tailcall.c (suitable_for_tail_opt_p): Also check DECL_EXTERNAL.
From-SVN: r85791
2004-08-10 20:56:58 -07:00
Mark Mitchell b3f8d95d35 configure.in (arm*-*-eabi*): New target.
* configure.in (arm*-*-eabi*): New target.
	* configure: Regenerate.

	* configure.ac (arm*-*-eabi*): New target.
	(arm*-*-symbianelf*): Likewise.
	* configure: Regenerated.

	* config.gcc (arm*-*-eabi*): New target.
	* defaults.h (TARGET_LIBGCC_FUNCS): New macro.
	(TARGET_LIB_INT_CMP_BIASED): Likewise.
	* expmed.c (expand_divmod): Try a two-valued divmod function as a
	last resort.
	* gthr.h: Remove bogus tokens at end of #pragma.
	* optabs.c (expand_twoval_binop_libfunc): New function.
	(prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case.
	(prepare_float_lib_cmp): Try reversing the condition.
	(debug_optab_libfuncs): New function.
	* optabs.h (expand_twoval_binop_libfunc): Declare.
	* config/arm/arm.c (arm_init_libfuncs): New function.
	(arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT.
	(TARGET_INIT_LIBFUNCS): Define it.
	* config/arm/arm.h (TARGET_BPABI): New macro.
	* config/arm/arm-protos.h
	(arm_compute_initial_elimination_offset): Return HOST_WIDE_INT.
	* config/arm/bpabi.S: New file.
	* config/arm/bpabi.c: Likewise.
	* config/arm/bpabi.h: Likewise.
	* config/arm/ieee754-df.S (__aeabi_dneg): New function or alias.
	(__aeabi_drsub): Likewise.
	(__aeabi_dsub): Likewise.
	(__aeabi_dadd): Likewise.
	(__aeabi_ui2d): Likewise.
	(__aeabi_i2d): Likewise.
	(__aeabi_f2d): Likewise.
	(__aeabi_dmul): Likewise.
	(__aeabi_ddiv): Likewise.
	(__aeabi_cdrcmple): Likewise.
	(__aeabi_cdcmpeq): Likewise.
	(__aeabi_cdcmple): Likewise.
	(__aeabi_dcmpeq): Likewise.
	(__aeabi_dcmplt): Likewise.
	(__aeabi_dcmple): Likewise.
	(__aeabi_dcmpge): Likewise.
	(__aeabi_dcmpgt): Likewise.
	(__aeabi_dcmpun): Likewise.
	(__aeabi_d2iz): Likewise.
	(__aeabi_d2uiz): Likewise.
	(__aeabi_d2f): Likewise.
	* config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias.
	(__aeabi_frsub): Likewise.
	(__aeabi_fsub): Likewise.
	(__aeabi_fadd): Likewise.
	(__aeabi_ui2f): Likewise.
	(__aeabi_i2f): Likewise.
	(__aeabi_fmul): Likewise.
	(__aeabi_fdiv): Likewise.
	(__aeabi_cfrcmple): Likewise.
	(__aeabi_cfcmpeq): Likewise.
	(__aeabi_cfcmple): Likewise.
	(__aeabi_fcmpeq): Likewise.
	(__aeabi_fcmplt): Likewise.
	(__aeabi_fcmple): Likewise.
	(__aeabi_fcmpge): Likewise.
	(__aeabi_fcmpgt): Likewise.
	(__aeabi_fcmpun): Likewise.
	(__aeabi_f2iz): Likewise.
	(__aeabi_f2uiz): Likewise.
	* config/arm/lib1funcs.asm (ARM_CALL): New macro.
	(__aeabi_uidivmod): New function or alias.
	(__aeabi_idivmod): Likewise.
	(__aeabi_idiv0): Likewise.
	(__aeabi_ldiv0): Likewise.
	(__aeabi_llsr): Likewise.
	(__aeabi_lasr): Likewise.
	(__aeabi_llsl): Likewise.
	(bpabi.S): Include it.
	* config/arm/libgcc-bpabi.ver: New file.
	* config/arm/symbian.h (ARM_DEFAULT_ABI): Remove.
	(LINK_SPEC): Remove.
	* config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and
	__aeabi_ulcmp.
	* config/arm/t-bpabi: New file.
	* doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry.
	(TARGET_LIB_INT_CMP_BIASED): Likewise.

	* gcc.dg/testsuite/gcc.dg/arm-eabi1.c: New test.
	* gcc.dg/dll-2.c: Fix dg-require syntax.
	* gcc.misc-tests/arm-isr.c (abort): Declare.
	(exit): Likewise.

From-SVN: r85788
2004-08-11 02:50:14 +00:00
David Edelsohn fba73eb1cb rs6000-protos.h (expand_block_clear): Declare.
* config/rs6000/rs6000-protos.h (expand_block_clear): Declare.
        * config/rs6000/rs6000.md (clrmemsi): New pattern.
        * config/rs6000/rs6000.c (expand_block_clear): New function.
        (expand_block_move): Convert alignment to bits.  Use SImode and
        HImode for unaligned addresses if not STRICT_ALIGNMENT.

From-SVN: r85787
2004-08-10 22:40:45 -04:00
Kelley Cook 5158e8d8c1 re PR bootstrap/16164 (automake 1.8.5 upgrade changed fastjar into a read-write source directory)
2004-08-11  Kelley Cook  <kcook@gcc.gnu.org>

	PR bootstrap/16164
	* Makefile.am: Force fastjar.info to be built in build directory.
	* Makefile.in: Regenerate.

From-SVN: r85782
2004-08-11 00:56:23 +00:00
GCC Administrator 688d37c4eb Daily bump.
From-SVN: r85780
2004-08-11 00:16:27 +00:00
Mark Mitchell 550205c3ae re PR c++/16971 (ICE on duplicate definition)
PR c++/16971
	* parser.c (cp_parser_init_declarator): Robustify.

	PR c++/16971
	* g++.dg/parse/crash16.C: New test.

From-SVN: r85776
2004-08-11 00:14:37 +00:00
Caroline Tice c295317dfb Hot/cold partitioning update, sub-patch: fix alignment problems
2004-08-10  Caroline Tice  <ctice@apple.com

        * varasm.c (unlikely_section_label): New global variable.
        (unlikely_text_section_name): New global variable.
        (text_section):  Remove alignment statement.
        (unlikely_text_section): Remove alignment statement; use
        unlikely_section_label rather than hard-coded string.
        (assemble_start_function): Initialize unlikely_section_label and
        unlikely_text_section_name;  make sure cold section is properly
        aligned at start of function; output unlikely_section_label if
        appropriate.

From-SVN: r85771
2004-08-10 14:49:49 -07:00
Ulrich Weigand 68f9c5e21e s390-protos.h (s390_canonicalize_comparison): Declare.
* config/s390/s390-protos.h (s390_canonicalize_comparison): Declare.
	* config/s390/s390.c (s390_canonicalize_comparison): New function.
	* config/s390/s390.h (CANONICALIZE_COMPARISON): Define.
	* config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext",
	"*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove.
	("*tmqi_mem"): Remove SUBREG from pattern.
	("*anddi3_cconly"): Prevent accidentally matching TM pattern.
	("*andsi3_cconly"): Likewise.

From-SVN: r85770
2004-08-10 21:46:33 +00:00
H.J. Lu 22116d840a re PR target/16909 ("unrecognizable insn" ICE during bootstrap with-cpu=nocona)
2004-08-10  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/16909
	* config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI.

From-SVN: r85769
2004-08-10 14:40:02 -07:00
Janis Johnson c75095b27b sourcebuild.texi (compat testing): Document available test framework commands.
2004-08-10  Janis Johnson  <janis187@us.ibm.com>

	* doc/sourcebuild.texi (compat testing): Document available test
	framework commands.  Use the preferred spelling of DejaGnu.

From-SVN: r85768
2004-08-10 21:35:09 +00:00
Daniel Berlin 9897565322 lambda.h: Add matrix type, and prototypes for remainder of matrix and vector functions.
2004-08-10  Daniel Berlin <dberlin@dberlin.org>

	* lambda.h: Add matrix type, and prototypes for remainder of
	matrix and vector functions.
	(lambda_vector_mult_const): New function.
	(lambda_vector_negate): Ditto.
	(lambda_vector_add): Ditto.
	(lambda_vector_add_mc): Ditto.
	(lambda_vector_copy): Ditto.
	(lambda_vector_zerop): Ditto.
	(lambda_vector_equal): Ditto.
	(lambda_vector_min_nz): Ditto.
	(lambda_vector_first_nz): Ditto.
	(lambda_vector_matrix_mult): Ditto.
	* lambda-mat.c: New file.
	* Makefile.in (lambda-mat.o): New.

From-SVN: r85767
2004-08-10 20:43:05 +00:00
Andrew MacLeod 68b9f53b86 tree-cfg.c (bsi_insert_before, [...]): Call modify_stmt after linking stmt into the program.
2004-08-10  Andrew MacLeod  <amacleod@redhat.com>

	* tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt
	after linking stmt into the program.
	(bsi_remove): Don't call modify_stmt.
	* tree-complex.c (update_complex_assignment,
	expand_complex_comparison): Call modify_stmt after changing the stmt.
	* tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not
	removing the stmt.
	* tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing
	the stmt, and only if needed.
	* tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy
	expression.
	(simplify_rhs_and_lookup_avail_expr): Don't take an annotation param.
	(simplify_cond_and_lookup_avail_expr): Use modify_stmt.
	(simplify_switch_and_lookup_avail_expr): Don't take an annotation param.
	(eliminate_redundant_computations): Don't pass an annotation. Call
	modify_stmt rather than setting the annotation directly.
	(record_equivalences_from_stmt): Remove unused local 'j'.
	(cprop_operand): Take a stmt rather than an annotation as a parameter.
	Call modify_stmt.
	(cprop_into_stmt): Pass stmt rather than annotation.
	(update_rhs_and_lookup_avail_expr): Call modify_stmt.
	* tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than
	modify_stmt.
	* tree-ssa.c (propagate_into_addr): Dont call modify_stmt.

From-SVN: r85765
2004-08-10 18:31:26 +00:00
Jason Merrill 6c9c452695 re PR middle-end/16948 (Many new testsuite failures on hppa64-hp-hpux11.11)
PR middle-end/16948
        * function.c (expand_function_start): Handle DECL_BY_REFERENCE on
        the RESULT_DECL.

From-SVN: r85764
2004-08-10 14:02:48 -04:00
Jason Merrill 01c9857000 function.c (expand_function_start): Handle DECL_BY_REFERENCE on the RESULT_DECL.
* function.c (expand_function_start): Handle DECL_BY_REFERENCE on
        the RESULT_DECL.

From-SVN: r85763
2004-08-10 14:02:18 -04:00
Geoffrey Keating b2ddaebb2d tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the hash function.
* tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the
	hash function.

From-SVN: r85760
2004-08-10 17:57:41 +00:00
Roger Sayle 236573882e mips.md: New reciprocal square root patterns that match sqrt(1.0/x) in addition to the...
* config/mips/mips.md: New reciprocal square root patterns that
	match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns.

	* gcc.dg/mips-rsqrt-1.c: New test case.
	* gcc.dg/mips-rsqrt-2.c: New test case.
	* gcc.dg/mips-rsqrt-3.c: New test case.

From-SVN: r85759
2004-08-10 17:43:02 +00:00
Paul Brook c9ca9b88bb arm-protos.h (arm_set_return_address, [...]): Add prototypes.
* config/arm/arm-protos.h (arm_set_return_address,
	thumb_set_return_address): Add prototypes.
	* config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove.
	* config/arm/arm.c (arm_compute_func_type,
	use_return_insn, arm_compute_save_reg0_reg12_mask,
	arm_compute_save_reg_mask, arm_output_function_prologue,
	arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with
	current_function_calls_eh_return.
	(thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace
	old eh code.
	(arm_set_return_address, thumb_set_return_address): New functions.
	* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO,
	ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define.
	* config/arm/arm.md (VUNSPEC_EH_RETURN): Add.
	(epilogue): Use the stackadj register.
	(eh_return, arm_eh_return, thumb_eh_return): New pattern.

From-SVN: r85757
2004-08-10 16:22:47 +00:00