aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2009-11-15PR target/21078, 21080Andy Hutchinson4-2/+55
PR target/21078, 21080 * config/avr/avr.c (avr_return_addr_rtx): New function for builtin_return_address. (expand_prologue): Calculate stack usage. (avr_asm_function_end_prologue): Output stack size and offset label. * config/avr/avr.h (RETURN_ADDR_RTX): Replace. (machine_function): Add stack_usage. * config/avr/avr-protos.h (avr_return_addr_rtx): New function. From-SVN: r154188
2009-11-15Daily bump.GCC Administrator1-1/+1
From-SVN: r154187
2009-11-15iq2000.c (iq2000_function_value): Make static, add new 'outgoing' argument.Anatoly Sokolov4-15/+51
* config/iq2000/iq2000.c (iq2000_function_value): Make static, add new 'outgoing' argument. (iq2000_libcall_value, iq2000_function_value_regno_p): New functions. (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare. * config/iq2000/iq2000.h: (FUNCTION_VALUE_REGNO_P): Redefine, use iq2000_function_value_regno_p. (FUNCTION_VALUE, LIBCALL_VALUE): Remove. * config/iq2000/iq2000-protos.h (iq2000_function_value_regno_p): Declare. From-SVN: r154184
2009-11-14re PR target/42031 (Thumb2 ICE - spill failure.)Richard Earnshaw1-0/+1
PR target/42031 * arm.md (adddi_sesidi_di): Place tied contraint first. (adddi_zesidi_di, subdi_di_zesidi, subdi_di_sesidi): Likewise (subdi_zesidi_di, subdi_sesidi_di): Likewise. (mulsi3_compare0, mulsi_compare0_scratch): Likewise. (mulsi3addsi, mulsi3addsi_compare0): Likewise. (mulsi3addsi_compare0_scratch, smulsi3_highpart_nov6): Likewise. (umulsi3_highpart_nov6, anddi_zesidi_di, anddi_sesdi_di): Likewise. (anddi_notdi_di, iordi_sesidi_di, xordi_sesidi_di): Likewise. (andsi_iorsi3_notsi, arm_ashldi3_1bit, arm_ashrdi3_1_bit): Likewise. (arm_lshrdi3_1bit, one_cmpldi2): Likewise. From-SVN: r154182
2009-11-14arm.md (adddi_sesidi_di): Place tied contraint first.Richard Earnshaw2-29/+42
* arm.md (adddi_sesidi_di): Place tied contraint first. (adddi_zesidi_di, subdi_di_zesidi, subdi_di_sesidi): Likewise (subdi_zesidi_di, subdi_sesidi_di): Likewise. (mulsi3_compare0, mulsi_compare0_scratch): Likewise. (mulsi3addsi, mulsi3addsi_compare0): Likewise. (mulsi3addsi_compare0_scratch, smulsi3_highpart_nov6): Likewise. (umulsi3_highpart_nov6, anddi_zesidi_di, anddi_sesdi_di): Likewise. (anddi_notdi_di, iordi_sesidi_di, xordi_sesidi_di): Likewise. (andsi_iorsi3_notsi, arm_ashldi3_1bit, arm_ashrdi3_1_bit): Likewise. (arm_lshrdi3_1bit, one_cmpldi2): Likewise. From-SVN: r154181
2009-11-14predicates.md (call_register_no_elim_operand): New predicate.Uros Bizjak2-1/+24
* config/i386/predicates.md (call_register_no_elim_operand): New predicate. Reject stack register as valid call operand for 32bit targets. (call_insn_operand): Use call_register_no_elim_operand. From-SVN: r154178
2009-11-14Daily bump.GCC Administrator1-1/+1
From-SVN: r154177
2009-11-13* objc-act.c (objc_add_static_instance): Do not set DECL_COMMON.Jan Hubicka2-1/+4
From-SVN: r154173
2009-11-13function.c (stack_protect_prologue): Don't bypass expand_expr for ↵Richard Henderson2-12/+10
stack_protect_guard and guard_decl. * function.c (stack_protect_prologue): Don't bypass expand_expr for stack_protect_guard and guard_decl. (stack_protect_epilogue): Likewise. From-SVN: r154168
2009-11-13ipa.c (function_and_variable_visibility): Clear COMDAT on functions when to ↵Jan Hubicka2-0/+11
PUBLIC is set. * ipa.c (function_and_variable_visibility): Clear COMDAT on functions when to PUBLIC is set. From-SVN: r154167
2009-11-13re PR c++/27425 (ICE with invalid template-template-parameter)Jason Merrill4-1/+23
PR c++/27425 PR c++/34274 * pt.c (expand_template_argument_pack): Handle null arg gracefully. (convert_template_argument): Use %T for type. From-SVN: r154164
2009-11-13re PR c++/29363 (ICE throwing undeclared object)Jason Merrill6-3/+19
PR c++/29363 * decl.c (create_implicit_typedef): Set TYPE_STUB_DECL here. (cxx_init_decl_processing): Not here. * name-lookup.c (pushtag): Or here. * pt.c (lookup_template_class): Or here. From-SVN: r154163
2009-11-13re PR middle-end/42029 (ICE with complex data type and openmp for reduction ↵Jakub Jelinek2-2/+10
clause) PR middle-end/42029 * gimplify.c (gimplify_omp_atomic): Set DECL_GIMPLE_REG_P on tmp_load if needed. * libgomp.c/pr42029.c: New test. From-SVN: r154161
2009-11-13re PR target/41900 (call *%esp shouldn't be generated because of CPU errata)Uros Bizjak5-77/+51
2009-11-13 Uros Bizjak <ubizjak@gmail.com> PR target/41900 (*call_pop_1, *call_1, *call_value_pop_1, *call_value_1): Use "lsm" as operand 1 constraint. * config/i386/predicates.md (call_insn_operand): Depend on index_register_operand to avoid %esp register. 2009-11-13 Uros Bizjak <ubizjak@gmail.com> Revert: 2009-11-03 Uros Bizjak <ubizjak@gmail.com> PR target/41900 * config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New. (TARGET_CALL_ESP): New define. * config/i386/i386.c (initial_ix86_tune_features): Initialize X86_ARCH_CALL_ESP. * config/i386/i386.md (*call_pop_1_esp, *call_1_esp, *call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1, *call_1, *call_value_pop_1 and *call_value_1. Depend on TARGET_CALL_ESP. (*call_pop_1, *call_1, *call_value_pop_1, *call_value_1): New patterns, use "lsm" as operand 1 constraint. * config/i386/predicates.md (call_insn_operand): Depend on index_register_operand for !TARGET_CALL_ESP to avoid %esp register. From-SVN: r154160
2009-11-13re PR c++/26965 (Unnecessary debug info for unused consts in C++)Jason Merrill4-22/+22
PR debug/26965 * dwarf2out.c (gen_variable_die): Don't worry about DECL_COMDAT. Don't emit a second declaration at any scope. From-SVN: r154157
2009-11-13Forgot to add gcc/ChangeLog entry for debug/41065Dodji Seketeli1-0/+28
From-SVN: r154154
2009-11-13re PR c++/35075 (ICE with references in templates)Jason Merrill4-0/+39
PR c++/35075 * pt.c (convert_nontype_argument): Give helpful error about reference variable argument to reference template parameter. From-SVN: r154151
2009-11-13PR c++/21008, DR 515Jason Merrill5-9/+32
PR c++/21008, DR 515 * semantics.c (finish_non_static_data_member): Don't check derivation in a template. From-SVN: r154150
2009-11-13re PR c++/11987 (Accepts-invalid with inherited nested type)Jason Merrill8-5/+55
PR c++/11987 * parser.c (cp_parser_direct_declarator): Give helpful error about trying to define member of a dependent typedef. * pt.c (resolve_typename_type): Don't resolve a typedef typename. * tree.c (typedef_variant_p): New. * cp-tree.h: Declare it. From-SVN: r154149
2009-11-13re PR rtl-optimization/41697 (ICE on gcc.c-torture/compile/20090917-1.c)Andrey Belevantsev2-0/+11
PR rtl-optimization/41697 * sel-sched-ir.c (fallthru_bb_of_jump): Bail out when a block with a conditional jump has a single successor. From-SVN: r154148
2009-11-13sched-deps.c (init_deps): New parameter lazy_reg_last.Andrey Belevantsev9-24/+115
2009-11-13 Andrey Belevantsev <abel@ispras.ru> * sched-deps.c (init_deps): New parameter lazy_reg_last. Don't allocate reg_last when in case lazy_reg_last is true. (init_deps_reg_last): New. (free_deps): When max_reg is 0, this context is already freed. * sched-int.h (init_deps_reg_last): Export. (init_deps): Update prototype. * sched-ebb.c (schedule_ebb): Update the call to init_deps. * sched-rgn.c (sched_rgn_compute_dependencies): Likewise. * ddg.c (build_intra_loop_deps): Likewise. * sel-sched-ir.c (copy_deps_context, create_deps_context, reset_deps_context, deps_init_id): Likewise. (init_first_time_insn_data): Lazy allocate INSN_DEPS_CONTEXT. (free_data_for_scheduled_insn): New, break down from ... (free_first_time_insn_data): ... here. (has_dependence_p): Allocate reg_last now, when it is needed. (extend_insn_data): When maximal LUID is big enough, allocate per-insn data in smaller chunks. * sel-sched-ir.h (free_data_for_scheduled_insn): Export. * sel-sched.c (update_seqnos_and_stage): Free INSN_DEPS_CONTEXT in scheduled insn. From-SVN: r154147
2009-11-13re PR testsuite/42001 (LTO tests fail with non multilib targets (but still ↵Uros Bizjak3-14/+22
not --disable-multilib )) PR testsuite/42001 * g++.dg/lto/lto.exp: Pass no-mathlib to lto_init. Call lto_finish at the end. * gfortran.dg/lto/lto.exp: Ditto. From-SVN: r154145
2009-11-13i386.md (call_value): Fix comment.Uros Bizjak2-17/+29
* config/i386/i386.md (call_value): Fix comment. (sibcall_value): Ditto. From-SVN: r154143
2009-11-13Fix nitsEric Botcazou1-8/+8
From-SVN: r154142
2009-11-13linux-unwind.h (x86_frob_update_context): New function.Eric Botcazou2-0/+24
* config/i386/linux-unwind.h (x86_frob_update_context): New function. (MD_FROB_UPDATE_CONTEXT): Define. From-SVN: r154141
2009-11-12re PR c++/27078 (Duplicate error message for ambiguous enum)Jason Merrill2-6/+14
PR c++/27078 * parser.c (cp_parser_primary_expression): Don't give a duplicate ambiguity error. From-SVN: r154139
2009-11-13Daily bump.GCC Administrator1-1/+1
From-SVN: r154138
2009-11-12re PR c++/39560 (Erroneous warnings 'unused variable' in a templated class ↵Jason Merrill4-0/+33
method with union) PR c++/39560 * decl2.c (build_anon_union_vars): Set DECL_ARTIFICIAL. From-SVN: r154133
2009-11-12linux-unwind.h (sparc64_fallback_frame_state): Tidy.Eric Botcazou4-54/+95
* config/sparc/linux-unwind.h (sparc64_fallback_frame_state): Tidy. Do not schedule an %sp restore. Compensate for RETURN_ADDR_OFFSET. (sparc_fallback_frame_state): Tidy. Compensate for RETURN_ADDR_OFFSET. ada/ * init.c (GNU/Linux Section): Enable for all architectures. From-SVN: r154132
2009-11-12re PR c++/37037 (ICE on template class member function definition after ↵Jason Merrill4-1/+20
explicit template class instantation) PR c++/37037 * decl.c (grokdeclarator): Don't generate a void PARM_DECL. From-SVN: r154131
2009-11-12re PR c++/42013 (cv-qualification of conditional expression type depending ↵Jason Merrill3-6/+13
on the value of its first expression?!?) PR c++/42013 * call.c (build_conditional_expr): Check specifically for folding to CALL_EXPR rather than TREE_SIDE_EFFECTS. From-SVN: r154129
2009-11-12ipa.c (function_and_variable_visibility): Fix my accidentail commit and ↵Jan Hubicka2-2/+8
clear DECL_COMMON on localized declarations. * ipa.c (function_and_variable_visibility): Fix my accidentail commit and clear DECL_COMMON on localized declarations. From-SVN: r154128
2009-11-12typeck.c (cv_qualified_p): New fn.Jason Merrill5-8/+26
* typeck.c (cv_qualified_p): New fn. (decay_conversion): Use it. * cp-tree.h: Declare it. * tree.c (rvalue): Use it and cv_unqualified. * init.c (build_aggr_init): Likewise. From-SVN: r154125
2009-11-12re PR c++/42013 (cv-qualification of conditional expression type depending ↵Jason Merrill4-2/+42
on the value of its first expression?!?) PR c++/42013 * call.c (build_conditional_expr): Don't fold a TREE_SIDE_EFFECTS COND_EXPR in unevaluated context. From-SVN: r154124
2009-11-12re PR rtl-optimization/38582 (excessive time in rename registers)Bernd Schmidt2-66/+111
PR rtl-opt/38582 * regrename.c (struct du_head): New structure; some elements moved from... (struct du_chain): ... this one. (open_chains, closed_chains): Now of type struct du_head *. (do_replace): Accept du_head argument, not du_chain. All callers changed. Modified code to match new data structures. (build_def_use): Return a list of du_head structures. Modified code to match new data structures. (dump_def_use_chain): Accept du_head argument, not du_chain. All callers changed. Modified code to match new data structures. (merge_overlapping_regs): Accept du_head argument, not du_chain. All callers changed. Modified code to match new data structures. (scan_rtx_reg): Change type of this_regno and this_nregs to unsigned. Allocate a du_head structure as well as a du_chain when creating a new chain. Modified other code to match new data structures. From-SVN: r154123
2009-11-12cgraph.h (varpool_node_name): Declare.Jan Hubicka5-9/+32
* cgraph.h (varpool_node_name): Declare. * cgraphunit.c (process_function_and_variable_attributes): Set force_output flag on used variables. * ipa.c (function_and_variable_visibility): Dump externally visible and needed variables. * varpool.c (varpool_node_name): Export. (decide_is_variable_needed): Check COMDAT for externally visible vars; ignore needed flag. From-SVN: r154121
2009-11-12lto-plugin.c (write_resolution): Assume resolution_file is set.Rafael Avila de Espindola4-6/+14
2009-11-12 Rafael Avila de Espindola <espindola@google.com> * lto-plugin.c (write_resolution): Assume resolution_file is set. Print the symbol name. (all_symbols_read_handler): Create a resolution file. Pass it to gcc. (cleanup_handler): Remove the resolution file. (process_option): Drop the -resolution option. 2009-11-12 Rafael Avila de Espindola <espindola@google.com> * lang.opt (fresolution): Renamed from resolution. * lto-lang.c (lto_handle_option): Handle new option name. * lto.c (lto_resolution_read): Add more checks. Discard rest of line. From-SVN: r154118
2009-11-12intrinsic.texi (XOR): Refer also to .NEQV.Tobias Burnus2-2/+9
2009-11-12 Tobias Burnus <burnus@net-b.de> * intrinsic.texi (XOR): Refer also to .NEQV. (ISO_FORTRAN_ENV): State which parameters are F2008. From-SVN: r154117
2009-11-12re PR middle-end/41930 (cc1 SEGV compiling maxval_r16.c)Uros Bizjak2-50/+57
PR middle-end/41930 * simplify-rtx.c (simplify_replace_fn_rtx) <case 'e'>: Skip processing if XEXP (x, i) is NULL. From-SVN: r154116
2009-11-12decl2.c (constrain_visibility): Clear WEAK and COMMON flags.Jan Hubicka4-0/+14
* decl2.c (constrain_visibility): Clear WEAK and COMMON flags. * ipa.c (function_and_variable_visibility): Verify that WEAK || COMMON imply PUBLIC || EXTERNAL. From-SVN: r154115
2009-11-11re PR c++/39131 (decimal float point: ICE on typeid( 0.dd ))Jason Merrill4-0/+19
PR c++/39131 * rtti.c (emit_support_tinfos): Add DFP types. * config/abi/pre/gnu.ver: Add DFP types. * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.4. From-SVN: r154113
2009-11-12re PR middle-end/41440 (SEG FAULT in CSE.C caused by bad RTL expansion)Andy Hutchinson2-0/+18
PR middle-end/41440 * cfgexpand.c (expand_gimple_basic_block): Append NOP to a fallthru, single successor block, ending with jump created by RTL expander. From-SVN: r154112
2009-11-12Daily bump.GCC Administrator1-1/+1
From-SVN: r154111
2009-11-11re PR middle-end/41729 (Undefined reference with -fPIC -fwhole-program -flto)Jan Hubicka2-2/+18
PR middle-end/41729 * ipa.c (function_and_variable_visibility): Do not privatize COMDAT and WEAK variables at -fwhole-program. PR middle-end/41735 * ipa.c (whole_program_function_and_variable_visility): COMDAT functions/variables are not needed even if they are externally visible. From-SVN: r154108
2009-11-11re PR fortran/41978 ([F03] ICE in gfc_conv_expr_descriptor for array PPC ↵Janus Weil4-1/+45
assignment) 2009-11-11 Janus Weil <janus@gcc.gnu.org> PR fortran/41978 * resolve.c (resolve_ref): Take care of procedure pointer component references. 2009-11-11 Janus Weil <janus@gcc.gnu.org> PR fortran/41978 * gfortran.dg/proc_ptr_comp_22.f90: New test. From-SVN: r154107
2009-11-11call.c (build_op_delete_call): Downgrade error about placement/non-placement ↵Jason Merrill2-2/+7
confusion to permerror. * call.c (build_op_delete_call): Downgrade error about placement/non-placement confusion to permerror. From-SVN: r154106
2009-11-11(patch by Richard Guenther)Jan Hubicka3-6/+28
(patch by Richard Guenther) * lto-streamer-out.c (output_function): Output head of argument list earlier. * lto-streamer-in.c (input_function): Re-map arguments into merged declaration. From-SVN: r154105
2009-11-11re PR testsuite/42001 (LTO tests fail with non multilib targets (but still ↵H.J. Lu3-7/+45
not --disable-multilib )) 2009-11-11 H.J. Lu <hongjiu.lu@intel.com> PR testsuite/42001 * gcc.dg/lto/lto.exp: Pass no-mathlib to lto_init. Call lto_finish at the end. * lib/lto.exp (lto_init): Set mathlib to " " for no-mathlib. (lto_finish): New. Restore mathlib. From-SVN: r154104
2009-11-11lto-cgraph.c: Include gcov-io.hJan Hubicka5-5/+80
* lto-cgraph.c: Include gcov-io.h (output_profile_summary): New function. (output_cgraph): Use it. (input_profile_summary): New function. (input_cgraph): Use it. * coverage.c (build_ctr_info_value): Use varpool; initalize DECL_ASSEMBLER_NAME. (create_coverage): Likewise. * tree-profile.c (tree_init_ic_make_global_vars): Likewise. (tree_init_edge_profiler): Likewise. * Makefile.in (lto-cgraph.o): Add dependency on gcov-io.h. From-SVN: r154100
2009-11-11ChangeLog for libcppKai Tietz10-158/+70
2009-11-11 Kai Tietz <kai.tietz@onevision.com> * directives.c (do_pragma_push_macro): New pragma handler. (do_pragma_pop_macro): Likewise. (_cpp_init_internal_pragmas): Add push_macro and pop_macro handler to internal pragmas. (lex_macro_node_from_str): Removed. (cpp_push_definition): Replace lex_macro_node_from_str by _cpp_lex_identifier. (cpp_pop_definition): Likewise. * internal.h (_cpp_lex_identifier): New prototype. (def_pragma_macro): New structure. (cpp_reader): New member pushed_macros. * lex.c (_cpp_lex_identifier): New function. (lex_identifier_intern): New function. * init.c (cpp_create_reader): Initialize pushed_macros member. (cpp_destroy): Free elements in pushed_macros member. * pch.c (_cpp_save_pushed_macros): New function. (_cpp_restore_pushed_macros): Likewise. (_cpp_restore_pushed_macros): Use _cpp_save_pushed_macros. (cpp_read_state): Use _cpp_restore_pushed_macros. ChangeLog for gcc 2009-11-11 Kai Tietz <kai.tietz@onevision.com> * config/i386/cygming.h (HANDLE_PRAGMA_PUSH_POP_MACRO): Removed. * c-pragma.c (def_pragma_macro_value): Likewise. (def_pragma_macro): Likewise. (pushed_macro_table): Likewise. (HANDLE_PRAGMA_PUSH_POP_MACRO): Remove guarded code. * doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): Removed. ChangeLog for gcc/testsuite 2009-11-11 Kai Tietz <kai.tietz@onevision.com> * g++.dg/torture/pushpop_macro.C: New testcase. * gcc.c-torture/execute/pushpop_macro.c: New testcase. * gcc.dg/cpp/pragma-pop_macro-1.c: Allow test for all targets. From-SVN: r154098