aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2002-03-17c-common.h (yyparse, [...]): New.Neil Booth24-35/+80
* 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
2002-03-17* gcc.dg/cpp/wchar-1.c: Update.Neil Booth1-0/+1
From-SVN: r50922
2002-03-17* gcc.dg/cpp/wchar-1.c: Revert previous change.Neil Booth1-1/+1
From-SVN: r50921
2002-03-17re PR c++/5757 (Throwing exception in constructor, causes segfault during ↵Jason Merrill3-2/+56
unwind) PR c++/5757 * init.c (build_new_1): Pass the right pointer to op delete. From-SVN: r50917
2002-03-17fix commentJason Merrill1-2/+1
From-SVN: r50916
2002-03-17* gcc.dg/cpp/wchar-1.c: Update.Neil Booth2-1/+5
From-SVN: r50914
2002-03-17mmix.md ("truncdfsf2"): Correct operator is float_truncate, not fix.Hans-Peter Nilsson2-3/+8
* 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
2002-03-17* config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.Hans-Peter Nilsson2-4/+4
From-SVN: r50912
2002-03-17Daily bump.GCC Administrator2-2/+2
From-SVN: r50910
2002-03-17mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp (s8), but rather ↵Alexandre Oliva2-8/+16
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-16mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.Alexandre Oliva3-1/+6
* 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-16mips.md (addsi3, adddi3): Use scratch register to add register to ↵Alexandre Oliva2-0/+45
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-16mips-protos.h (embedded_pic_fnaddr_reg): New.Alexandre Oliva5-37/+99
* 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-16re PR java/5935 (problem with anonymous inner classes)Bryce McKinlay2-6/+23
* 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-16re PR c++/4361 (bogus ambiguity taking the address of a member template)Nathan Sidwell13-91/+343
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* cppinit.c: Revert -MD removal.Neil Booth2-0/+21
From-SVN: r50884
2002-03-16m68hc11.c (m68hc11_override_options): Don't use soft registers by default ↵Stephane Carrez2-6/+31
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-16m68hc11-protos.h (ix_reg): Declare.Stephane Carrez3-110/+134
* 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-16m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid allocating QImode in ↵Stephane Carrez2-4/+10
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* cfgcleanup.c (cleanup_cfg): Fix updating of liveness.Jan Hubicka2-1/+5
From-SVN: r50876
2002-03-16cppinit.c (print_help): Display -MD and -MMD.Neil Booth2-21/+13
* 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-16Daily bump.GCC Administrator2-2/+2
From-SVN: r50873
2002-03-16mips.md (movdf_internal2): Add two new move constraints.Eric Christopher6-17/+32
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-15mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an MEABI case for each definition ↵Chris Demetriou2-6/+15
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* init.c (build_new_1): Use size_binop instead of cp_build_binary_op.Richard Henderson2-1/+5
From-SVN: r50867
2002-03-16qualttp20.C: Remove unnecessary error tags.Mark Mitchell9-16/+27
* 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-15alpha.c (alpha_va_arg): Manipulate the type size as a tree.Richard Henderson2-5/+20
* config/alpha/alpha.c (alpha_va_arg): Manipulate the type size as a tree. From-SVN: r50857
2002-03-15m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.Stephane Carrez2-59/+137
* 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-15m68hc11.md ("negsi2"): Optimize inline case.Stephane Carrez3-45/+63
* 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-15m68hc11.md ("logicalsi3_zexthi"): Fix constraints and split of AND operation ↵Stephane Carrez2-49/+95
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-15m68hc11.c (m68hc11_symbolic_p): New function.Stephane Carrez5-160/+484
* 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-15m68hc11.c (m68hc11_small_indexed_indirect_p): Look for reg_equiv_memory_loc ↵Stephane Carrez3-7/+35
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-15m68hc11.c (emit_move_after_reload): Add a REG_INC note on the insn that sets ↵Stephane Carrez3-5/+65
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-15larith.asm (___adddi3): Optimize saving of result.Stephane Carrez2-79/+116
* 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-15m68hc11.c (m6812_cost): Make cost of add higher than a shift to avoid adding ↵Stephane Carrez4-18/+35
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-15c-common.c (statement_code_p): Handle CLEANUP_STMT.Mark Mitchell16-26/+95
* 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-15re PR bootstrap/4128 (Bootstrap on solaris2.7 fails compiling ↵Jakub Jelinek4-14/+56
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-15varasm.c (assemble_variable): Call resolve_unique_section before checking ↵Jason Merrill2-8/+14
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* gcc.dg/weak-1.c: Fix scan tests.Richard Earnshaw2-8/+12
From-SVN: r50821
2002-03-15re PR c++/5857 (C++ duplicate_decls shouldn't use common_type)Jason Merrill5-157/+129
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-15Fix gcj -R.Anthony Green2-4/+6
From-SVN: r50815
2002-03-15re PR target/5170 (Supicious code in arm.md)Richard Earnshaw2-0/+7
PR target/5170 * arm.md (split pattern for thumb shiftable immediates): Add comment explaining non-obvious test. From-SVN: r50814
2002-03-15re PR target/5712 ([ARM] bad ADR generated)Richard Earnshaw2-21/+5
PR target/5712 * arm.md (movaddr, movaddr_insn): Delete. From-SVN: r50809
2002-03-15relocate tests to appropriate directoriesJason Merrill5-0/+0
From-SVN: r50806
2002-03-15add commentsJason Merrill2-2/+19
From-SVN: r50805
2002-03-15fix comment typoJason Merrill1-1/+1
From-SVN: r50804
2002-03-15toplev.c (wrapup_global_declarations): Clarify variable handling.Jason Merrill6-24/+68
* 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
2002-03-15Daily bump.GCC Administrator2-2/+2
From-SVN: r50801
2002-03-14c-decl.c: Include c-pragma.h.Richard Henderson11-115/+210
* 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
2002-03-14re PR target/5312 ([IA64] ICE in itanium_reorder at config/ia64/ia64.c:5917)Richard Henderson3-32/+93
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