Age | Commit message (Collapse) | Author | Files | Lines |
|
encountered)
PR target/41246
* target.h (struct gcc_target): Add asm_out.trampoline_template,
calls.static_chain, calls.trampoline_init,
calls.trampoline_adjust_address.
* target-def.h (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
(TARGET_STATIC_CHAIN, TARGET_TRAMPOLINE_INIT): New.
(TARGET_TRAMPOLINE_ADJUST_ADDRESS): New.
* builtins.c (expand_builtin_setjmp_receiver): Use
targetm.calls.static_chain; only clobber registers.
(expand_builtin_init_trampoline): Use targetm.calls.trampoline_init;
set up memory attributes properly for the trampoline block.
(expand_builtin_adjust_trampoline): Use
targetm.calls.trampoline_adjust_address.
* calls.c (prepare_call_address): Add fndecl argument. Use
targetm.calls.static_chain.
* df-scan.c (df_need_static_chain_reg): Remove.
(df_get_entry_block_def_set): Use targetm.calls.static_chain;
consolodate static chain handling.
* doc/tm.texi: Document new hooks.
* emit-rtl.c (static_chain_rtx, static_chain_incoming_rtx): Remove.
(init_emit_regs): Don't initialize them.
* expr.h (prepare_call_address): Update decl.
* final.c (profile_function): Use targetm.calls.static_chain.
* function.c (expand_function_start): Likewise.
* rtl.h (static_chain_rtx, static_chain_incoming_rtx): Remove.
* stmt.c (expand_nl_goto_receiver): Use targetm.calls.static_chain;
only clobber registers.
* targhooks.c (default_static_chain): New.
(default_asm_trampoline_template, default_trampoline_init): New.
(default_trampoline_adjust_address): New.
* targhooks.h: Declare them.
* varasm.c (assemble_trampoline_template): Use
targetm.asm_out.trampoline_template. Make the memory block const
and set its size.
From-SVN: r151983
|
|
2009-09-22 Richard Guenther <rguenther@suse.de>
PR middle-end/41395
* tree-dfa.c (get_ref_base_and_extent): Handle trailing
arrays really properly.
* gcc.c-torture/execute/pr41395-1.c: New testcase.
* gcc.c-torture/execute/pr41395-2.c: Likewise.
From-SVN: r151981
|
|
2009-09-22 Richard Guenther <rguenther@suse.de>
PR objc++/41430
* Make-lang.in (objcp-lang.o): Add $(EXCEPT_H) dependency.
* objcp-lang.c (LANG_HOOKS_EH_PERSONALITY): Define.
(LANG_HOOKS_EH_RUNTIME_TYPE): Likewise.
(objcxx_eh_personality): New function.
From-SVN: r151979
|
|
151815)
PR bootstrap/41405
* dwarf2out.c (base_type_die, record_type_tag, gen_subprogram_die,
add_call_src_coords_attributes, add_high_low_attributes,
gen_compile_unit_die, gen_type_die_with_usage force_decl_die,
gen_decl_die, dwarf2out_imported_module_or_decl_1, dwarf2out_finish,
dwarf2out_imported_module_or_decl): Avoid using DWARF3 additions
when -gdwarf-2 -gstrict-dwarf.
(loc_list_from_tree): Likewise. Avoid using DWARF4 additions when
-gdwarf-[23] -gstrict-dwarf.
(address_of_int_loc_descriptor, loc_descriptor,
loc_list_for_address_of_addr_expr_of_indirect_ref): Avoid using
DWARF4 additions when -gdwarf-[23] -gstrict-dwarf.
* common.opt (gno-strict-dwarf, gstrict-dwarf): New options.
* gfortran.dg/debug/pr37738.f: Add -gno-strict-dwarf to dg-options.
* gfortran.dg/debug/pr35154-dwarf2.f: Likewise.
* g++.dg/debug/dwarf2/explicit-constructor.C: Likewise.
* g++.dg/debug/dwarf2/imported-module-2.C: Likewise.
* g++.dg/debug/dwarf2/imported-module-3.C: Likewise.
* g++.dg/debug/dwarf2/imported-module-4.C: Likewise.
* g++.dg/debug/dwarf2/namespace-1.C: Likewise.
* objc.dg/dwarf-2.m: Likewise.
From-SVN: r151978
|
|
__builtin_altivec_vcmpgt{sb,uh,sh,uw}.
* config/rs6000/rs6000.c (bdesc_2arg): Fix CODE_FOR_vector_gt* codes
for __builtin_altivec_vcmpgt{sb,uh,sh,uw}.
From-SVN: r151977
|
|
inside of DEBUG_INSNs.
* reload1.c (reload): Call wrap_constant when substituting
reg for equiv inside of DEBUG_INSNs.
* gcc.dg/20090922-1.c: New test.
From-SVN: r151976
|
|
2009-09-22 Richard Guenther <rguenther@suse.de>
PR tree-optimization/41428
* tree-ssa-ccp.c (ccp_fold_stmt): New function.
(ccp_finalize): Pass it to substitute_and_fold.
* g++.dg/tree-ssa/pr41428.C: New testcase.
From-SVN: r151969
|
|
2009-09-22 Richard Guenther <rguenther@suse.de>
* tree-ssa-propagate.h (ssa_prop_fold_stmt_fn): Declare.
(substitute_and_fold): Adjust prototype.
* tree-vrp.c (vrp_evaluate_conditional): Make static.
(simplify_stmt_using_ranges): Likewise.
(fold_predicate_in): Move here from tree-ssa-propagate.c.
(vrp_fold_stmt): New function.
(vrp_finalize): Pass it to substitute_and_fold.
* tree-flow.h (vrp_evaluate_conditional): Remove.
(simplify_stmt_using_ranges): Likewise.
* tree-ssa-ccp.c (ccp_finalize): Adjust call to substitute_and_fold.
* tree-ssa-copy.c (fini_copy_prop): Likewise.
* tree-ssa-propagate.c (struct prop_stats_d): Rename num_pred_folded
member.
(fold_predicate_in): Move to tree-vrp.c.
(substitute_and_fold): Use the callback instead of calling into
tree-vrp.c functions directly.
From-SVN: r151968
|
|
comparison warning on rs6000.
* dwarf2out.c (address_of_int_loc_descriptor): Avoid signed/unsigned
comparison warning on rs6000.
From-SVN: r151967
|
|
PR middle-end/41429
* tree-cfg.c (remove_useless_stmts_tc): Call gsi_next (gsi) even for
GIMPLE_EH_MUST_NOT_THROW cleanup.
(verify_types_in_gimple_stmt): Handle GIMPLE_EH_MUST_NOT_THROW.
* g++.dg/gomp/pr41429.C: New test.
From-SVN: r151966
|
|
From-SVN: r151961
|
|
by r147995)
PR middle-end/41260
* gcc/config.gcc: Use darwin9.h and darwin10.h on darwin10 and later.
* gcc/config/darwin10.h: Add file to pass -no_compact_unwind on
LIB_SPEC for darwin10 and later since it always uses the unwinder in
libSystem which is derived from the gcc 4.2.1 unwinder.
From-SVN: r151960
|
|
PR middle-end/41357
* varasm.c (default_encode_section_info): Copy TLS model into
sym_ref flags regardless of backend support for TLS, for all
model types except TLS_MODEL_EMULATED.
From-SVN: r151959
|
|
PR bootstrap/41404
* dwarf2out.c (mem_loc_descriptor): Punt on CONST_STRING until
we can handle it correctly.
From-SVN: r151958
|
|
From-SVN: r151957
|
|
2009-09-21 Joel Sherrill <joel.sherrill@oarcorp.com>
* s-osinte-rtems.ad[bs]: Get_Page_Size cannot return 0.
Bind to getpagesize() in RTEMS 4.10 and newer.
From-SVN: r151946
|
|
From-SVN: r151945
|
|
From-SVN: r151944
|
|
* env.c [__alpha__ && __osf__] (_BSD): Define.
* init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg
to const char *.
From-SVN: r151938
|
|
addition are already present.
2009-09-21 Giuseppe Scrivano <gscrivano@gnu.org>
* tree-tailcall.c (process_assignment): Don't check if a multiplication
or an addition are already present.
(find_tail_calls): Combine multiple additions and multiplications.
(adjust_accumulator_values): Emit accumulators.
testsuite:
2009-09-21 Giuseppe Scrivano <gscrivano@gnu.org>
* gcc.dg/tree-ssa/tailrecursion-6.c: New file.
From-SVN: r151935
|
|
constructor.)
PR c++/41421
* tree.c (trivial_type_p): Fix logic.
From-SVN: r151932
|
|
From-SVN: r151931
|
|
2009-09-21 Kai Tietz <kai.tietz@onevision.com>
* config/i386/i386.c (ix86_expand_epilogue): Adjust offset for
xmm register restore.
2009-09-21 Kai Tietz <kai.tietz@onevision.com>
* gcc.dg/torture/calleesave-sse.c: New.
From-SVN: r151918
|
|
* gcc.dg/guality/inline-params.c: New testcase.
* dwarf2out.c (decl_loc_table_eq): Allow decl_loc_table to be NULL.
(dwarf2out_abstract_function): NULLify decl_loc_table at begginig and
restore at the end.
From-SVN: r151917
|
|
* gcc.c-torture/execute/ieee/ieee.exp (additional_flags):
Add -fno-inline.
* gcc.c-torture/execute/ieee/pr36332.c (foo): Remove attributes.
* gcc.c-torture/execute/ieee/pr30704.c (f1): Ditto.
(f2): Ditto.
From-SVN: r151915
|
|
From-SVN: r151913
|
|
From-SVN: r151911
|
|
2009-09-20 H.J. Lu <hongjiu.lu@intel.com>
* gcc.dg/ipa/ipa-sra-1.c (dg-options): Add -fipa-sra.
* gcc.dg/ipa/ipa-sra-2.c (dg-options): Likewise.
* gcc.dg/ipa/ipa-sra-3.c (dg-options): Likewise.
* gcc.dg/ipa/ipa-sra-4.c (dg-options): Likewise.
* gcc.dg/ipa/ipa-sra-5.c (dg-options): Likewise.
From-SVN: r151908
|
|
2009-09-20 Andrew Pinski <pinskia@gcc.gnu.org>
PR middle-end/40642
* g++.dg/torture/pr40642.C: New testcase.
From-SVN: r151907
|
|
2009-09-20 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/41395
* opts.c (decode_options): Don't turn on flag_ipa_sra for opt2.
From-SVN: r151905
|
|
PR middle-end/30789
* builtins.c (do_mpc_arg2): Accept DO_NONFINITE parameter.
(do_mpc_ckconv): Accept FORCE_CONVERT parameter.
(fold_builtin_2, do_mpc_arg1): Update accordingly.
* fold-const.c (const_binop): Likewise.
* real.h (do_mpc_arg2): Update prototype.
testsuite:
* gcc.dg/torture/builtin-math-7.c: Update for testing Annex G
cases in static initializers.
From-SVN: r151904
|
|
* dwarf2out.c (add_const_value_attribute): Return true if successful.
(add_location_or_const_value_attribute): Rewrite using loc_list_from_tree.
(tree_add_const_value_attribute): Return true if successful.
(tree_add_const_value_attribute_for_decl): Likewise.
* dwarf2out.c (address_of_int_loc_descriptor): Break out from ...
(loc_descriptor): ... here;
(loc_list_for_address_of_addr_expr_of_indirect_ref): New function.
(cst_pool_loc_descr): Break out from ...; do not reffer constant
pool items that was not marked for output.
(loc_list_from_tree): ... here; handle special cases of ADDR_EXPR;
(loc_list_for_address_of_addr_expr_of_indirect_ref): New function.
(loc_list_for_address_of_addr_expr_of_indirect_ref): New function.
handle ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF, REALPART_EXPR,
IMAGPART_EXPR; handle address of INTEGER_CST; improve handling of
CONSTRUCTOR; handle REAL_CST, STRING_CST, COMPLEX_CST; use
DW_OP_stack_value to get address of items that are not available
as addresses.
(dw_loc_list): Handle single element lists correctly.
From-SVN: r151901
|
|
_Unwind_Ptr.
2009-09-20 Kai Tietz <kai.tietz@onevision.com>
Pascal Obry <obry@adacore.com>
* unwind-dw2-fde.c (classify_object_over_fdes):
Cast the constant 1 to _Unwind_Ptr.
(add_fdes): Likewise.
(linear_search_fdes): Likewise.
Co-Authored-By: Pascal Obry <obry@adacore.com>
From-SVN: r151899
|
|
From-SVN: r151898
|
|
From-SVN: r151897
|
|
gcc/
* configure.ac (gcc_cv_ld_mips_personality_relaxation): New
feature check.
(HAVE_LD_PERSONALITY_RELAXATION): New macro definition.
* configure, config.in: Regenerate.
* dwarf2asm.c (eh_data_format_name): Handle DW_EH_PE_indirect |
DW_EH_PE_absptr.
* config/mips/mips.h (TARGET_WRITABLE_EH_FRAME): New macro.
(ASM_PREFERRED_EH_DATA_FORMAT): Define. Use MIPS_EH_INDIRECT
for global data if the output could be used in a shared library.
* config/mips/mips.c (mips_override_options): Set flag_dwarf2_cfi_asm
to 0 if TARGET_WRITABLE_EH_FRAME.
From-SVN: r151896
|
|
2009-09-20 Paolo Bonzini <bonzini@gnu.org>
PR/39886
* combine.c (update_cfg_for_uncondjump): Set EDGE_FALLTHRU
just when insn is equal to BB_END (bb).
2009-09-20 Kai Tietz <kai.tietz@onevision.com>
* gcc.c-tortue/compile/pr39886.c: New.
From-SVN: r151895
|
|
system header))
[gcc/testsuite/ChangeLog]
2009-09-20 Chris Demetriou <cgd@google.com>
PR preprocessor/28435:
* gcc.dg/cpp/missing-header-MD.c: Make output checking match
gcc.dg/cpp/missing-header-1.c, and add PR number to test comment.
* gcc.dg/cpp/missing-header-MMD.c: Likewise.
* gcc.dg/cpp/missing-sysheader-MD.c: Likewise.
* gcc.dg/cpp/missing-sysheader-MMD.c: Likewise.
From-SVN: r151894
|
|
From-SVN: r151893
|
|
* config/mips/mips.opt (mrelax-pic-calls): New option.
* config/mips/mips.c (mips_strip_unspec_address): Move it up in
the file.
(mips_unspec_call): Change "unspec_call" expander into this.
(mips_strip_unspec_call): New function.
(mips_got_load): Call mips_unspec_call instead of
gen_unspec_call<mode>.
(mips16_build_call_stub): Fix comment for fp_code. Adjust call to
MIPS_CALL.
(mips_cfg_in_reorg): New function.
(mips16_lay_out_constants): Use it to decide whether to call
CFG-aware insn splitting.
(r10k_insert_cache_barriers): Move CFG set-up code from here to
mips_reorg. Move DF set-up code from here ...
(mips_df_reorg): ... to here. Call r10k_insert_cache_barriers
from here.
(mips_reorg): Call mips_df_reorg instead of
r10k_insert_cache_barriers. Move CFG set-up code here from
r10k_insert_cache_barriers.
(mips_call_expr_from_insn): New function.
(mips_pic_call_symbol_from_set): Likewise.
(mips_find_pic_call_symbol): Likewise.
(mips_annotate_pic_call_expr): Likewise.
(mips_get_pic_call_symbol): Likewise.
(mips_annotate_pic_calls): Likewise.
(mips_override_options): Disable -mrelax-pic-calls unless PIC
calls are used.
(mips_set_mips16_mode): Disable -mrelax-pic-calls for MIPS16.
* config/mips/mips-protos.h (mips_get_pic_call_symbol): Declare it.
* config/mips/mips.h (MIPS_CALL): Use it to print the .reloc
directive.
* config/mips/mips.md (UNSPEC_CALL_ATTR): New unspec.
(unspec_call<mode>): Remove it.
(sibcall_internal, sibcall_value_internal,
sibcall_value_multiple_internal, call_internal, call_split,
call_value_internal, call_value_split,
call_value_multiple_internal, call_value_multiple_split): Pass
SIZE_OPNO to MIPS_CALL.
(call_internal_direct, call_direct_split,
call_value_internal_direct, call_value_direct_split): Pass -1 as
SIZE_OPNO to MIPS_CALL.
* configure.ac <mips*-*-*>: Add test for .reloc R_MIPS_JALR.
* configure: Regenerate.
* doc/invoke.texi (Option Summary): Add -mrelax-pic-calls
and -mno-relax-pic-calls.
(MIPS Options): Document -mrelax-pic-calls
and -mno-relax-pic-calls.
testsuite/
* gcc.target/mips/mips.exp: Add relax-pic-calls
under -mfoo/-mno-foo options.
(mips-dg-options): Make -mrelax-pic-calls imply -mno-plt, -mabicalls
and -mexplicit-relocs.
* gcc.target/mips/call-1.c: New test.
* gcc.target/mips/call-2.c: New test.
* gcc.target/mips/call-3.c: New test.
* gcc.target/mips/lazy-binding-1.c: Add MIPS-specific dg-options.
* gcc.dg/tree-ssa/loop-1.c: Likewise.
From-SVN: r151890
|
|
gcc/:
PR bootstrap/35619
* Makefile.in (stmp-fixinc): Ensure `include-fixed' is created
in the directory this rule is called from, rather than the
toplevel 'gcc' directory, to fix in-tree build.
From-SVN: r151880
|
|
system header))
[libcpp/ChangeLog]
2009-09-18 Chris Demetriou <cgd@google.com>
PR preprocessor/28435:
* include/cpplib.h (struct cpp_options): Add new member
deps.need_preprocessor_output.
* files.c (open_file_failed): If preprocessor output is needed
always report an error.
[gcc/ChangeLog]
2009-09-19 Chris Demetriou <cgd@google.com>
PR preprocessor/28435:
* c-opts.c (c_common_handle_option): For -MD and -MMD, indicate
to cpplib that the preprocessor output is needed.
[gcc/testsuite/ChangeLog]
2009-09-19 Chris Demetriou <cgd@google.com>
PR preprocessor/28435:
* gcc.dg/cpp/missing-header-MD.c: New test.
* gcc.dg/cpp/missing-header-MMD.c: New test.
* gcc.dg/cpp/missing-sysheader-MD.c: New test.
* gcc.dg/cpp/missing-sysheader-MMD.c: New test.
From-SVN: r151879
|
|
(non-advancing))
2009-09-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/41328
* gfortran.dg/cr_lf.f90: Modify test to include check that no EOR with
EOF works.
From-SVN: r151878
|
|
From-SVN: r151876
|
|
*restore_gpregs_<mode>, *return_and_restore_gpregs_<mode>,
*return_and_restore_fpregs_<mode>,
*return_and_restore_fpregs_aix_<mode>): Remove 'z' operand modifier.
From-SVN: r151873
|
|
PR bootstrap/41397
* dwarf2out.c (mem_loc_descriptor) <case SUBREG>: Recurse
instead of assuming it has always a REG inside of it.
From-SVN: r151872
|
|
* config/freebsd.h: Update comment on types.
(WINT_TYPE): Define.
From-SVN: r151871
|
|
* decl2.c (determine_visibility): Make anonymous types internal.
(mark_used): Complain about types without linkage used in
decls with internal linkage.
(vague_linkage_fn_p): Split out from...
* decl.c (maybe_commonize_var): ...here.
(grokdeclarator): Adjust linkage when a typedef gives linkage name.
* tree.c (no_linkage_check): Check the enclosing class and template
arguments.
* cp-tree.h (TYPE_NAMESPACE_SCOPE_P): New.
From-SVN: r151868
|
|
* c.opt: Add -fno-deduce-init-list.
* pt.c (get_pattern_parm): New.
(listify): Split out from...
(listify_autos): ...here.
(unify): Deduce std::initializer_list for T.
* call.c (build_over_call): Warn about it.
From-SVN: r151867
|
|
indicate which parameter is the size parameter.
2009-09-18 Neil Vachharajani <nvachhar@google.com>
* value-prof.c (interesting_stringop_to_profile_p): Added output
argument to indicate which parameter is the size parameter.
* value-prof.c (gimple_stringop_fixed_value): Use
INTERESTING_STRINGOP_TO_PROFILE_P to find size argument.
* value-prof.c (gimple_stringops_transform): Update call sites to
INTERESTING_STRINGOP_TO_PROFILE_P to reflect parameter change.
* testsuite/gcc.dg/tree-prof/val-prof-7.c: Added test case.
From-SVN: r151864
|