Age | Commit message (Collapse) | Author | Files | Lines |
|
* c-common.h (yyparse, c_common_parse_file): New.
* c-lang.c: Include c-common.h.
(LANG_HOOKS_PARSE_FILE): Redefine.
* c-lex.c: Include c-common.h.
(yyparse): Rename c_common_parse_file. Call yyparse.
* c-parse.in (yyparse): Remove macro.
* c-tree.h (yyparse_1): Remove.
* langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
(LANG_HOOKS_INITIALIZER): Update.
* langhooks.h (struct lang_hoooks): New hook parse_file.
* toplev.c (compile_file): Use parse_file hook.
* tree.h (yyparse): Remove.
ada:
* misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
(yyparse): Rename gnat_parse_file.
cp:
* cp-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
* parse.y (yyparse): Remove macro.
f:
* com.c (LANG_HOOKS_PARSE_FILE): Redefine.
* com.h (ffe_parse_file): New.
* parse.c (NAME_OF_STDIN): Remove.
(yyparse): Rename ffe_parse_file.
java:
* java-tree.h (java_parse_file): New.
* jcf-parse.c (yyparse): Rename java_parse_file.
* lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
objc:
* objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
From-SVN: r50926
|
|
From-SVN: r50922
|
|
From-SVN: r50921
|
|
unwind)
PR c++/5757
* init.c (build_new_1): Pass the right pointer to op delete.
From-SVN: r50917
|
|
From-SVN: r50916
|
|
From-SVN: r50914
|
|
* config/mmix/mmix.md ("truncdfsf2"): Correct operator is
float_truncate, not fix.
("*truncdfsf2_real"): Ditto.
("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
From-SVN: r50913
|
|
From-SVN: r50912
|
|
From-SVN: r50910
|
|
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
|
|
* 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
|
|
non-constant into sp.
* config/mips/mips.md (addsi3, adddi3): Use scratch register to
add register to non-constant into sp.
From-SVN: r50897
|
|
* 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
|
|
* 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
|
|
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
|
|
From-SVN: r50884
|
|
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
|
|
* 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
|
|
address registers.
* config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
allocating QImode in address registers.
("*movqi_m68hc11"): Likewise.
From-SVN: r50878
|
|
From-SVN: r50876
|
|
* 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
|
|
From-SVN: r50873
|
|
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
|
|
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
|
|
From-SVN: r50867
|
|
* 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
|
|
* config/alpha/alpha.c (alpha_va_arg): Manipulate the type
size as a tree.
From-SVN: r50857
|
|
* 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
|
|
* 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
|
|
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
|
|
* 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
|
|
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
|
|
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
|
|
* 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
|
|
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
|
|
* 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
|
|
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
|
|
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
|
|
From-SVN: r50821
|
|
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
|
|
From-SVN: r50815
|
|
PR target/5170
* arm.md (split pattern for thumb shiftable immediates): Add comment
explaining non-obvious test.
From-SVN: r50814
|
|
PR target/5712
* arm.md (movaddr, movaddr_insn): Delete.
From-SVN: r50809
|
|
From-SVN: r50806
|
|
From-SVN: r50805
|
|
From-SVN: r50804
|
|
* toplev.c (wrapup_global_declarations): Clarify variable handling.
-fkeep-static-consts doesn't apply to comdats.
cp/
* decl.c (make_rtl_for_nonlocal_decl): Also defer COMDAT
variables.
* decl2.c (maybe_make_one_only): Also mark the decl as needed.
From-SVN: r50802
|
|
From-SVN: r50801
|
|
* c-decl.c: Include c-pragma.h.
(start_decl, start_function): Invoke maybe_apply_pragma_weak.
(finish_function): Tidy.
* c-pragma.c: Include c-common.h.
(pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
(handle_pragma_weak): Use them.
(init_pragma): Register pending_weaks.
* c-pragma.h (maybe_apply_pragma_weak): Declare.
* print-tree.c (print_node): Print DECL_WEAK.
* varasm.c (mark_weak_decls): Remove.
(remove_from_pending_weak_list): Remove.
(add_weak): Remove.
(asm_emit_uninitialised): Call globalize_decl for weak commons.
(weak_decls): Make a tree_list.
(declare_weak): Cons weak_decls directly.
(globalize_decl): Remove weak_decls elements directly.
(weak_finish): Simplify weak_decls walk. Don't weaken unused
symbols. Don't pretend to handle aliases.
(init_varasm_once): Update weak_decls registry.
* Makefile.in: Update dependencies.
* cp/decl.c: Include c-pragma.h.
(start_decl, start_function): Invoke maybe_apply_pragma_weak.
* cp/Make-lang.in: Update dependencies.
* gcc.dg/weak-1.c: New.
From-SVN: r50797
|
|
PR target/5312
* config/ia64/ia64.c: Include tm_p.h last.
(gen_nop_type): Remove duplicate definition.
(cycle_end_fill_slots): Set sched_data for second L slot.
(maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
(nop_cycles_until): Fix typos.
* gcc.dg/20020313-1.c: New.
From-SVN: r50796
|