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
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
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
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
* 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
* 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
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
[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
* 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
[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
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
2009-09-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/41328
* io/transfer.c (read_sf): Set at_eof flag on short read if any
characters were successfully read so that EOF condition with no EOR
marker succeeds.
From-SVN: r151877
* 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