Commit Graph

41518 Commits

Author SHA1 Message Date
Alexandre Oliva cfb773f910 mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp (s8), but rather HARD_FRAME_POINTER_REGNUM.
* config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
(s8), but rather HARD_FRAME_POINTER_REGNUM.  Add parentheses
where appropriate.  Make the second reference to
leaf_function_p a function call, as intended.  Reindented.

From-SVN: r50899
2002-03-17 00:02:30 +00:00
Alexandre Oliva 4dffef52e8 mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
* config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
* config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.

From-SVN: r50898
2002-03-16 23:58:35 +00:00
Alexandre Oliva 4f5bd6d713 mips.md (addsi3, adddi3): Use scratch register to add register to non-constant into sp.
* config/mips/mips.md (addsi3, adddi3): Use scratch register to
add register to non-constant into sp.

From-SVN: r50897
2002-03-16 23:53:09 +00:00
Alexandre Oliva c8d1b2b7b2 mips-protos.h (embedded_pic_fnaddr_reg): New.
* config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
* config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
(mips16_gp_pseudo_rtx): Lose.
(INIT_EXPANDERS): Deleted.
* config/mips/mips.c (mips_init_machine_status): New.
(mips_free_machine_status): New.
(mips_mark_machine_status): New.
(override_options): Set them.
(embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
(struct machine_function): ... new.  Replaced all references.
(mips_add_gc_roots): Don't mark them.
(embedded_pic_fnaddr_reg): New, extracted from...
(embedded_pic_offset): ... here.
* config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
(movsi): Likewise.

From-SVN: r50896
2002-03-16 23:44:00 +00:00
Bryce McKinlay c2765075db Remove conflict indicator.
From-SVN: r50893
2002-03-16 21:04:28 +00:00
Bryce McKinlay 3bb6567285 Makefile.am: Use empty -classpath flag in addition to -bootclasspath.
* Makefile.am: Use empty -classpath flag in addition to -bootclasspath.
	* Makefile.in: Rebuilt.

From-SVN: r50892
2002-03-16 21:03:43 +00:00
Bryce McKinlay 568d1435c5 re PR java/5935 (problem with anonymous inner classes)
* parse.y (craft_constructor): Return the constructor decl.
	(java_expand_classes): Update comments.
	(lookup_method_invoke): Call fix_constructors immediately for
	anonymous class. Fixes PR java/5935.

From-SVN: r50891
2002-03-16 20:57:10 +00:00
Nathan Sidwell 5dd236e238 re PR c++/4361 (bogus ambiguity taking the address of a member template)
cp:
	PR c++/4361
	* cp-tree.h (CLASSTYPE_METHOD_VEC): Document where templated
	conversion operators go.
	(struct lang_decl_flags): Add template_conv_p and unused
	bitfields.
	(DECL_TEMPLATE_CONV_FN_P): New macro.
	* call.c (build_user_type_conversion_1): Don't check second type
	conversion of overload set first.
	* class.c (add_method): Make sure templated conversion operators
	all end up on slot 2.
	* lex.c (do_identifier): A conversion operator token might be
	satisfied by a templated conversion operator.
	* mangle.c (struct globals) Add internal_mangling_p member.
	(write_template_param): Do internal mangling, if needed.
	(mangle_conv_op_name_for_type): Request internal mangling.
	* pt.c (check_explicit_specialization): Use
	CLASSTYPE_FIRST_CONVERSION_SLOT.
	(template_parm_this_level_p): New function.
	(push_template_decl_real): Determine DECL_TEMPLATE_CONV_FN_P.
	* search.c (lookup_fn_fields_1): Template conversions will be on
	the first slot.
	* typeck.c (build_component_ref): Preserve the type of an
	conversion operator name on the overload type.
	(build_x_function_call): Retrieve the conversion operator name.
testsuite:
	* g++.dg/template/conv1.C: New test.
	* g++.dg/template/conv2.C: New test.
	* g++.dg/template/conv3.C: New test.
	* g++.dg/template/conv4.C: New test.

From-SVN: r50889
2002-03-16 18:30:16 +00:00
Alexandre Oliva 28eca9e87b * ltmain.sh (relink_command): Fix typo in previous change.
From-SVN: r50887
2002-03-16 14:42:17 +00:00
Neil Booth b3124fac9b * cppinit.c: Revert -MD removal.
From-SVN: r50884
2002-03-16 14:03:36 +00:00
Stephane Carrez 121449b69b m68hc11.c (m68hc11_override_options): Don't use soft registers by default for 68HC12.
* config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
	soft registers by default for 68HC12.
	(m68hc11_conditional_register_usage): Don't use Z register for 68HC12
	when compiling with -fomit-frame-pointer.
	(expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
	(expand_epilogue): Likewise.
	(m68hc11_gen_rotate): Use exg when rotating by 8.

From-SVN: r50882
2002-03-16 14:03:59 +01:00
Stephane Carrez 840e2ff109 m68hc11-protos.h (ix_reg): Declare.
* config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
	* config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
	(splits): Remove unused add splits.
	("*addhi3_68hc12"): Tune constraints.
	("addhi_sp"): Try to use X instead of Y in all cases and if the
	constant fits in 8-bits and D is dead use abx/aby instructions.
	("*addhi3"): Remove extern declaration of ix_reg.
	("*subsi3"): Optimize and provide new split.
	("subhi3"): Cleanup.
	("*subhi3_sp"): Avoid saving X if we know it is dead.
	(arith splits): For 68hc12 save the address register on the stack
	and do the arithmetic operation with a pop.

From-SVN: r50880
2002-03-16 13:52:20 +01:00
Stephane Carrez 3c9a5efec9 m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid allocating QImode in address registers.
* config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
	allocating QImode in address registers.
	("*movqi_m68hc11"): Likewise.

From-SVN: r50878
2002-03-16 13:40:52 +01:00
Jan Hubicka e41f33923b * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
From-SVN: r50876
2002-03-16 12:01:15 +00:00
Neil Booth 576786b00f cppinit.c (print_help): Display -MD and -MMD.
* cppinit.c (print_help): Display -MD and -MMD.
	Don't display usage string.  Update assertion syntax and
	typo.
	(COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
	(cpp_handle_option): Update.

From-SVN: r50874
2002-03-16 10:57:28 +00:00
GCC Administrator be09037bdd Daily bump.
From-SVN: r50873
2002-03-16 08:18:16 +00:00
Eric Christopher 544013420c mips.md (movdf_internal2): Add two new move constraints.
2002-03-15  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips.md (movdf_internal2): Add two new move constraints.
	Fix register preference on last change.
	* config/mips/mips.c (mips_return_in_memory): New function.
	* config/mips/mips.h (RETURN_IN_MEMORY): Use.
	* config/mips/mips-protos.h: Declare.
	* config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
	* config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.

From-SVN: r50869
2002-03-16 08:00:45 +00:00
Chris Demetriou 1ac458d486 mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC...
2002-03-15  Chris Demetriou  <cgd@broadcom.com>

        * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
        MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
        and define it so that regardless of target CPU size,
        __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
        of "int" rather than "long."

From-SVN: r50868
2002-03-15 20:16:15 -08:00
Richard Henderson 0ba2075960 * init.c (build_new_1): Use size_binop instead of cp_build_binary_op.
From-SVN: r50867
2002-03-15 17:25:53 -08:00
Mark Mitchell 6fb2cd7be4 qualttp20.C: Remove unnecessary error tags.
* g++.dg/template/qualttp20.C: Remove unnecessary error tags.
	* g++.dg/template/qualttp3.C: Likewise.
	* g++.dg/template/qualttp4.C: Likewise
	* g++.dg/template/qualttp5.C: Likewise
	* g++.dg/template/qualttp6.C: Likewise
	* g++.dg/template/qualttp7.C: Likewise
	* g++.dg/template/qualttp8.C: Likewise
	* g++.dg/template/recurse.C: Likewise.

From-SVN: r50863
2002-03-16 01:00:50 +00:00
Anthony Green 2d933a0bf9 Commit embedded patch approved Feb 17
From-SVN: r50860
2002-03-16 00:37:21 +00:00
Richard Henderson 1fcd592b88 alpha.c (alpha_va_arg): Manipulate the type size as a tree.
* config/alpha/alpha.c (alpha_va_arg): Manipulate the type
        size as a tree.

From-SVN: r50857
2002-03-15 15:13:04 -08:00
Alexandre Oliva e67e72c7cb ltmain.sh (taglist): Initialized.
* ltmain.sh (taglist): Initialized.  Don't let `CC' tag out of it.
(relink_command): Added --tag flags.
(mode=install): If relinking fails; error out.

From-SVN: r50855
2002-03-15 23:02:08 +00:00
Alexandre Oliva 201d203b79 Makefile.am (jv_convert_LDADD): Don't list libraries that are already implicitly brought in from libgcj.la.
* Makefile.am (jv_convert_LDADD): Don't list libraries that are
already implicitly brought in from libgcj.la.
(gij_LDADD, rmic_LDADD, rmiregistry_LDADD): Likewise.
* Makefile.in: Rebuilt.

From-SVN: r50853
2002-03-15 22:46:58 +00:00
Eric Blake 89a1ba6d32 THANKS: Fix punctuation, alphabetization.
2002-03-15  Eric Blake  <ebb9@email.byu.edu>

	* THANKS: Fix punctuation, alphabetization.

From-SVN: r50851
2002-03-15 22:36:05 +00:00
Stephane Carrez a0df6910e3 m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
* config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
	("tstqi" split): Avoid using memory for tstqi on address register.
	(splits): Remove constraints.
	("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
	("cmpdf", "cmpsf"): Remove since not used.
	("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
	(peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.

From-SVN: r50849
2002-03-15 23:33:30 +01:00
Stephane Carrez 015a2e5904 m68hc11.md ("negsi2"): Optimize inline case.
* config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
	("neghi2"): Tighten constraints.
	("one_cmplsi2"): Optimize and simplify split.
	* config/m68hc11/larith.asm (__negsi2): Likewise for library.

From-SVN: r50847
2002-03-15 23:22:56 +01:00
Stephane Carrez cd28557ca2 m68hc11.md ("logicalsi3_zexthi"): Fix constraints and split of AND operation to clear the upper bits.
* config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
	and split of AND operation to clear the upper bits.
	("*logicalsi3_zextqi"): Likewise.
	("*logicallhi3_zexthi_ashift8"): Likewise.
	("*logicalsi3_silshr16"): Likewise.
	("logicalsi3_silshl16"): Likewise.
	("anddi3", "iordi3", "xordi3" splits): Remove constraints.

From-SVN: r50845
2002-03-15 23:13:07 +01:00
Stephane Carrez 932657df23 m68hc11.c (m68hc11_symbolic_p): New function.
* config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
	(m68hc11_indirect_p): New function.
	(m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
	(m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
	TARGET_M6812.
	(asm_print_register): Likewise.
	* config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
	(m68hc11_indirect_p): Declare.
	* config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
	(TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
	(TARGET_SWITCHES): New option -mrelax.
	* config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
	destination.
	("iorsi3", "xorsi3"): Likewise.
	("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
	("*andhi3_mem"): New to handle destination in memory with bclr
	and a scratch register.
	("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
	("*andhi3_const"): New when operand2 is constant.
	("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
	("*andhi3_gen"): Cleanup of the old "andhi3".
	("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
	("xorqi3"): Update constraints.

From-SVN: r50843
2002-03-15 23:04:49 +01:00
Tom Tromey 60f32585da re PR libgcj/5944 (Use of uint32_t breaks libgcj bootstrap on Solaris 2.5.1)
2002-03-15  Tom Tromey  <tromey@redhat.com>
	    Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>

	Fix for PR libgcj/5944.
	* gnu/gcj/io/shs.h: Define uint8_t and uint32_t.

Co-Authored-By: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>

From-SVN: r50842
2002-03-15 21:59:12 +00:00
Stephane Carrez fdffea1abb m68hc11.c (m68hc11_small_indexed_indirect_p): Look for reg_equiv_memory_loc when the operand is a register that does not get...
* config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
	for reg_equiv_memory_loc when the operand is a register that does
	not get a hard register (stack location).
	(tst_operand): After reload, accept all memory operand.
	(symbolic_memory_operand): Fix detection of symbolic references.
	* config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
	accept symbols and any constant.

From-SVN: r50839
2002-03-15 22:54:58 +01:00
Stephane Carrez 6272bc6859 m68hc11.c (emit_move_after_reload): Add a REG_INC note on the insn that sets the soft frame register.
* config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
	note on the insn that sets the soft frame register.
	(must_parenthesize): ix and iy are also reserved names.
	(print_operand_address): One more place where parenthesis are required
	to avoid confusion with register names.
	(m68hc11_gen_movhi): Allow push of stack pointer.
	(m68hc11_check_z_replacement): Fix handling of parallel with a
	clobber.
	(m68hc11_z_replacement): Must update the REG_INC notes to tell what
	the replacement register is.
	* config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
	and D8_REGS classes.
	(MODES_TIEABLE_P): All modes are tieable except QImode.

From-SVN: r50837
2002-03-15 22:44:49 +01:00
Stephane Carrez 1d2d9def82 larith.asm (___adddi3): Optimize saving of result.
* config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
	(___subdi3): Likewise.
	(__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
	(__map_data_section): Optimize 68hc11 case.

From-SVN: r50835
2002-03-15 22:36:27 +01:00
Stephane Carrez a0ccf503a8 m68hc11.c (m6812_cost): Make cost of add higher than a shift to avoid adding a register with itself.
* config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
	than a shift to avoid adding a register with itself.
	(m68hc11_memory_move_cost): Take into account NO_REGS.
	(m68hc11_register_move_cost): Update and use memory move cost
	for soft registers.
	(m68hc11_address_cost): Make cost of valid offset not 0 so that
	it gives more opportunities to cse to optimize.
	* config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
	* config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.

From-SVN: r50833
2002-03-15 22:27:01 +01:00
Tom Tromey 45061554e7 Updated THANKS
From-SVN: r50832
2002-03-15 20:52:04 +00:00
Mark Mitchell 6e4ae815bd c-common.c (statement_code_p): Handle CLEANUP_STMT.
* c-common.c (statement_code_p): Handle CLEANUP_STMT.
	* c-common.def (CLEANUP_STMT): New tree node.
	* c-common.h (CLEANUP_DECL): New macro.
	(CLEANUP_EXPR): Likewise.
	* c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
	* tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
	* tree-inline.c (initialize_inlined_parameters): Clean up
	new local variables.

	* cp-tree.h (CLEANUP_DECL): Remove.
	(CLEANUP_EXPR): Likewise.
	* decl.c (destroy_local_var): Simplify.
	(maybe_build_cleanup): Tidy.
	* dump.c (cp_dump_tree): Remove handling of CLEANUP_STMT.
	* semantics.c (cp_expand_stmt): Likewise.
	* cp/tree.c (cp_statement_code_p): Likewise.

	* g++.dg/opt/dtor1.C: New test.

From-SVN: r50830
2002-03-15 20:08:39 +00:00
Eric Blake 08bcc159d9 For PR java/5902:
2002-03-15  Eric Blake  <ebb9@email.byu.edu>

	For PR java/5902:
	* libjava.compile/PR5902.java: Does not need to execute.
	For PR java/5913:
	* libjava.compile/PR5913.java: Ditto.

From-SVN: r50829
2002-03-15 19:17:39 +00:00
Jakub Jelinek a42519bebd re PR bootstrap/4128 (Bootstrap on solaris2.7 fails compiling libf2c/libF77/l_gt.c)
PR bootstrap/4128
	* config/sparc/sparc.c (gen_v9_scc): Move early clobber test
	before movrXX only, use reg_overlap_mentioned_p.
	Only special case NE if just one insn can be generated.

	* gcc.c-torture/compile/20020315-1.c: New test.

From-SVN: r50826
2002-03-15 19:51:36 +01:00
Jason Merrill 1540944868 varasm.c (assemble_variable): Call resolve_unique_section before checking DECL_SECTION_NAME.
* varasm.c (assemble_variable): Call resolve_unique_section before
        checking DECL_SECTION_NAME.  Use zeros for a decl with DECL_INITIAL
        of error_mark_node.

From-SVN: r50824
2002-03-15 13:44:14 -05:00
Richard Earnshaw 32135a8c0c * gcc.dg/weak-1.c: Fix scan tests.
From-SVN: r50821
2002-03-15 18:32:37 +00:00
Jason Merrill 6da794e835 re PR c++/5857 (C++ duplicate_decls shouldn't use common_type)
PR c++/5857
        * decl.c (duplicate_decls): Use merge_types instead of common_type.
        * typeck.c (common_type): Just hand off to
        type_after_usual_arithmetic_conversions and
        composite_pointer_type.
        (merge_types): New fn.
        (commonparms): Use it instead of common_type.
        (type_after_usual_arithmetic_conversions): Also handle COMPLEX_TYPE.
        (composite_pointer_type): Also handle attributes.
        * cp-tree.h: Declare merge_types.

From-SVN: r50820
2002-03-15 13:31:55 -05:00
Anthony Green b3b77addd0 Remove useless mingw32 configury
From-SVN: r50819
2002-03-15 18:16:34 +00:00
Anthony Green e2ea015c1c Install libgcj-config.h in a better place.
From-SVN: r50817
2002-03-15 18:03:49 +00:00
Anthony Green 512e32d289 Address mingw32 issues.
From-SVN: r50816
2002-03-15 18:01:38 +00:00
Anthony Green 8d39b4476f Fix gcj -R.
From-SVN: r50815
2002-03-15 18:00:22 +00:00
Richard Earnshaw 3a4edb4417 re PR target/5170 (Supicious code in arm.md)
PR target/5170
* arm.md (split pattern for thumb shiftable immediates): Add comment
explaining non-obvious test.

From-SVN: r50814
2002-03-15 17:06:58 +00:00
Richard Earnshaw 32defa36b0 re PR target/5712 ([ARM] bad ADR generated)
PR target/5712
* arm.md (movaddr, movaddr_insn): Delete.

From-SVN: r50809
2002-03-15 16:32:26 +00:00
Paolo Carlini 53723190aa 2002-03-15 Paolo Carlini <pcarlini@unitus.it>
* testsuite/22_locale/collate_members_char.cc
	(test01): compare the result of collate::compare with
	that of collate::transform + string::compare, not with
	that of collate::transform + collate::compare.
	(test01): values returned by collate::compare are
	normalized, therefore test against +-1.
	* testsuite/22_locale/collate_members_wchar_t.cc: Ditto.

From-SVN: r50808
2002-03-15 16:05:56 +00:00
Jason Merrill 190f491640 relocate tests to appropriate directories
From-SVN: r50806
2002-03-15 06:07:04 -05:00
Jason Merrill 81a60e6ca0 add comments
From-SVN: r50805
2002-03-15 05:18:21 -05:00