Jan Hubicka [Fri, 3 Sep 2010 12:26:24 +0000 (14:26 +0200)]
re PR lto/44812 (m32 lto produces non-relocatable subtraction expression errors)
PR lto/44812
* lto-cgraph.c (intput_node, input_varpool_node): Set DECL_EXTERNAL
on functions/variables in other partition.
From-SVN: r163811
Mark Wielaard [Fri, 3 Sep 2010 10:35:35 +0000 (10:35 +0000)]
closures.c (open_temp_exec_file_mnt): Check if getmntent_r returns NULL.
* src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
returns NULL.
From-SVN: r163809
Jan Hubicka [Fri, 3 Sep 2010 10:15:54 +0000 (12:15 +0200)]
cgraph.h (struct varpool_node): Add const_value_known.
* cgraph.h (struct varpool_node): Add const_value_known.
(varpool_decide_const_value_known): Declare.
* tree-ssa-ccp.c (fold_const_aggregate_ref): Update initializer folding.
* lto-cgraph.c (lto_output_varpool_node): Store const_value_known.
(input_varpool_node): Restore const_value_known.
* tree-ssa-loop-ivcanon (constant_after_peeling): Check varpool for
initializer folding.
* ipa.c (ipa_discover_readonly_nonaddressable_var,
function_and_variable_visibility): Compute const_value_known.
* gimple-fold.c (get_symbol_constant_value): Use varpool for initializer
folding.
* varpool.c (varpool_decide_const_value_known): New function.
From-SVN: r163808
Uros Bizjak [Fri, 3 Sep 2010 10:05:38 +0000 (12:05 +0200)]
i386.md: Remove empty prepartion statements from splitters.
* config/i386/i386.md: Remove empty prepartion statements
from splitters.
From-SVN: r163806
Marcus Shawcroft [Fri, 3 Sep 2010 10:01:44 +0000 (10:01 +0000)]
linux-atomic.c (__sync_val_compare_and_swap_4): Insert __builtin_expect().
2010-09-03 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/arm/linux-atomic.c (__sync_val_compare_and_swap_4): Insert __builtin_expect().
(SUBWORD_VAL_CAS): Likewise.
From-SVN: r163805
Jan Hubicka [Fri, 3 Sep 2010 09:58:21 +0000 (11:58 +0200)]
passes.c (rest_of_decl_compilation): Do not add local vars into varpol.
* passes.c (rest_of_decl_compilation): Do not add local vars into varpol.
* varpool.c (varpool_get_node, varpool_node): Sanity check that only
static or extern vars are in varpool.
(varpool_finalize_decl): Sanity check that only static vars are finalized.
From-SVN: r163804
Jakub Jelinek [Fri, 3 Sep 2010 09:53:44 +0000 (11:53 +0200)]
re PR debug/45500 (ICE: in rtl_for_decl_init, at dwarf2out.c:16307 with -g -msse and using v16qi)
PR debug/45500
* dwarf2out.c (rtl_for_decl_init): Give up for all generic vectors,
not just generic vectors with BLKmode.
* gcc.target/i386/pr45500.c: New test.
From-SVN: r163803
Richard Guenther [Fri, 3 Sep 2010 09:50:17 +0000 (09:50 +0000)]
tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE.
2010-09-03 Richard Guenther <rguenther@suse.de>
* tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE.
Move TMR_OFFSET to second operand. Add TMR_INDEX2.
* tree.h (TMR_SYMBOL): Remove.
(TMR_BASE, TMR_OFFSET): Adjust.
(TMR_INDEX2): New.
* alias.c (ao_ref_from_mem): Use TMR_BASE.
* builtins.c (get_object_alignment): Merge TMR_BASE and
TMR_SYMBOL handling.
* cfgexpand.c (expand_debug_expr): Use TMR_BASE.
* gimple.c (get_base_address): Merge MEM_REF and TARGET_MEM_REF
handling. Also allow TARGET_MEM_REF as base address.
(walk_stmt_load_store_addr_ops): TMR_BASE is always non-NULL.
* gimplify.c (gimplify_expr): Gimplify TMR_BASE like MEM_REF
base. Gimplify TMR_INDEX2.
* tree-cfg.c (verify_types_in_gimple_reference): Adjust.
* tree-dfa.c (get_ref_base_and_extent): Likewise.
(get_addr_base_and_unit_offset): Likewise.
* tree-eh.c (tree_could_trap_p): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree-ssa-address.c (tree_mem_ref_addr): Simplify. Handle
TMR_INDEX2.
(create_mem_ref_raw): Merge symbol and base. Move 2ndary
base to index2.
(get_address_description): Reconstruct addres description
from merged TMR_BASE and TMR_INDEX2.
(maybe_fold_tmr): Fold propagated addresses.
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Merge
MEM_REF and TARGET_MEM_REF paths.
(indirect_refs_may_alias_p): Likewise.
* tree-ssa-live.c (mark_all_vars_used_1): Handle TMR_INDEX2
instead of TMR_SYMBOL.
* tree-ssa-operands.c (get_tmr_operands): Simplify.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Adjust
according to changes ...
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): ... here.
Split TARGET_MEM_REF into two fields plus the base.
* tree.c (mem_ref_offset): Simplify.
* tree-ssa-loop-im.c (for_each_index): Handle TMR_INDEX2.
* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
Strip NOPs when folding MEM_REF addresses.
* tree-ssa-sink.c (is_hidden_global_store): Handle TARGET_MEM_REF.
* gimple-fold.c (maybe_fold_reference): Fold TARGET_MEM_REF here ...
(fold_gimple_assign): ... not here.
From-SVN: r163802
Richard Guenther [Fri, 3 Sep 2010 09:42:37 +0000 (09:42 +0000)]
lto-elf.c (validate_file): Always error if validation fails.
2010-09-03 Richard Guenther <rguenther@suse.de>
* lto-elf.c (validate_file): Always error if validation fails.
From-SVN: r163800
Mingjie Xing [Fri, 3 Sep 2010 09:29:19 +0000 (09:29 +0000)]
Fix shift count truncate problem for loongson.
From-SVN: r163799
Daniel Kraft [Fri, 3 Sep 2010 08:01:51 +0000 (10:01 +0200)]
re PR fortran/44602 ([F2008] EXIT: Jump to end of construct)
2010-09-03 Daniel Kraft <d@domob.eu>
PR fortran/44602
* gfortran.h (struct gfc_code): Renamed `whichloop' to
`which_construct' as this is no longer restricted to loops.
* parse.h (struct gfc_state_data): New field `construct'.
* match.c (match_exit_cycle): Handle EXIT from non-loops.
* parse.c (push_state): Set `construct' field.
* resolve.c (resolve_select_type): Extend comment.
* trans-stmt.c (gfc_trans_if): Add exit label.
(gfc_trans_block_construct), (gfc_trans_select): Ditto.
(gfc_trans_simple_do): Store exit/cycle labels on the gfc_code itself.
(gfc_trans_do), (gfc_trans_do_while): Ditto.
(gfc_trans_exit): Use new name `which_construct' instead of `whichloop'.
(gfc_trans_cycle): Ditto.
(gfc_trans_if_1): Use fold_build3_loc instead of fold_build3.
2010-09-03 Daniel Kraft <d@domob.eu>
PR fortran/44602
* gfortran.dg/exit_2.f08; Adapt error messages.
* gfortran.dg/exit_3.f08: New test.
* gfortran.dg/exit_4.f08: New test.
* gfortran.dg/exit_5.f03: New test.
From-SVN: r163798
GCC Administrator [Fri, 3 Sep 2010 00:18:07 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r163797
Richard Henderson [Fri, 3 Sep 2010 00:02:53 +0000 (17:02 -0700)]
configure.ac (gcc_cv_as_cfi_advance_working): Use objdump instead of readelf in the test.
* configure.ac (gcc_cv_as_cfi_advance_working): Use objdump
instead of readelf in the test.
(gcc_cv_as_cfi_sections_directive): Check for correct relocation
in the .debug_frame section for coff targets.
* configure: Rebuild.
From-SVN: r163793
Francois-Xavier Coudert [Thu, 2 Sep 2010 22:29:53 +0000 (22:29 +0000)]
trans-intrinsic.c (gfc_conv_intrinsic_aint): Fix whitespace.
* trans-intrinsic.c (gfc_conv_intrinsic_aint): Fix whitespace.
(gfc_conv_intrinsic_ishft): Only evaluate arguments once.
(gfc_conv_intrinsic_ishftc): Only evaluate arguments once.
* intrinsic.texi (RSHIFT): Fix documentation.
* gfortran.dg/ishft_4.f90: New test.
From-SVN: r163792
Anatoly Sokolov [Thu, 2 Sep 2010 18:17:12 +0000 (22:17 +0400)]
m32c.h (CLASS_LIKELY_SPILLED_P): Remove.
* config/m32c/m32c.h (CLASS_LIKELY_SPILLED_P): Remove.
* config/m32c/m32c-protos.h (m32c_class_likely_spilled_p): Remove.
* config/m32c/m32c.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
(m32c_class_likely_spilled_p): Make static. Change argument type to
reg_class_t. Change result type to bool.
From-SVN: r163788
Michael Meissner [Thu, 2 Sep 2010 17:10:15 +0000 (17:10 +0000)]
Optimize (double)(long) to generate FRIZ if -ffast-math
From-SVN: r163786
Joseph Myers [Thu, 2 Sep 2010 16:39:29 +0000 (17:39 +0100)]
* opth-gen.awk (quote, comma): Remove unused variables.
From-SVN: r163785
Joseph Myers [Thu, 2 Sep 2010 16:35:14 +0000 (17:35 +0100)]
c.opt (falt-external-templates, [...]): Mark no longer supported in help text.
* c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
fvtable-thunks, fxref): Mark no longer supported in help text.
From-SVN: r163784
Joseph Myers [Thu, 2 Sep 2010 16:27:57 +0000 (17:27 +0100)]
* jvspec.c (jvgenmain_spec): Don't handle -fnew-verifier.
From-SVN: r163783
Ryan Mansfield [Thu, 2 Sep 2010 15:35:04 +0000 (15:35 +0000)]
arm.c (arm_override_options): Correct fall-back code to use SUBTARGET_CPU_DEFAULT.
2010-09-02 Ryan Mansfield <rmansfield@qnx.com>
* arm.c (arm_override_options): Correct fall-back code to use
SUBTARGET_CPU_DEFAULT.
From-SVN: r163782
Julian Brown [Thu, 2 Sep 2010 14:46:35 +0000 (14:46 +0000)]
neon.md (UNSPEC_VCLE, [...]): New constants for unspecs.
gcc/
* config/arm/neon.md (UNSPEC_VCLE, UNSPEC_VCLT): New constants for
unspecs.
(vcond<mode>, vcondu<mode>): New expanders.
(neon_vceq<mode>, neon_vcge<mode>, neon_vcgt<mode>): Support
comparisons with zero.
(neon_vcle<mode>, neon_vclt<mode>): New patterns.
* config/arm/constraints.md (Dz): New constraint.
From-SVN: r163780
Anatoly Sokolov [Thu, 2 Sep 2010 14:29:37 +0000 (18:29 +0400)]
target.def (class_likely_spilled_p): New hook.
* target.def (class_likely_spilled_p): New hook.
* doc/tm.texi.in (TARGET_CLASS_LIKELY_SPILLED_P): Document.
* doc/tm.texi: Regenerate.
* targhooks.c (default_class_likely_spilled_p): New function.
* targhooks.h (default_class_likely_spilled_p): Declare.
* regs.h (CLASS_LIKELY_SPILLED_P): Remove.
* combine.c: (cant_combine_insn_p, likely_spilled_retval_p): Use
TARGET_CLASS_LIKELY_SPILLED_P target hook. Use HARD_REGISTER_P macro.
Use fixed_reg_set instead of fixed_regs.
* cse.c (hash_rtx_cb): Use TARGET_CLASS_LIKELY_SPILLED_P target hook.
* calls.c (avoid_likely_spilled_reg): Ditto.
* ira-conflicts.c: (ira_build_conflicts): Ditto.
* ira.c (update_equiv_regs): Ditto.
* mode-switching.c (create_pre_exit): Ditto.
* regmove.c (find_matches): Ditto.
(regclass_compatible_p): Use TARGET_CLASS_LIKELY_SPILLED_P target
hook.
* reload.c (SMALL_REGISTER_CLASS_P): Remove macro.
(small_register_class_p): New inline function.
(push_secondary_reload, find_reusable_reload, find_reloads): Use
small_register_class_p instead of SMALL_REGISTER_CLASS_P.
* config/i386/i386.h (CLASS_LIKELY_SPILLED_P): Remove.
* config/i386/i386.c (ix86_class_likely_spilled_p): New.
(TARGET_CLASS_LIKELY_SPILLED_P): Define.
From-SVN: r163779
Eric Botcazou [Thu, 2 Sep 2010 14:22:21 +0000 (14:22 +0000)]
* g++.dg/debug/dwarf2/nested-2.C: Allow for ! as comment delimiter.
From-SVN: r163778
Paolo Carlini [Thu, 2 Sep 2010 14:13:00 +0000 (14:13 +0000)]
re PR libstdc++/40974 (cannot build gcc-4.4.1: fenv_t has not been declared)
2010-09-02 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40974
* include/Makefile.am: Add -nostdinc++ to PCHFLAGS.
* include/Makefile.in: Regenerate.
From-SVN: r163777
Tobias Burnus [Thu, 2 Sep 2010 14:04:06 +0000 (16:04 +0200)]
re PR fortran/45186 (Gfortran 4.5.0 emits wrong linenumbers)
2010-09-02 Tobias Burnus <burnus@net-b.de>
PR fortran/45186
* trans-common.c (create_common): Change build[0-9] to
build[0-9]_loc.
* trans-const.c (gfc_conv_constant_to_tree,
gfc_conv_constant_to_tree): Ditto.
* trans-decl.c (gfc_build_qualified_array, build_entry_thunks,
gfc_get_fake_result_decl, gfc_trans_auto_character_variable,
add_argument_checking, create_main_function,
gfc_generate_return): Ditto.
* trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds):
* Ditto.
* trans-stmt.c (allocate_temp_for_forall_nest_1,
compute_inner_temp_size, compute_overall_iter_number,
generate_loop_for_rhs_to_temp, generate_loop_for_temp_to_lhs,
gfc_conv_elemental_dependencies, gfc_do_allocate,
gfc_evaluate_where_mask, gfc_trans_allocate,
gfc_trans_arithmetic_if, gfc_trans_call,
gfc_trans_character_select, gfc_trans_deallocate,
gfc_trans_do, gfc_trans_do_while, gfc_trans_forall_1,
gfc_trans_forall_loop, gfc_trans_goto, gfc_trans_if_1,
gfc_trans_integer_select, gfc_trans_logical_select,
gfc_trans_pointer_assign_need_temp, gfc_trans_return,
gfc_trans_simple_do, gfc_trans_sync, gfc_trans_where_2,
gfc_trans_where_assign) Ditto.
From-SVN: r163776
Richard Guenther [Thu, 2 Sep 2010 13:42:25 +0000 (13:42 +0000)]
re PR tree-optimization/44937 (IPA-split causes crash due to null pointer deref)
2010-09-02 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44937
PR tree-optimization/45412
* ipa-split.c (split_function): Properly remove PHI nodes.
* g++.dg/opt/pr45412.C: New testcase.
* gcc.c-torture/compile/pr45412.c: Likewise.
* gcc.c-torture/compile/pr44937.c: Likewise.
From-SVN: r163775
Janus Weil [Thu, 2 Sep 2010 12:34:26 +0000 (14:34 +0200)]
re PR fortran/44541 ([OOP] wrong code for polymorphic variable with INTENT(OUT)/Alloc w/ MOLD)
2010-09-02 Janus Weil <janus@gcc.gnu.org>
PR fortran/44541
* resolve.c (resolve_symbol): Correct check for attributes of CLASS
variable.
From-SVN: r163773
Joseph Myers [Thu, 2 Sep 2010 11:43:19 +0000 (12:43 +0100)]
opts.h (struct cl_option): Add warn_message field.
* opts.h (struct cl_option): Add warn_message field.
(struct cl_decoded_option): Add warn_message field.
* doc/options.texi (Ignore, Warn): Document.
* opt-functions.awk (needs_state_p): Don't consider aliases or
ignored options to need state saved.
* optc-gen.awk: Handle Warn and Ignore.
* opth-gen.awk: Output OPT_SPECIAL_ignore.
* opts-common.c (decode_cmdline_option): Set warn_message field.
Handle ignored options.
(decode_cmdline_options_to_array, generate_option,
generate_option_input_file): Set warn_message field.
(read_cmdline_option): Generate warnings from warn_message field.
Handle ignored options.
* common.opt (Wunreachable-code, fargument-alias,
fargument-noalias, fargument-noalias-global,
fargument-noalias-anything, fcse-skip-blocks, fforce-addr,
floop-optimize, frerun-loop-opt, fsched2-use-traces, fsee,
fstrength-reduce, ftree-store-ccp, ftree-store-copy-prop,
ftree-salias): Mark Ignore.
* config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -mcpu,
-mintel-syntax and -mno-intel-syntax here.
* config/i386/i386.opt (mcpu=, mintel-syntax): Define as aliases
using Warn.
* opts.c (common_handle_option): Don't handle options marked as
ignored.
(enable_warning_as_error): Handle ignored options.
c-family:
* c.opt (Wimport, fall-virtual, falt-external-templates,
fdefault-inline, fenum-int-equiv, fexternal-templates,
fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
fname-mangling-version-, fnew-abi, fnonnull-objects,
foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
applicable.
(fhandle-exceptions): Mark with Alias and Warn.
* c-opts.c (c_common_handle_option): Don't handle options marked
as ignored.
po:
* exgettext: Handle {} in operand of MissingArgError. Handle
Warn.
From-SVN: r163771
Joseph Myers [Thu, 2 Sep 2010 11:41:22 +0000 (12:41 +0100)]
re PR driver/44076 (-MT <target> behaves different as -MT<target> (w/o space))
PR driver/44076
* opts.h (struct cl_option): Add alias_arg, neg_alias_arg and
alias_target fields.
* opt-functions.awk (opt_sanitized_name): Don't handle
finline-limit=, Wlarger-than= and ftemplate-depth= specially.
* optc-gen.awk: Generate alias fields.
* opth-gen.awk: Explicitly give values for OPT_* enum constants.
Don't generate such constants for aliases.
* opts-common.c (generate_canonical_option): New.
(decode_cmdline_option): Handle aliases. Use
generate_canonical_option for known options instead of copying the
input option text.
* doc/options.texi (Alias): Document.
* common.opt (W, Wlarger-than-, aux-info=, finline-limit-,
fstack-check, specs): Mark as aliases.
* gcc.c (driver_handle_option): Canonicalize -L options to joined
arguments.
(driver_handle_option): Don't handle OPT_specs.
* opts.c (common_handle_option): Don't handle options marked as
aliases.
(enable_warning_as_error): Handle aliases.
* stor-layout.c (layout_decl): Use OPT_Wlarger_than_ instead of
OPT_Wlarger_than_eq.
* tree-optimize.c (tree_rest_of_compilation): Use
OPT_Wlarger_than_ instead of OPT_Wlarger_than_eq.
c-family:
* c.opt (Wcomments, Werror-implicit-function-declaration,
ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
aliases.
* c-common.c (option_codes): Use OPT_Wcomment instead of
OPT_Wcomments.
* c-opts.c (warning_as_error_callback, c_common_handle_option):
Don't handle options marked as aliases.
java:
* lang.opt (CLASSPATH, bootclasspath, classpath, encoding,
fCLASSPATH=): Mark as Java options and as aliases.
* jvspec.c (jvgenmain_spec): Don't handle -fCLASSPATH*.
(lang_specific_driver): Don't handle options marked as aliases.
* lang.c (java_handle_option): Don't handle OPT_fCLASSPATH_.
testsuite:
* gcc.dg/cpp/warn-comments-3.c: New. Based on warn-comments-2.c
but using -Werror=comment.
* gcc.dg/cpp/warn-comments.c, gcc.dg/cpp/warn-comments-2.c: Adjust
expected error messages.
From-SVN: r163770
Eric Botcazou [Thu, 2 Sep 2010 11:00:51 +0000 (11:00 +0000)]
stack-usage-1.c: Adjust on i386/Darwin.
* gcc.dg/stack-usage-1.c: Adjust on i386/Darwin.
* gcc.target/i386/stack-usage-realign.c: Skip on i386/Darwin.
From-SVN: r163768
Tobias Burnus [Thu, 2 Sep 2010 10:11:39 +0000 (12:11 +0200)]
re PR fortran/45489 (Default initialization of derived-type function result missing)
2010-09-02 Tobias Burnus <burnus@net-b.de>
PR fortran/45489
* resolve.c (apply_default_init): Mark symbol as referenced,
if it is initialized.
(resolve_symbol): Change intialized check for BT_DERIVED such
that also function results get initialized; remove now obsolete
gfc_set_sym_referenced for BT_CLASS.
2010-09-02 Tobias Burnus <burnus@net-b.de>
PR fortran/45489
* gfortran.dg/initialization_27.f90: New.
From-SVN: r163767
Uros Bizjak [Thu, 2 Sep 2010 09:11:15 +0000 (11:11 +0200)]
i386.md (nonmemory_operand): New mode attribute.
* config/i386/i386.md (nonmemory_operand): New mode attribute.
(push memory peephole2): Macroize peepholes using SWI mode iterator.
(move immediate to memory peephole2): Macroize peepholes using
SWI124 mode iterator.
(non-pairable NOT peephole2): Macroize peepholes using SWI124
mode iterator.
(simple lea add peephole2): Macroize peepholes using SWI48
mode iterator.
(simple lea mult peephole2): Ditto.
(imul by 3,5,9 to lea peephole2): Ditto.
(mov $-1, reg peephole2): Macroize peepholes using SWI248
mode iterator.
(imul $32bit_imm,mem,reg peephole2): Ditto.
(imul $8/16bit_imm,regmem,reg peephole2): Ditto.
From-SVN: r163766
Marcus Shawcroft [Thu, 2 Sep 2010 09:01:56 +0000 (09:01 +0000)]
predicates.md (arm_sync_memory_operand): New.
2010-09-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/arm/predicates.md (arm_sync_memory_operand): New.
* config/arm/sync.md (arm_sync_compare_and_swapsi): Change predicate
to arm_sync_memory_operand and constraint to Q.
(arm_sync_compare_and_swap<mode>): Likewise.
(arm_sync_compare_and_swap<mode>): Likewise.
(arm_sync_lock_test_and_setsi): Likewise.
(arm_sync_lock_test_and_set<mode>): Likewise.
(arm_sync_new_<sync_optab>si): Likewise.
(arm_sync_new_nandsi): Likewise.
(arm_sync_new_<sync_optab><mode>): Likewise.
(arm_sync_new_nand<mode>): Likewise.
(arm_sync_old_<sync_optab>si): Likewise.
(arm_sync_old_nandsi): Likewise.
(arm_sync_old_<sync_optab><mode>): Likewise.
(arm_sync_old_nand<mode>): Likewise.
From-SVN: r163765
Ian Bolton [Thu, 2 Sep 2010 08:55:59 +0000 (08:55 +0000)]
tree-ssa-loop-prefetch.c: Fix comment at head of file.
2010-09-02 Ian Bolton <ian.bolton@arm.com>
* tree-ssa-loop-prefetch.c: Fix comment at head of file.
From-SVN: r163764
Marcus Shawcroft [Thu, 2 Sep 2010 08:46:00 +0000 (08:46 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2010-09-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r163763
Olivier Hainque [Thu, 2 Sep 2010 07:22:33 +0000 (07:22 +0000)]
ira-color.c (SORTGT): New macro, helper for qsort callbacks.
* ira-color.c (SORTGT): New macro, helper for qsort callbacks.
(allocno_priority_compare_func): Use it instead of a straight
difference computation over priorities.
From-SVN: r163760
Andi Kleen [Thu, 2 Sep 2010 06:20:03 +0000 (06:20 +0000)]
opts.c (common_handle_option): Fix OPT_fwhopr/fwhopr_* handling.
2010-09-02 Andi Kleen <ak@linux.intel.com>
* opts.c (common_handle_option): Fix OPT_fwhopr/fwhopr_* handling.
From-SVN: r163759
Ira Rosen [Thu, 2 Sep 2010 06:04:34 +0000 (06:04 +0000)]
tree-vectorizer.h (get_later_stmt): New function.
* tree-vectorizer.h (get_later_stmt): New function.
(vect_analyze_data_ref_dependences): Add argument.
* tree-vect-loop.c (vect_analyze_loop): Update call to
vect_analyze_data_ref_dependences.
* tree-vect-data-refs.c (vect_drs_dependent_in_basic_block):
New function.
(vect_analyze_data_ref_dependence): Add argument for basic block
dependencies. Check dependencies in basic block vectorization.
(vect_analyze_data_ref_dependences): Add argument and update call to
vect_analyze_data_ref_dependences.
* tree-vect-slp.c (vect_find_last_store_in_slp_instance): New.
(vect_bb_vectorizable_with_dependencies): New.
(vect_slp_analyze_bb): Check dependencies in basic block.
(vect_schedule_slp_instance): Insert stores before the last store in
SLP instance.
From-SVN: r163757
Uros Bizjak [Thu, 2 Sep 2010 05:05:01 +0000 (07:05 +0200)]
re PR target/45476 (libgcc should contain TCmode functions)
PR target/45476
* config/i386/freebsd.h (LIBGCC2_HAS_TF_MODE,
LIBGCC2_TF_CEXT, TF_SIZE): New defines.
From-SVN: r163756
GCC Administrator [Thu, 2 Sep 2010 00:17:30 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163753
Christopher Yeleighton [Wed, 1 Sep 2010 22:58:15 +0000 (22:58 +0000)]
re PR libstdc++/45488 (lower_bound doesn't really require the iterator parameters to be default constructible)
2010-09-01 Christopher Yeleighton <giecrilj@stegny.2a.pl>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/45488
* include/bits/stl_algobase.h (lower_bound): Clean-up a tad, move
two variables inside the main loop.
* include/bits/stl_algo.h (lower_bound, upper_bound, equal_range):
Likewise.
From-SVN: r163747
Christopher Yeleighton [Wed, 1 Sep 2010 22:58:05 +0000 (22:58 +0000)]
re PR libstdc++/45488 (lower_bound doesn't really require the iterator parameters to be default constructible)
2010-09-01 Christopher Yeleighton <giecrilj@stegny.2a.pl>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/45488
* include/bits/stl_algobase.h (lower_bound): Clean-up a tad, move
two variables inside the main loop.
* include/bits/stl_algo.h (lower_bound, upper_bound, equal_range):
Likewise.
From-SVN: r163746
Steve Ellcey [Wed, 1 Sep 2010 21:17:04 +0000 (21:17 +0000)]
fast-math-pr38969.f90: Skip if not vectorizing.
2010-09-01 Steve Ellcey <sje@cup.hp.com>
* gfortran.dg/vect/fast-math-pr38969.f90: Skip if not vectorizing.
From-SVN: r163745
Janus Weil [Wed, 1 Sep 2010 20:50:46 +0000 (22:50 +0200)]
re PR fortran/44541 ([OOP] wrong code for polymorphic variable with INTENT(OUT)/Alloc w/ MOLD)
2010-09-01 Janus Weil <janus@gcc.gnu.org>
PR fortran/44541
* class.c (gfc_find_derived_vtab): Add component '$def_init'.
* resolve.c (resolve_allocate_expr): Defer handling of default
initialization to 'gfc_trans_allocate'.
(apply_default_init,resolve_symbol): Handle polymorphic dummies.
(resolve_fl_derived): Suppress error messages for vtypes.
* trans-stmt.c (gfc_trans_allocate): Handle initialization via
polymorphic MOLD expression.
* trans-expr.c (gfc_trans_class_init_assign): Now only used for
dummy initialization.
2010-09-01 Janus Weil <janus@gcc.gnu.org>
PR fortran/44541
* gfortran.dg/allocate_alloc_opt_10.f90: Extended.
* gfortran.dg/class_dummy_1.f03: New.
From-SVN: r163744
Jakub Jelinek [Wed, 1 Sep 2010 19:46:21 +0000 (21:46 +0200)]
re PR middle-end/45458 (ICE: in add_labels_and_missing_jumps, at bb-reorder.c:1306 with-fnon-call-exceptions -freorder-blocks-and-partition -fprofile-use)
PR middle-end/45458
* bb-reorder.c (add_labels_and_missing_jumps): Treat
bbs ending with throwing insns like blocks ending with a call.
(fix_up_fall_thru_edges): Likewise.
* g++.dg/tree-prof/partition2.C: New test.
From-SVN: r163743
Nathan Froyd [Wed, 1 Sep 2010 18:44:05 +0000 (18:44 +0000)]
m32c-protos.h (m32c_function_arg): Delete.
* config/m32c/m32c-protos.h (m32c_function_arg): Delete.
(m32c_function_arg_advance): Delete.
* config/m32c/m32c.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
* config/m32c/m32c.c (m32c_function_arg): Make static. Adjust
comments. Take a const_tree and a bool. Declare.
(m32c_function_arg_advance): Likewise.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
From-SVN: r163742
Uros Bizjak [Wed, 1 Sep 2010 18:06:02 +0000 (20:06 +0200)]
re PR target/45476 (libgcc should contain TCmode functions)
PR target/45476
* config/i386/cygming.h (LIBGCC2_HAS_TF_MODE,
LIBGCC2_TF_CEXT, TF_SIZE): Move from ...
* config/i386/mingw32.h: ... here.
From-SVN: r163741
Andi Kleen [Wed, 1 Sep 2010 17:03:56 +0000 (17:03 +0000)]
re PR target/45475 (target attribute use in libcpp breaks LTO bootstrap)
2010-09-01 Andi Kleen <ak@linux.intel.com>
PR lto/45475
* lto-streamer-in.c (lto_input_ts_target_option): Add.
(lto_input_tree_pointers): Call lto_input_ts_target_option.
* lto-streamer-out: (lto_output_ts_target_option): Add.
(lto_output_tree_pointers): Call lto_output_ts_target_option.
From-SVN: r163740
Tobias Burnus [Wed, 1 Sep 2010 16:34:14 +0000 (18:34 +0200)]
gfortran.texi (preprocessing): Update URL to COCO.
2010-09-01 Tobias Burnus <burnus@net-b.de>
* gfortran.texi (preprocessing): Update URL to COCO.
From-SVN: r163739
Kai Tietz [Wed, 1 Sep 2010 16:00:57 +0000 (16:00 +0000)]
PR/target 45452
2010-09-01 Kai Tietz <kai.tietz@onevision.com>
PR/target 45452
* config/i386/cygwin.h: Change order of specified import libraries.
* config/i386/mingw32.h: Likewise.
* config/i386/t-cygwin: Likewise.
* config/i386/t-mingw32: Likewise.
* config/i386/t-mingw-w32: Likewise.
* config/i386/t-mingw-w64: Likewise.
From-SVN: r163738
Ramana Radhakrishnan [Wed, 1 Sep 2010 15:28:13 +0000 (15:28 +0000)]
neon-schedgen.ml (core): New type.
2010-09-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/arm/neon-schedgen.ml (core): New type.
(allCores): List of supported cores.
(availability_table): Add supported cores.
(collate_bypasses): Accept core as a parameter.
(worst_case_latencies_and_bypasses): Accept core as a
parameter.
(emit_insn_reservations): Accept core as a parameter.
Use tuneStr and coreStr to get tune attribute and prefix
for functional units.
(emit_bypasses): Accept core name and use it.
(calculate_per_core_availability_table): New.
(filter_core): New.
(calculate_core_availability_table): New.
(main): Use calculate_core_availablity_table.
* config/arm/cortex-a8-neon.md: Update copyright year.
Regenerated from ml file and merged in.
(neon_mrrc, neon_mrc): Rename to cortex_a8_neon_mrrc and
cortex_a8_neon_mrc.
From-SVN: r163737
Ian Bolton [Wed, 1 Sep 2010 14:30:55 +0000 (14:30 +0000)]
Makefile.in (tree-switch-conversion.o): Update dependencies.
2010-09-01 Ian Bolton <ian.bolton@arm.com>
* Makefile.in (tree-switch-conversion.o): Update dependencies.
From-SVN: r163735
Ian Bolton [Wed, 1 Sep 2010 14:14:47 +0000 (14:14 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2010-09-01 Ian Bolton <ian.bolton@arm.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r163734
Richard Guenther [Wed, 1 Sep 2010 13:28:46 +0000 (13:28 +0000)]
alias.c (ao_ref_from_mem): Adjust.
2010-09-01 Richard Guenther <rguenther@suse.de>
* alias.c (ao_ref_from_mem): Adjust.
* builtins.c (get_object_alignment): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.
* gimple.c (get_base_address): Likewise.
* tree-dfa.c (get_ref_base_and_extent): Likewise.
(get_addr_base_and_unit_offset): Likewise. Fix for
both TMR_SYMBOL and TMR_BASE being set.
* tree-eh.c (tree_could_trap_p): Likewise.
* gimplify.c (gimplify_expr): Do not attempt to gimplify
TMR_SYMBOL. Always gimplify TMR_BASE.
* tree-cfg.c (verify_types_in_gimple_reference): Verify
TMR_BASE if there is a TMR_SYMBOL.
* tree-pretty-print.c (dump_generic_node): Adjust.
* tree-ssa-address.c (addr_for_mem_ref): Likewise.
(tree_mem_ref_addr): Likewise.
(create_mem_ref_raw): Likewise.
(move_fixed_address_to_symbol): Likewise.
(create_mem_ref): Likewise.
(dump_mem_address): Likewise.
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Adjust.
Fix for both TMR_SYMBOL and TMR_BASE being set.
(indirect_refs_may_alias_p): Likewise.
* tree-ssa-operands.c (get_tmr_operands): Adjust.
* tree.def (TARGET_MEM_REF): Adjust documentation.
From-SVN: r163733
Uros Bizjak [Wed, 1 Sep 2010 12:26:49 +0000 (14:26 +0200)]
i386.h (enum ix86_tune_indices): Rename from X86_TUNE_ADD_ESP_4.
* config/i386/i386.h (enum ix86_tune_indices) <X86_TUNE_SINGLE_POP>:
Rename from X86_TUNE_ADD_ESP_4.
<IX86_TUNE_DOUBLE_POP>: Rename from X86_TUNE_ADD_ESP_8.
<IX86_TUNE_SINGLE_PUSH>: Rename from X86_TUNE_SUB_ESP_4.
<IX86_TUNE_DOUBLE_PUSH>: Rename from X86_TUNE_SUB_ESP_8.
(TARGET_SINGLE_POP): Rename from TARGET_ADD_ESP_4.
(TARGET_DOUBLE_POP): Rename from TARGET_ADD_ESP_8.
(TARGET_SINGLE_PUSH): Rename from TARGET_SUB_ESP_4.
(TARGET_DOUBLE_POP): Rename from TARGET_SUB_ESP_8.
* config/i386/i386.c (initial_ix86_tune_features)
<X86_TUNE_SINGLE_POP>: Invert members.
<X86_TUNE_DOUBLE_POP>: Ditto.
<X86_TUNE_SINGLE_PUSH>: Ditto.
<X86_TUNE_DOUBLE_PUSH>: Ditto.
* config/i386/i386.md (*pop<mode>1): Rename from pop<mode>1.
No longer exported.
(push peephole2 patterns): Macroize peepholes using P mode iterator.
Adjust for renamed TARGET_{SINGLE,DOUBLE}_PUSH defines.
(pop peephole2 patterns): Macroize peepholes using P mode iterator.
Adjust for renamed TARGET_{SINGLE,DOUBLE}_POP defines.
From-SVN: r163732
Eric Botcazou [Wed, 1 Sep 2010 12:15:08 +0000 (12:15 +0000)]
gimplify.c (gimplify_init_constructor): Do not create a temporary for a volatile LHS if...
* gimplify.c (gimplify_init_constructor): Do not create a temporary for
a volatile LHS if the constructor has only one element.
From-SVN: r163727
Mikael Pettersson [Wed, 1 Sep 2010 11:52:55 +0000 (13:52 +0200)]
re PR bootstrap/45321 (ARM bootstrap failure due to stdarg_p change)
2010-09-01 Mikael Pettersson <mikpe@it.uu.se>
PR bootstrap/45321
* tree.c (stdarg_p): Make fntype parameter const.
* tree.h (stdarg_p): Likewise.
(function_args_iterator): Remove unused fntype field.
(function_args_iter_init): Do not initialize fntype
field. Make fntype parameter const.
From-SVN: r163726
Andi Kleen [Wed, 1 Sep 2010 11:47:41 +0000 (11:47 +0000)]
bootstrap-lto.mk (STAGE2_CFLAGS, [...]): Change to -fwhopr=jobserver -fuse-linker-plugin -frandom-seed=1.
2010-09-01 Andi Kleen <ak@linux.intel.com>
* bootstrap-lto.mk (STAGE2_CFLAGS, STAGE3_CFLAGS): Change
to -fwhopr=jobserver -fuse-linker-plugin -frandom-seed=1.
From-SVN: r163725
Richard Guenther [Wed, 1 Sep 2010 11:39:55 +0000 (11:39 +0000)]
tree-vrp.c (adjust_range_with_scev): Use number of iteration estimate.
2010-09-01 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (adjust_range_with_scev): Use number of iteration
estimate.
(vrp_visit_phi_node): Delay using SCEV till we balloon the
range.
(execute_vrp): Compute number of iteration estimates.
* cfgloop.h (estimate_numbers_of_iterations_loop): Adjust prototype.
* tree-flow.h (estimate_numbers_of_iterations): Likewise.
* tree-data-ref.c (estimated_loop_iterations): Adjust.
* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
Infer loop bounds from undefined behavior based on a new
parameter.
(estimate_numbers_of_iterations): Likewise.
(scev_probably_wraps_p): Adjust.
* tree-ssa-loop.c (tree_ssa_loop_bounds): Likewise.
* gcc.dg/vect/vect-outer-fir.c: Adjust.
* gcc.dg/tree-ssa/vrp54.c: New testcase.
* gcc.c-torture/execute/
20100827-1.c: Likewise.
From-SVN: r163724
Francois-Xavier Coudert [Wed, 1 Sep 2010 10:40:57 +0000 (10:40 +0000)]
trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Resize array quad_decls.
* trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Resize
array quad_decls. Remove unnecessary assignment.
From-SVN: r163723
Nick Clifton [Wed, 1 Sep 2010 10:13:07 +0000 (10:13 +0000)]
stormy16.c: Use REG_P, MEM_P and CONST_INT_P where appropriate.
* config/stormy16/stormy16.c: Use REG_P, MEM_P and CONST_INT_P
where appropriate.
(xstormy16_legitimate_address_p): Use true and false instead of 1
and 0.
(xstormy16_expand_prologue): Delete unused local variable 'insn'.
(xstormy16_function_arg): Use FIRST_ARGUMENT_REGNUM in place of
magic constant 2.
(xstormy16_expand_call): Fix comment at start of function.
From-SVN: r163722
Francois-Xavier Coudert [Wed, 1 Sep 2010 08:40:53 +0000 (08:40 +0000)]
trans-expr.c (gfc_conv_power_op): Handle floating-point types other than long double.
* trans-expr.c (gfc_conv_power_op): Handle floating-point types
other than long double.
* mathbuiltins.def: Add builtins from the POW and CPOW family.
* trans.h (gfc_builtin_decl_for_float_kind): New prototype.
* trans-intrinsic.c (gfc_builtin_decl_for_float_kind): Add gfc_
prefix to function name.
(gfc_build_intrinsic_lib_fndecls): Add cpow prototype.
(gfc_conv_intrinsic_aint): Use gfc_builtin_decl_for_float_kind
function name.
(gfc_conv_intrinsic_exponent): Likewise.
(gfc_conv_intrinsic_abs): Likewise.
(gfc_conv_intrinsic_mod): Likewise.
(gfc_conv_intrinsic_sign): Likewise.
(gfc_conv_intrinsic_arith): Likewise.
(gfc_conv_intrinsic_fraction): Likewise.
(gfc_conv_intrinsic_nearest): Likewise.
(gfc_conv_intrinsic_spacing): Likewise.
(gfc_conv_intrinsic_rrspacing): Likewise.
(gfc_conv_intrinsic_scale): Likewise.
(gfc_conv_intrinsic_set_exponent): Likewise.
From-SVN: r163721
Nick Clifton [Wed, 1 Sep 2010 08:33:35 +0000 (08:33 +0000)]
rx.c (rx_expand_prologue): Do not adjust frame size when pushing accumulator register.
* config/rx/rx.c (rx_expand_prologue): Do not adjust frame size
when pushing accumulator register.
(rx_get_stack_layout): Always save call clobbered registers inside
interrupt handlers.
* config/rx/rx-modes.def: Fix descriptive comment at start of file.
From-SVN: r163720
Francois-Xavier Coudert [Wed, 1 Sep 2010 08:33:11 +0000 (08:33 +0000)]
intrinsic.c: Add EXECUTE_COMMAND_LINE intrinsic.
* intrinsic.c: Add EXECUTE_COMMAND_LINE intrinsic.
* intrinsic.h (gfc_resolve_execute_command_line): New function.
* iresolve.c (gfc_resolve_execute_command_line): New function.
* gfortran.h (GFC_ISYM_EXECUTE_COMMAND_LINE): New value.
* intrinsic.texi: Document EXECUTE_COMMAND_LINE.
* intrinsics/execute_command_line.c: New file.
* gfortran.map (_gfortran_execute_command_line_i4,
_gfortran_execute_command_line_i8): New symbols.
* Makefile.am: Add new file intrinsics/execute_command_line.c.
* Makefile.in: Regenerated.
* gfortran.dg/execute_command_line_1.f90: New test.
From-SVN: r163719
Uros Bizjak [Wed, 1 Sep 2010 06:42:53 +0000 (08:42 +0200)]
config.gcc (i[34567]86-*-freebsd*, [...]): Add i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file.
gcc/ChangeLog:
* config.gcc (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add
i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file.
* libgcc-std.ver (GCC_4.6.0): Define version.
libgcc/ChangeLog:
* config.host (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add
i386/t-freebsd to tmake_file.
* config/i386/t-freebsd: New file.
* config/i386/libgcc-bsd.ver: New file.
From-SVN: r163718
Uros Bizjak [Wed, 1 Sep 2010 06:33:06 +0000 (08:33 +0200)]
* f95-lang.c: Fix comment: POPAR -> POPPAR.
From-SVN: r163717
GCC Administrator [Wed, 1 Sep 2010 00:17:09 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163712
Jakub Jelinek [Tue, 31 Aug 2010 22:47:25 +0000 (00:47 +0200)]
re PR preprocessor/45457 (ICE: invalid built-in macro "__DBL_DENORM_MIN__")
PR preprocessor/45457
* expr.c (parse_defined): Call pfile->cb.user_builtin_macro hook if
needed.
* directives.c (do_ifdef, do_ifndef): Likewise.
* c-c++-common/cpp/pr45457.c: New test.
From-SVN: r163705
Eric Botcazou [Tue, 31 Aug 2010 21:05:22 +0000 (21:05 +0000)]
tree-nested.c (convert_all_function_calls): Iterate until after the sum of static chains in the nest doesn't change.
* tree-nested.c (convert_all_function_calls): Iterate until after the
sum of static chains in the nest doesn't change.
From-SVN: r163698
Anatoly Sokolov [Tue, 31 Aug 2010 19:32:59 +0000 (23:32 +0400)]
m32c.c (classes_intersect): Remove.
* config/m32c/m32c.c (classes_intersect): Remove.
(m32c_preferred_reload_class, m32c_secondary_reload_class): Use
reg_classes_intersect_p instead of classes_intersect.
(class_can_hold_mode): Change arguments type from enum reg_class to
reg_class_t. Use reg_class_contents instead of class_contents.
(m32c_register_move_cost): Make static. Change arguments type from
enum reg_class to reg_class_t. Use reg_classes_intersect_p instead of
classes_intersect. Use reg_class_contents instead of class_contents.
(m32c_memory_move_cost): Make static. Change arguments type from
enum reg_class to reg_class_t.
(TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
* config/m32c/m32c.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
* config/m32c/m32c-protos.h (m32c_register_move_cost,
m32c_memory_move_cost): Remove.
From-SVN: r163693
Francois-Xavier Coudert [Tue, 31 Aug 2010 18:56:46 +0000 (18:56 +0000)]
re PR fortran/38282 (Bit intrinsics: ILEN and IBCHNG)
PR fortran/38282
* f95-lang.c (gfc_init_builtin_functions): Define popcount{,l,ll}
and parity{,l,ll} builtins.
* trans-intrinsic.c (gfc_conv_intrinsic_popcnt_poppar): New function.
(gfc_conv_intrinsic_function): Call above new functions.
* simplify.c (gfc_simplify_popcnt, gfc_simplify_poppar): New
functions.
* intrinsic.texi: Document POPCNT and POPPAR.
* gfortran.dg/popcnt_poppar_1.F90: New test.
* gfortran.dg/popcnt_poppar_2.F90: New test.
From-SVN: r163691
Paolo Carlini [Tue, 31 Aug 2010 17:39:51 +0000 (17:39 +0000)]
re PR libstdc++/44480 ([C++0x] Linear performance of begin() in unordered associative containers)
2010-08-31 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/44480
* include/bits/hashtable.h (_Hashtable<>::_M_begin_bucket_index):
Add, caching the index of the first non-empty bucket.
(begin, cbegin): Use it.
(_Hashtable<>::_Hashtable(_InputIterator, _InputIterator, ...),
_Hashtable(const _Hashtable&), _Hashtable(_Hashtable&&),
swap(_Hashtable&), clear): Adjust.
(_M_insert_bucket, _M_insert, erase(const_iterator),
erase(const key_type&), _M_rehash): Update it.
* include/bits/hashtable.h (_Hashtable<>::_M_erase): Remove.
(erase(const_iterator)): Inline the latter.
From-SVN: r163686
Uros Bizjak [Tue, 31 Aug 2010 17:32:23 +0000 (19:32 +0200)]
volatile-2.c: Require nonpic target.
* gcc.target/i386/volatile-2.c: Require nonpic target.
From-SVN: r163685
Paolo Carlini [Tue, 31 Aug 2010 17:24:39 +0000 (17:24 +0000)]
remove_freed.cc: Fix test01 return type to void.
2010-08-31 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/forward_list/operations/remove_freed.cc:
Fix test01 return type to void.
* testsuite/util/exception/safety.h: Avoid -Wall -m32 warnings.
* testsuite/util/replacement_memory_operators.h: Likewise.
From-SVN: r163684
Nathan Froyd [Tue, 31 Aug 2010 17:19:20 +0000 (17:19 +0000)]
arm-protos.h (arm_function_arg_advance): Delete.
* config/arm/arm-protos.h (arm_function_arg_advance): Delete.
(arm_function_arg): Delete.
(arm_needs_doubleword_align): Take a const_tree.
* config/arm/arm.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
* config/arm/arm.c (aapcs_select_call_coproc): Take a const_tree.
(aapcs_layout_arg, arm_needs_doubleword_align): Likewise.
(arm_function_arg): Make static. Take a const_tree and a bool.
(arm_function_arg_advance): Likewise.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
From-SVN: r163683
Andi Kleen [Tue, 31 Aug 2010 16:58:46 +0000 (16:58 +0000)]
common.opt (fwhopr=): Update for -fwhopr=jobserver
* common.opt (fwhopr=): Update for -fwhopr=jobserver
* doc/invoke.texi (fwhopr): Document -fwhopr=jobserver.
* lto-wrapper.c (run_gcc): Add jobserver mode.
* opts.c (common_handle_option): Fix OPT_fwhopr for non numeric
argument.
From-SVN: r163680
Uros Bizjak [Tue, 31 Aug 2010 16:53:56 +0000 (18:53 +0200)]
i386.md (popdi1): Rewrite using POST_INC memory operand.
* config/i386/i386.md (popdi1): Rewrite using POST_INC memory operand.
(popsi1): Ditto.
(*popdi1_epilogue): Ditto.
(*popsi1_epilogue): Ditto.
(popsi, popdi peephole2 patterns): Update peepholes for changed
pop{si,di}1 and *pop{si,di}1_epilogue patterns.
(pop<mode>1): Macroize insn from pop{si,di}1 using P code iterator.
(*pop<mode>1_epilogue): Ditto from *pop{si,di}1_epilogue.
* config/i386/i386.c (*ix86_gen_pop1): Remove indirect function.
(override_options): Do not initialize removed ix86_gen_pop1.
(gen_pop): New static function.
(ix86_expand_prologue): Use gen_pop instead of ix86_gen_pop1.
(release_scratch_register_on_entry): Ditto.
(ix86_restore_reg_using_pop): Ditto.
(ix86_expand_epilogue): Ditto.
From-SVN: r163679
Jakub Jelinek [Tue, 31 Aug 2010 16:13:14 +0000 (18:13 +0200)]
re PR middle-end/45461 (ICE: verify_gimple failed: INDIRECT_REF in gimple IL with -fshort-enums and va_arg)
PR middle-end/45461
* builtins.c (dummy_object): Return a MEM_REF instead of INDIRECT_REF.
* gcc.dg/pr45461.c: New test.
From-SVN: r163678
Nathan Froyd [Tue, 31 Aug 2010 15:00:43 +0000 (15:00 +0000)]
fr30.c (fr30_move_double): Delete `dregno' and extra semicolons.
* config/fr30/fr30.c (fr30_move_double): Delete `dregno' and extra
semicolons.
From-SVN: r163677
Francois-Xavier Coudert [Tue, 31 Aug 2010 14:26:47 +0000 (14:26 +0000)]
extend.texi: Fix documentation of the return value of __builtin_choose_expr.
* doc/extend.texi: Fix documentation of the return value of
__builtin_choose_expr.
From-SVN: r163675
Nathan Froyd [Tue, 31 Aug 2010 14:22:47 +0000 (14:22 +0000)]
v850-protos.h (function_arg): Delete.
* config/v850/v850-protos.h (function_arg): Delete.
* config/v850/v850.h (FUNCTION_ARG): Delete.
(FUNCTION_ARG_ADVANCE): Move code to...
* config/v850/v850.c (v850_function_arg_advance): ...here.
(v850_function_arg): Make static. Take a const_tree and a bool.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
From-SVN: r163674
Nathan Froyd [Tue, 31 Aug 2010 13:12:14 +0000 (13:12 +0000)]
m32r.h (FUNCTION_ARG, [...]): Move these...
* config/m32r/m32r.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move
these...
(ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P):
...and these...
* config/m32r/m32r.c (m32r_function_arg, m32r_function_arg_advance):
..to here..
(ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P):
...and here.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
From-SVN: r163672
Nathan Froyd [Tue, 31 Aug 2010 13:10:39 +0000 (13:10 +0000)]
rx-protos.h (rx_function_arg, [...]): Delete.
* config/rx/rx-protos.h (rx_function_arg, rx_function_arg_size):
Delete.
* config/rx/rx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
* config/rx/rx.c (rx_function_arg_size): Make static.
(rx_function_arg): Likewise.
(rx_function_arg_advance): New function.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
From-SVN: r163671
Richard Guenther [Tue, 31 Aug 2010 10:01:04 +0000 (10:01 +0000)]
re PR testsuite/45455 (gcc.dg/vect/vect-cond-4.c uses uninitialised variable)
2010-08-31 Richard Guenther <rguenther@suse.de>
PR testsuite/45455
* gcc.dg/vect/vect-cond-4.c: Fix use of uninitialized variable.
From-SVN: r163669
Bingfeng Mei [Tue, 31 Aug 2010 09:02:39 +0000 (09:02 +0000)]
pr43430-1.c: Requires vect_condition target.
2010-08-31 Bingfeng Mei <bmei@broadcom.com>
* gcc.dg/vect/pr43430-1.c: Requires vect_condition target.
From-SVN: r163668
John Tytgat [Tue, 31 Aug 2010 08:42:21 +0000 (08:42 +0000)]
arm.c (arm_override_options): Remove superfluous test.
* config/arm/arm.c (arm_override_options): Remove superfluous test.
Fix indentation.
From-SVN: r163667
Eric Botcazou [Tue, 31 Aug 2010 07:02:17 +0000 (07:02 +0000)]
dwarf2out.c (gen_decl_die): Do not skip in Ada.
* dwarf2out.c (gen_decl_die) <CONST_DECL>: Do not skip in Ada.
(dwarf2out_decl) <CONST_DECL>: Likewise.
From-SVN: r163666
GCC Administrator [Tue, 31 Aug 2010 00:17:17 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163665
Janus Weil [Mon, 30 Aug 2010 21:56:28 +0000 (23:56 +0200)]
re PR fortran/45456 ([OOP] Bogus pointer initialization error on pointer-valued TBP)
2010-08-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/45456
* resolve.c (resolve_structure_cons): Handle pointer-valued PPCs.
2010-08-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/45456
* gfortran.dg/typebound_proc_18.f03: New.
From-SVN: r163661
Eric Botcazou [Mon, 30 Aug 2010 20:04:49 +0000 (20:04 +0000)]
Stack usage support
Stack usage support
* common.opt (-fstack-usage): New option.
* doc/invoke.texi (Debugging options): Document it.
* builtins.c (expand_builtin_apply): Pass TRUE as 4th argument to
allocate_dynamic_stack_space.
(expand_builtin_alloca): Add 4th bool parameter CANNOT_ACCUMULATE
and propagate it to allocate_dynamic_stack_space.
(expand_builtin) <BUILT_IN_ALLOCA>: Adjust for above change.
* calls.c (initialize_argument_information): Pass TRUE as 4th
argument to allocate_dynamic_stack_space.
(expand_call): Set current_function_has_unbounded_dynamic_stack_size
to 1 when pushing a variable-sized argument onto the stack. Pass
TRUE as 4th argument to allocate_dynamic_stack_space.
Update current_function_pushed_stack_size.
(emit_library_call_value_1): Likewise.
* explow.c (allocate_dynamic_stack_space): Add 4th bool parameter
CANNOT_ACCUMULATE. If flag_stack_usage, look into the size and
attempt to find an upper bound. Remove redundant code for the
SETJMP_VIA_SAVE_AREA case.
* expr.h (allocate_dynamic_stack_space): Add 4th bool parameter.
* function.h (struct stack_usage): New structure.
(current_function_static_stack_size): New macro.
(current_function_dynamic_stack_size): Likewise.
(current_function_pushed_stack_size): Likewise.
(current_function_dynamic_alloc_count): Likewise.
(current_function_has_unbounded_dynamic_stack_size): Likewise.
(current_function_allocates_dynamic_stack_space): Likewise.
(struct function): Add new field 'su'.
* function.c (instantiate_virtual_regs): If SETJMP_VIA_SAVE_AREA,
add the value of the dynamic offset to the dynamic stack usage.
(gimplify_parameters): Set ALLOCA_FOR_VAR_P on call to BUILT_IN_ALLOCA
for variable-sized objects.
(prepare_function_start): Allocate cfun->su if flag_stack_usage.
(rest_of_handle_thread_prologue_and_epilogue): Call output_stack_usage.
* gimplify.c (gimplify_decl_expr): Set ALLOCA_FOR_VAR_P on call to
BUILT_IN_ALLOCA for variable-sized objects.
* output.h (output_stack_usage): Declare.
* toplev.c (stack_usage_file): New file pointer.
(output_stack_usage): New function.
(open_auxiliary_file): Likewise.
(lang_dependent_init): Open file if flag_stack_usage is set.
(finalize): Close file if stack_usage_file is not null.
* tree.h (ALLOCA_FOR_VAR_P): New macro.
* config/alpha/alpha.c (compute_frame_size): New function.
(alpha_expand_prologue): Use it.
(alpha_start_function): Likewise.
(alpha_expand_epilogue): Likewise. Set stack usage info.
* config/i386/i386.c (ix86_expand_prologue): Likewise.
* config/ia64/ia64.c (ia64_expand_prologue): Likewise.
* config/mips/mips.c (mips_expand_prologue): Likewise.
* config/pa/pa.c (hppa_expand_prologue): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
* config/sparc/sparc.c (sparc_expand_prologue): Likewise.
testsuite/
* lib/gcc-dg.exp (cleanup-stack-usage): New procedure.
* lib/scanasm.exp (scan-stack-usage): Likewise.
(scan-stack-usage-not): Likewise.
* gcc.dg/stack-usage-1.c: New test.
* gcc.target/i386/stack-usage-realign.c: Likewise.
From-SVN: r163660
Zdenek Dvorak [Mon, 30 Aug 2010 19:50:05 +0000 (21:50 +0200)]
re PR tree-optimization/45427 (Number of iteration analysis bogus)
PR tree-optimization/45427
* tree-ssa-loop-niter.c (number_of_iterations_ne_max): Rewritten.
Handle the case that the exit is never taken correctly.
(number_of_iterations_ne): Pass exit_must_be_taken to
number_of_iterations_ne_max.
* gcc.dg/tree-ssa/pr45427.c: New test.
From-SVN: r163659
Catherine Moore [Mon, 30 Aug 2010 18:57:30 +0000 (14:57 -0400)]
mips.h (BASE_DRIVER_SELF_SPECS): Infer -mdspr2 for the the 74K.
2010-08-31 Catherine Moore <clm@codesourcery.com>
* config/mips/mips.h (BASE_DRIVER_SELF_SPECS):
Infer -mdspr2 for the the 74K.
From-SVN: r163656
Paolo Carlini [Mon, 30 Aug 2010 18:13:32 +0000 (18:13 +0000)]
re PR c++/45043 (ICE: tree check: expected identifier_node, have bit_not_expr in grokdeclarator, at cp/decl.c:8113 on invalid code)
/cp
2010-08-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/45043
* decl.c (grokdeclarator): Use MAIN_NAME_P only on IDENTIFIER_NODEs.
/testsuite
2010-08-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/45043
* g++.dg/template/crash102.C: New.
From-SVN: r163655
Jakub Jelinek [Mon, 30 Aug 2010 17:17:15 +0000 (19:17 +0200)]
re PR debug/45419 (-fcompare-debug failure at -O3)
PR debug/45419
* tree-ssa-live.c (dump_enumerated_decls): Clear the whole wi variable.
From-SVN: r163654
Jakub Jelinek [Mon, 30 Aug 2010 17:16:29 +0000 (19:16 +0200)]
re PR middle-end/45423 (#pragma omp atomic on bool has issues)
PR middle-end/45423
* gimplify.c (goa_stabilize_expr): Handle TRUTH_NOT_EXPR
and TRUTH_{AND,OR,XOR}_EXPR.
* c-parser.c (c_parser_omp_atomic): Handle boolean
{PRE,POST}_{INC,DEC}REMENT.
cp/
* parser.c (cp_parser_omp_atomic): Handle boolean
{PRE,POST}_INCREMENT.
testsuite/
* gcc.dg/gomp/atomic-12.c: New test.
* gcc.dg/gomp/atomic-13.c: New test.
* gcc.dg/gomp/atomic-14.c: New test.
* g++.dg/gomp/atomic-11.C: New test.
* g++.dg/gomp/atomic-12.C: New test.
* g++.dg/gomp/atomic-13.C: New test.
* g++.dg/gomp/atomic-14.C: New test.
From-SVN: r163653
Eric Botcazou [Mon, 30 Aug 2010 16:30:41 +0000 (16:30 +0000)]
utils.c (gnat_pushdecl): Remove test for PARM_DECLs.
* gcc-interface/utils.c (gnat_pushdecl): Remove test for PARM_DECLs.
Attach fake PARM_DECLs to the topmost block of the function.
From-SVN: r163651
Rainer Orth [Mon, 30 Aug 2010 16:03:55 +0000 (16:03 +0000)]
nested-2.C: Allow for single / as comment delimiter.
* g++.dg/debug/dwarf2/nested-2.C: Allow for single / as comment
delimiter.
From-SVN: r163650
Nathan Froyd [Mon, 30 Aug 2010 16:03:44 +0000 (16:03 +0000)]
xtensa-protos.h (function_arg_advance): Delete.
* config/xtensa/xtensa-protos.h (function_arg_advance): Delete.
(function_arg): Delete.
* config/xtensa/xtensa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
(FUNCTION_INCOMING_ARG): Delete.
* config/xtensa/xtensa.c (function_arg_advance): Rename to...
(xtensa_function_arg_advance): ...this. Make static. Take a const_tree
and a bool.
(function_arg): Rename to...
(xtensa_function_arg_1): ...this. Make static. Take a const_tree and
a bool.
(xtensa_function_arg, xtensa_function_incoming_arg): Nex functions.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
(TARGET_FUNCTION_INCOMING_ARG): Define.
From-SVN: r163649
Eric Botcazou [Mon, 30 Aug 2010 15:59:45 +0000 (15:59 +0000)]
trans.c (call_to_gnu): Also force the return slot opt for the call to a function whose return type was...
* gcc-interface/trans.c (call_to_gnu): Also force the return slot opt
for the call to a function whose return type was unconstrained.
From-SVN: r163648
Richard Guenther [Mon, 30 Aug 2010 13:46:31 +0000 (13:46 +0000)]
re PR middle-end/21602 (builtin memmove could be memcpy if src and dst don't alias)
2010-08-30 Richard Guenther <rguenther@suse.de>
PR tree-optimization/21602
* builtins.c (fold_builtin_memory_op): Fold memmove to memcpy
using points-to information.
From-SVN: r163646