platform/upstream/gcc.git
11 years agoFixed typo about bug-number ...
Kai Tietz [Sun, 10 Nov 2013 19:27:38 +0000 (20:27 +0100)]
Fixed typo about bug-number ...

        PR plugin/52872
        * configure.ac: Adding for exported symbols check
        and for rdynamic-check executable-extension.
        * configure: Regenerated.

From-SVN: r204651

11 years agore PR plugins/52872 (--enable-plugin; incorrect test for "exported symbols" and ...
Karlson2k [Sun, 10 Nov 2013 19:24:43 +0000 (19:24 +0000)]
re PR plugins/52872 (--enable-plugin; incorrect test for "exported symbols" and "-rdynamic" in gcc/configure.ac)

        PR plugin/52862
        * configure.ac: Adding for exported symbols check
        and for rdynamic-check executable-extension.
        * configure: Regenerated.

Co-Authored-By: Kai Tietz <ktietz@redhat.com>
From-SVN: r204650

11 years agomode-switching.c (optimize_mode_switching): Mark block as nontransparent, if last_mod...
Uros Bizjak [Sun, 10 Nov 2013 18:38:36 +0000 (19:38 +0100)]
mode-switching.c (optimize_mode_switching): Mark block as nontransparent, if last_mode at block exit is different from no_mode.

* mode-switching.c (optimize_mode_switching): Mark block as
nontransparent, if last_mode at block exit is different from no_mode.

From-SVN: r204649

11 years agocygming-crtbegin.c (__gcc_register_frame): Increment load-count on use of LIBGCC_SONA...
Kai Tietz [Sun, 10 Nov 2013 11:47:18 +0000 (12:47 +0100)]
cygming-crtbegin.c (__gcc_register_frame): Increment load-count on use of LIBGCC_SONAME DLL.

2013-11-10  Kai Tietz  <ktietz@redhat.com>

* config/i386/cygming-crtbegin.c (__gcc_register_frame):
Increment load-count on use of LIBGCC_SONAME DLL.
(hmod_libgcc): New static variable to hold handle of
LIBGCC_SONAME DLL.
(__gcc_deregister_frame): Decrement load-count of
LIBGCC_SONAME DLL.

From-SVN: r204635

11 years agofenv.c: New file.
Uros Bizjak [Sun, 10 Nov 2013 11:45:42 +0000 (12:45 +0100)]
fenv.c: New file.

* config/x86/fenv.c: New file.

From-SVN: r204634

11 years agoDaily bump.
GCC Administrator [Sun, 10 Nov 2013 00:16:57 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r204623

11 years agofunction.c (NAME__MAIN): Move to...
Jan-Benedict Glaw [Sat, 9 Nov 2013 20:12:59 +0000 (20:12 +0000)]
function.c (NAME__MAIN): Move to...

2013-11-09  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* function.c (NAME__MAIN): Move to...
* cfgexpand.c (NAME__MAIN): ...here.

[BR]: http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01003.html

From-SVN: r204620

11 years agoc-common.c (atomic_size_supported_p): New function.
Joseph Myers [Sat, 9 Nov 2013 16:32:34 +0000 (16:32 +0000)]
c-common.c (atomic_size_supported_p): New function.

* c-common.c (atomic_size_supported_p): New function.
(resolve_overloaded_atomic_exchange)
(resolve_overloaded_atomic_compare_exchange)
(resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
Use it instead of comparing size with a local list of sizes.

From-SVN: r204618

11 years agoruntime: Correct flag (FlagNoGC => FlagNoInvokeGC).
Ian Lance Taylor [Sat, 9 Nov 2013 16:23:00 +0000 (16:23 +0000)]
runtime: Correct flag (FlagNoGC => FlagNoInvokeGC).

From-SVN: r204617

11 years agore PR libstdc++/58982 (std::vector<std::atomic<int>> vai(10); does not compile anymore)
Jonathan Wakely [Sat, 9 Nov 2013 12:38:00 +0000 (12:38 +0000)]
re PR libstdc++/58982 (std::vector<std::atomic<int>> vai(10); does not compile anymore)

PR libstdc++/58982
* include/bits/stl_algobase.h (__copy_move::__copy_m): Use assertion
to prevent using memmove() on non-assignable types.
(__copy_move_backward::__copy_move_b): Likewise.
* include/bits/stl_uninitialized.h (uninitialized_copy
uninitialized_copy_n, uninitialized_fill, uninitialized_fill_n,
__uninitialized_default, __uninitialized_default_n): Check for
assignable as well as trivial.
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
58982.cc: New.
* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
58982.cc: New.
* testsuite/20_util/specialized_algorithms/uninitialized_fill/
58982.cc: New.
* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
58982.cc: New.
* testsuite/25_algorithms/copy/58982.cc: New.
* testsuite/25_algorithms/copy_n/58982.cc: New.

From-SVN: r204615

11 years agotarget.def (can_use_doloop_p): New hook.
Richard Sandiford [Sat, 9 Nov 2013 11:42:16 +0000 (11:42 +0000)]
target.def (can_use_doloop_p): New hook.

gcc/
* target.def (can_use_doloop_p): New hook.
* doc/tm.texi.in (TARGET_CAN_USE_DOLOOP_P): Add.
* doc/tm.texi: Regenerate.
* doc/md.texi (doloop_begin, doloop_end): Update documentation.
* hooks.h (hook_bool_dint_dint_uint_true): Declare.
* hooks.c (hook_bool_dint_dint_uint_true): New function.
* targhooks.h (can_use_doloop_if_innermost): Declare.
* targhooks.c (can_use_doloop_if_innermost): New function.
* target.h: Include double-int.h.
* loop-doloop.c (doloop_optimize): Call targetm.can_use_doloop_p.
Remove iteration count, maximum iteration count, loop depth and
enter-at-top inputs from doloop_begin and doloop_end.
* config/arc/arc.md (doloop_begin, doloop_end): Update for new
interface.
* config/arc/arc.c (arc_can_use_doloop_p): New function.
(TARGET_CAN_USE_DOLOOP_P): Define.
* config/arm/thumb2.md (doloop_end): Update for new interface.
* config/arm/arm.c (TARGET_CAN_USE_DOLOOP_P): Define.
* config/bfin/bfin.md (doloop_end): Update for new interface.
* config/bfin/bfin.c (bfin_can_use_doloop_p): New function.
(TARGET_CAN_USE_DOLOOP_P): Define.
* config/c6x/c6x.md (doloop_end): Update for new interface.
* config/ia64/ia64.md (doloop_end): Update for new interface.
* config/ia64/ia64.c (TARGET_CAN_USE_DOLOOP_P): Define.
* config/mep/mep.md (doloop_begin, doloop_end): Update for new
interface.
* config/mep/mep.c (mep_emit_doloop): Likewise.
(TARGET_CAN_USE_DOLOOP_P): Define.
* config/rs6000/rs6000.md (doloop_end): Update for new interface.
* config/rs6000/rs6000.c (TARGET_CAN_USE_DOLOOP_P): Define.
* config/s390/s390.md (doloop_end): Update for new interface.
* config/sh/sh.md (doloop_end): Likewise.
* config/spu/spu.md (doloop_end): Likewise.
* config/spu/spu.c (TARGET_CAN_USE_DOLOOP_P): Define.
* config/tilegx/tilegx.md (doloop_end): Update for new interface.
* config/tilegx/tilegx.c (TARGET_CAN_USE_DOLOOP_P): Define.
* config/tilepro/tilepro.md (doloop_end): Update for new interface.
* config/tilepro/tilepro.c (TARGET_CAN_USE_DOLOOP_P): Define.
* config/v850/v850.md (doloop_begin, doloop_end): Update for new
interface.
* config/v850/v850.c (TARGET_CAN_USE_DOLOOP_P): Define.

From-SVN: r204614

11 years agoDaily bump.
GCC Administrator [Sat, 9 Nov 2013 00:16:56 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r204611

11 years agoRe-factor tree.h - Part 1.
Diego Novillo [Fri, 8 Nov 2013 22:46:16 +0000 (17:46 -0500)]
Re-factor tree.h - Part 1.

This is the first patch in a series of patches to cleanup tree.h to
reduce the exposure it has all over the compiler.

In this patch, I'm moving functions that are used once into the files
that use them, and make them private to that file. These functions
were declared extern in tree.h and called from exactly one place.

The patch does not move EVERY function. This usually happens
when the function uses private state from its original file, and
moving that private state would mean moving other functions that made
no sense to move.

Additionally, the patch removes functions that were never used.

In subsequent patches, I will be moving out of tree.h extern definitions
that should be grouped in other files (e.g., all functions defined in
some FOO.c will be moved to the corresponding FOO.h). This will allow
me to remove the inclusion of tree.h from some files.

    * attribs.c (lookup_scoped_attribute_spec): Make static.
    (get_attribute_namespace): Likewise.
    * builtins.c (more_const_call_expr_args_p): Move from
    tree.h.
    (validate_arglist): Move earlier in the file. Make static.
    (expand_stack_restore): Move from stmt.c
    (expand_stack_save): Move from stmt.c
    (rewrite_call_expr_array): Move earlier in the file.
    (rewrite_call_expr_valist): Likewise.
    * cfgexpand.c: Include hard-reg-set.h before tree.h
    Include recog.h.
    Include output.h.
    (expand_asm_loc): Move from stmt.c.
    (n_occurrences): Move from stmt.c.
    (check_operand_nalternatives): Move from stmt.c.
    (tree_conflicts_with_clobbers_p): Move from stmt.c.
    (expand_asm_operands): Move from stmt.c
    (expand_asm_stmt): Move from stmt.c
    (expand_computed_goto): Move from stmt.c
    (expand_goto): Move from stmt.c
    (expand_null_return_1): Move from stmt.c
    (expand_null_return): Move from stmt.c
    (expand_value_return): Move from stmt.c
    (expand_return): Move from stmt.c
    (expand_main_function): Move from function.c
    (stack_protect_prologue): Move from function.c
    * cgraphclones.c (build_function_type_skip_args): Move from tree.c.
    (build_function_decl_skip_args): Move from tree.c.
    * explow.c (tree_expr_size): Move from tree.c.
    * expr.c (addr_expr_of_non_mem_decl_p): Remove.
    (fields_length): Move from tree.c.
    * fold-const.c (size_low_cst): Move from tree.c.
    (tree_expr_nonzero_warnv_p): Make static. Move earlier in the file.
    (tree_expr_nonzero_p): Make static. Move earlier in the file.
    (fold_build3_initializer_loc): Remove.
    (tree_invalid_nonnegative_warnv_p): Make static.
    * function.c (expand_main_function): Move to cfgexpand.c.
    (stack_protect_prologue): Move to cfgexpand.c.
    (set_insn_locations): Move earlier in the file.
    * gimple-fold.c: Include langhooks.h.
    (truth_type_for): Move from tree.c.
    * print-tree.c (print_vec_tree): Remove.
    * stmt.c (expand_computed_goto): Move to cfgexpand.c.
    (expand_goto): Move to cfgexpand.c.
    (n_occurrences): Move to cfgexpand.c.
    (expand_asm_loc): Move to cfgexpand.c
    (tree_conflicts_with_clobbers_p): Move to cfgexpand.c.
    (expand_asm_operands): Move to cfgexpand.c.
    (expand_asm_stmt): Move to cfgexpand.c.
    (check_operand_nalternatives): Move to cfgexpand.c
    (expand_null_return): Move to cfgexpand.c.
    (expand_value_return): Move to cfgexpand.c.
    (expand_null_return_1): Move to cfgexpand.c.
    (expand_return): Move to cfgexpand.c.
    (expand_stack_save): Move to builtins.c.
    (expand_stack_restore): Move to builtins.c
    * symtab.c: Include output.h.
    (decl_assembler_name_hash): Move from tree.c.
    (decl_assembler_name_equal): Move from tree.c.
    * trans-mem.c (is_tm_safe_or_pure): Move from tree.h.
    * tree-eh.c (in_array_bounds_p): Move from tree.c.
    (range_in_array_bounds_p): Move from tree.c.
    * tree-object-size.c (fini_object_sizes): Make static.
    * tree-ssa-dom.c (iterative_hash_exprs_commutative): Move from tree.h.
    * tree-vrp.c (ssa_name_nonnegative_p): Remove.
    * tree.c (decl_assembler_name_equal): Move to symtab.c.
    (tree_expr_size): Move to explow.c.
    (decl_assembler_name_hash): Move to symtab.c.
    (real_twop): Remove.
    (tree_expr_size): Move to explow.c.
    (stabilize_reference_1): Move earlier in the file. Make static.
    (omp_remove_redundant_declare_simd_attrs): Remove.
    (simple_cst_list_equal): Move earlier in the file. Make static.
    (size_low_cst): Move to fold-const.c.
    (build_type_no_quals): Remove.
    (build_function_type_skip_args): Move to cgraphclones.c.
    (build_function_decl_skip_args): Move to cgraphclones.c.
    (in_array_bounds_p): Move to tree-eh.c.
    (range_in_array_bounds_p): Move to tree-eh.c.
    (truth_type_for): Move to gimple-fold.c.
    (list_equal_p): remove.
    * tree.h (decl_assembler_name_equal): Remove.
    (decl_assembler_name_hash): Remove.
    (truth_type_for): Remove.
    (build_type_no_quals): Remove.
    (build_function_decl_skip_args): Remove.
    (in_array_bounds_p): Remove.
    (range_in_array_bounds_p): Remove.
    (size_low_cst): Remove.
    (omp_remove_redundant_declare_simd_attrs): Remove.
    (tree_expr_size): Remove.
    (fields_length): Remove.
    (stabilize_reference_1): Remove.
    (expand_goto): Remove.
    (expand_stack_save): Remove.
    (expand_stack_restore): Remove.
    (expand_return): Remove.
    (fold_build3_initializer_loc): Remove.
    (tree_expr_nonzero_p): Remove.
    (tree_invalid_nonnegative_warnv_p): Remove.
    (tree_expr_nonzero_warnv_p): Remove.
    (fold_builtin_snprintf_chk): Remove.
    (validate_arglist): Remove.
    (iterative_hash_exprs_commutative): Move to tree-ssa-dom.c.
    (simple_cst_list_equal): Remove.
    (real_twop): Remove.
    (expand_main_function): Remove.
    (stack_protect_prologue): Remove.
    (print_vec_tree): Remove.
    (lookup_scoped_attribute_spec): Remove.
    (get_attribute_namespace): Remove.
    (expand_computed_goto): Remove.
    (expand_asm_stmt): Remove.
    (list_equal_p): Remove.
    (ssa_name_nonnegative_p): Remove.
    (fini_object_sizes): Remove.
    (addr_expr_of_non_mem_decl_p): Remove.
    (is_tm_safe_or_pure): Move to trans-mem.c.
    (more_const_call_expr_args_p): Remove.
    (save_vtable_map_decl): Remove.

From-SVN: r204606

11 years agoMove Cilk Plus Builtins node before Other Builtins node
H.J. Lu [Fri, 8 Nov 2013 22:16:59 +0000 (22:16 +0000)]
Move Cilk Plus Builtins node before Other Builtins node

PR other/59055
* doc/extend.texi: Move Cilk Plus Builtins node before Other
Builtins node.

From-SVN: r204604

11 years ago[multiple changes]
Joseph Myers [Fri, 8 Nov 2013 22:15:09 +0000 (22:15 +0000)]
[multiple changes]

2013-11-08  Andrew MacLeod  <amacleod@redhat.com>
    Joseph Myers  <joseph@codesourcery.com>

* ginclude/stdatomic.h: New file.
* Makefile.in (USER_H): Add stdatomic.h.

testsuite:
2013-11-08  Joseph Myers  <joseph@codesourcery.com>

* gcc.dg/atomic/stdatomic-compare-exchange-1.c,
gcc.dg/atomic/stdatomic-compare-exchange-2.c,
gcc.dg/atomic/stdatomic-compare-exchange-3.c,
gcc.dg/atomic/stdatomic-compare-exchange-4.c,
gcc.dg/atomic/stdatomic-exchange-1.c,
gcc.dg/atomic/stdatomic-exchange-2.c,
gcc.dg/atomic/stdatomic-exchange-3.c,
gcc.dg/atomic/stdatomic-exchange-4.c,
gcc.dg/atomic/stdatomic-fence.c, gcc.dg/atomic/stdatomic-flag.c,
gcc.dg/atomic/stdatomic-generic.c,
gcc.dg/atomic/stdatomic-kill-dep.c,
gcc.dg/atomic/stdatomic-load-1.c,
gcc.dg/atomic/stdatomic-load-2.c,
gcc.dg/atomic/stdatomic-load-3.c,
gcc.dg/atomic/stdatomic-load-4.c,
gcc.dg/atomic/stdatomic-lockfree.c,
gcc.dg/atomic/stdatomic-op-1.c, gcc.dg/atomic/stdatomic-op-2.c,
gcc.dg/atomic/stdatomic-op-3.c, gcc.dg/atomic/stdatomic-op-4.c,
gcc.dg/atomic/stdatomic-store-1.c,
gcc.dg/atomic/stdatomic-store-2.c,
gcc.dg/atomic/stdatomic-store-3.c,
gcc.dg/atomic/stdatomic-store-4.c, gcc.dg/c11-stdatomic-1.c: New
tests.

From-SVN: r204603

11 years agosafe_iterator.h (_BeforeBeginHelper<>::_S_Is): Take only a const safe iterator reference.
François Dumont [Fri, 8 Nov 2013 21:03:58 +0000 (21:03 +0000)]
safe_iterator.h (_BeforeBeginHelper<>::_S_Is): Take only a const safe iterator reference.

2013-11-08  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/safe_iterator.h (_BeforeBeginHelper<>::_S_Is):
Take only a const safe iterator reference.
(_BeforeBeginHelper<>::_S_Is_beginnest): Likewise.
(__get_distance): Take only one type of iterator.
(_Safe_iterator<>::_M_valid_range<>): Not template anymore.
(_Safe_iterator<>::_M_get_sequence()): Return pointer to const
sequence from a const_iterator and a pointer to sequence from an
iterator.
* include/debug/safe_iterator.tcc: Adapt.
* include/debug/safe_local_iterator.h
(_Safe_local_iterator<>::_M_valid_range<>): Not template anymore.
(_Safe_local_iterator<>::_M_get_sequence()): Return pointer to
const sequence from a const_iterator and a pointer to sequence
from an iterator.
* include/debug/safe_local_iterator.tcc: Adapt.
* include/debug/forward_list
(_BeforeBeginHelper<std::__debug::forward_list<>>): Adapt.

From-SVN: r204598

11 years ago+2013-11-08 Balaji V.
Balaji V. Iyer [Fri, 8 Nov 2013 19:52:27 +0000 (19:52 +0000)]
+2013-11-08 Balaji V.

+2013-11-08  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       PR c/59039
+       * runtime/cilk_fiber-unix.cpp: Fixed a crash in run() function
+       when optimization is turned on.
+

From-SVN: r204592

11 years agore PR tree-optimization/58508 ([Missed-Optimization] Redundant vector load of "actual...
Cong Hou [Fri, 8 Nov 2013 18:44:46 +0000 (13:44 -0500)]
re PR tree-optimization/58508 ([Missed-Optimization] Redundant vector load of "actual" loop invariant in loop body.)

2013-11-08  Cong Hou  <congh@google.com>

PR tree-optimization/58508
* gcc.dg/vect/pr58508.c: Update.

From-SVN: r204590

11 years agoarm.c (arm_new_rtx_costs): Break after handling comparisons.
Kyrylo Tkachov [Fri, 8 Nov 2013 17:36:21 +0000 (17:36 +0000)]
arm.c (arm_new_rtx_costs): Break after handling comparisons.

* config/arm/arm.c (arm_new_rtx_costs): Break after handling
comparisons.

From-SVN: r204584

11 years agocompiler: Fix bogus init loop error with struct composite literal.
Ian Lance Taylor [Fri, 8 Nov 2013 17:35:24 +0000 (17:35 +0000)]
compiler: Fix bogus init loop error with struct composite literal.

This should eventually be bug482.go in the master testsuite.

From-SVN: r204583

11 years agoregex_compiler.h (__detail::__has_contiguous_iter): vector<bool> storage is not conti...
Jonathan Wakely [Fri, 8 Nov 2013 17:33:31 +0000 (17:33 +0000)]
regex_compiler.h (__detail::__has_contiguous_iter): vector<bool> storage is not contiguous.

* include/bits/regex_compiler.h (__detail::__has_contiguous_iter):
vector<bool> storage is not contiguous.

From-SVN: r204582

11 years agotree-ssa-threadupdate.h (delete_thread_path): Declare.
Jeff Law [Fri, 8 Nov 2013 16:24:06 +0000 (09:24 -0700)]
tree-ssa-threadupdate.h (delete_thread_path): Declare.

       * tree-ssa-threadupdate.h (delete_thread_path): Declare.
        * tree-ssa-threadupdate.c (delete_thread_path): New function.
        (ssa_redirect_edges, thread_block_1): Use it.
        (thread_through_loop_header, mark_threaded_blocks): Likewise.
        (thread_through_all_blocks, register_jump_thread): Likewise.
        * tree-ssa-threadedge.c (thread_across_edge): Likewise.

From-SVN: r204579

11 years ago[ARM, AArch64] Make aarch-common.c files more robust.
James Greenhalgh [Fri, 8 Nov 2013 15:09:50 +0000 (15:09 +0000)]
[ARM, AArch64] Make aarch-common.c files more robust.

gcc/
* config/arm/aarch-common.c
(search_term): New typedef.
(shift_rtx_costs): New array.
(arm_rtx_shift_left_p): New.
(arm_find_sub_rtx_with_search_term): Likewise.
(arm_find_sub_rtx_with_code): Likewise.
(arm_early_load_addr_dep): Add sanity checking.
(arm_no_early_alu_shift_dep): Likewise.
(arm_no_early_alu_shift_value_dep): Likewise.
(arm_no_early_mul_dep): Likewise.
(arm_no_early_store_addr_dep): Likewise.

From-SVN: r204575

11 years agoregex_compiler.h (__detail::__compile_nfa): Overload so that std::basic_string<C...
Jonathan Wakely [Fri, 8 Nov 2013 14:30:40 +0000 (14:30 +0000)]
regex_compiler.h (__detail::__compile_nfa): Overload so that std::basic_string<C> and std::vector<C> iterators dispatch to...

* include/bits/regex_compiler.h (__detail::__compile_nfa): Overload
so that std::basic_string<C> and std::vector<C> iterators dispatch to
the const C* compiler.

From-SVN: r204574

11 years agoregex_compiler.h (__detail::_AnyMatcher, [...]): Remove redundant _CharT template...
Jonathan Wakely [Fri, 8 Nov 2013 14:30:34 +0000 (14:30 +0000)]
regex_compiler.h (__detail::_AnyMatcher, [...]): Remove redundant _CharT template parameters.

* include/bits/regex_compiler.h (__detail::_AnyMatcher,
__detail::_CharMatcher, __detail::_BracketMatcher): Remove redundant
_CharT template parameters.
* include/bits/regex_compiler.tcc: Likewise.

From-SVN: r204573

11 years agoregex_automaton.h (__detail::_State, [...]): Remove redundant _CharT template parameters.
Jonathan Wakely [Fri, 8 Nov 2013 14:30:29 +0000 (14:30 +0000)]
regex_automaton.h (__detail::_State, [...]): Remove redundant _CharT template parameters.

* include/bits/regex_automaton.h (__detail::_State, __detail::_NFA,
__detail::_StateSeq): Remove redundant _CharT template parameters.
* include/bits/regex_automaton.tcc: Likewise.
* include/bits/regex_compiler.h (__detail::_Compiler): Likewise.
(__compile_nfa): Add object generator for _Compiler.
* include/bits/regex_compiler.tcc: Remove _CharT template parameters.
* include/bits/regex_executor.h: Likewise.
* include/bits/regex_executor.tcc: Likewise.
* include/bits/regex.h (basic_regex): Assert char_type matches. Use
__compile_nfa object generator. Remove _CharT template parameter.

From-SVN: r204572

11 years agoregex_automaton.h (__detail::_State): Split non-dependent parts into new _State_base.
Jonathan Wakely [Fri, 8 Nov 2013 14:30:22 +0000 (14:30 +0000)]
regex_automaton.h (__detail::_State): Split non-dependent parts into new _State_base.

* include/bits/regex_automaton.h (__detail::_State): Split
non-dependent parts into new _State_base.
(__detail::_NFA): Likewise for _NFA_base. Use std::move() to avoid
copies when inserting _MatcherT and _StateT objects.
* include/bits/regex_automaton.tcc: Move member definitions to base
class. Qualify dependent names.
* include/bits/regex_compiler.h (__detail::_Compiler::_M_get_nfa): Make
non-const and use std::move to avoid copying.
* include/bits/regex_compiler.tcc: Likewise.
* include/bits/regex_executor.h (__detail::_Executor::_M_is_word): Use
array, so past-the-end iterator is valid.

From-SVN: r204571

11 years agore PR tree-optimization/59047 (wrong code for bitfields at -O3 on x86_64-linux-gnu)
Richard Biener [Fri, 8 Nov 2013 12:49:10 +0000 (12:49 +0000)]
re PR tree-optimization/59047 (wrong code for bitfields at -O3 on x86_64-linux-gnu)

2013-11-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/59047
* tree-predcom.c (ref_at_iteration): Handle bitfield accesses
properly.

* gcc.dg/torture/pr59047.c: New testcase.

From-SVN: r204566

11 years agocommon.opt (fcheck-pointer-bounds): Move to ...
Ilya Enkovich [Fri, 8 Nov 2013 10:57:54 +0000 (10:57 +0000)]
common.opt (fcheck-pointer-bounds): Move to ...

        * common.opt (fcheck-pointer-bounds): Move to ...
        * c-family/c.opt: ... here.
        * langhooks-def.h (LANG_HOOKS_CHKP_SUPPORTED): Remove.
        (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_CHKP_SUPPORTED.
        * langhooks.h (lang_hooks): Remove chkp_supported field.
        * toplev.c (process_options): Remove chkp_supported check.

From-SVN: r204563

11 years agolibgcc: check for fenv.h in dfp configure check
Bernhard Reutner-Fischer [Fri, 8 Nov 2013 10:18:27 +0000 (11:18 +0100)]
libgcc: check for fenv.h in dfp configure check

uClibc can be built without fenv support, extend the configure check for
decimal floating point to probe the existance of fenv.h, too.

libgcc/ChangeLog:

2013-03-24  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

* configure.ac (libgcc_cv_dfp): Extend check to probe fenv.h
availability.
* configure: Regenerate

From-SVN: r204562

11 years agore PR tree-optimization/59038 (r204398 causes 186.crafty init.c to be miscompiled)
Richard Biener [Fri, 8 Nov 2013 08:44:02 +0000 (08:44 +0000)]
re PR tree-optimization/59038 (r204398 causes 186.crafty init.c to be miscompiled)

2013-11-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/59038
PR tree-optimization/58955
* tree-loop-distribution.c (pg_add_dependence_edges): Revert
previous change.  Handle known dependences correctly.

* gcc.dg/torture/pr59038.c: New testcase.

From-SVN: r204561

11 years agocompiler: Correct types when type conversion makes backend call.
Ian Lance Taylor [Fri, 8 Nov 2013 05:46:22 +0000 (05:46 +0000)]
compiler: Correct types when type conversion makes backend call.

From-SVN: r204559

11 years agoRemove duplicate contents in gcc/config/rs6000/t-xilinx
Tom de Vries [Fri, 8 Nov 2013 00:38:08 +0000 (00:38 +0000)]
Remove duplicate contents in gcc/config/rs6000/t-xilinx

2013-11-08  Tom de Vries  <tom@codesourcery.com>

* config/rs6000/t-xilinx: Remove duplicate contents.

From-SVN: r204555

11 years agoDaily bump.
GCC Administrator [Fri, 8 Nov 2013 00:16:23 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r204554

11 years agoruntime: Fixes for Alpha.
Ian Lance Taylor [Thu, 7 Nov 2013 23:38:47 +0000 (23:38 +0000)]
runtime: Fixes for Alpha.

From-SVN: r204551

11 years agore PR fortran/58471 (ICE on invalid with missing type constructor and -Wall)
Janus Weil [Thu, 7 Nov 2013 22:39:15 +0000 (23:39 +0100)]
re PR fortran/58471 (ICE on invalid with missing type constructor and -Wall)

2013-11-07  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58471
* primary.c (gfc_expr_attr): Check for result symbol.

2013-11-07  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58471
* gfortran.dg/constructor_9.f90: New.

From-SVN: r204547

11 years agosfp-exceptions.c (__sfp_handle_exceptions): Rewrite FP_EX_INEXACT handling.
Uros Bizjak [Thu, 7 Nov 2013 21:53:54 +0000 (22:53 +0100)]
sfp-exceptions.c (__sfp_handle_exceptions): Rewrite FP_EX_INEXACT handling.

* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Rewrite
FP_EX_INEXACT handling.

From-SVN: r204546

11 years agoatomic-compare-exchange-1.c, [...]: Declare main as returning int.
Joseph Myers [Thu, 7 Nov 2013 21:20:18 +0000 (21:20 +0000)]
atomic-compare-exchange-1.c, [...]: Declare main as returning int.

* gcc.dg/atomic-compare-exchange-1.c,
gcc.dg/atomic-compare-exchange-2.c,
gcc.dg/atomic-compare-exchange-3.c,
gcc.dg/atomic-compare-exchange-4.c,
gcc.dg/atomic-compare-exchange-5.c, gcc.dg/atomic-exchange-1.c,
gcc.dg/atomic-exchange-2.c, gcc.dg/atomic-exchange-3.c,
gcc.dg/atomic-exchange-4.c, gcc.dg/atomic-exchange-5.c,
gcc.dg/atomic-fence.c, gcc.dg/atomic-flag.c,
gcc.dg/atomic-generic.c, gcc.dg/atomic-invalid.c,
gcc.dg/atomic-load-1.c, gcc.dg/atomic-load-2.c,
gcc.dg/atomic-load-3.c, gcc.dg/atomic-load-4.c,
gcc.dg/atomic-load-5.c, gcc.dg/atomic-lockfree.c,
gcc.dg/atomic-noinline.c, gcc.dg/atomic-op-1.c,
gcc.dg/atomic-op-2.c, gcc.dg/atomic-op-3.c, gcc.dg/atomic-op-4.c,
gcc.dg/atomic-op-5.c, gcc.dg/atomic-param.c,
gcc.dg/atomic-store-1.c, gcc.dg/atomic-store-2.c,
gcc.dg/atomic-store-3.c, gcc.dg/atomic-store-4.c,
gcc.dg/atomic-store-5.c: Declare main as returning int.
* gcc.dg/atomic-exchange-1.c, gcc.dg/atomic-exchange-2.c,
gcc.dg/atomic-exchange-3.c, gcc.dg/atomic-exchange-4.c,
gcc.dg/atomic-exchange-5.c: Separate increments of count from
expression using value of count.

From-SVN: r204545

11 years agotree-core.h (enum cv_qualifier): Add TYPE_QUAL_ATOMIC.
Joseph Myers [Thu, 7 Nov 2013 21:15:25 +0000 (21:15 +0000)]
tree-core.h (enum cv_qualifier): Add TYPE_QUAL_ATOMIC.

gcc:
2013-11-05  Andrew MacLeod  <amacleod@redhat.com>
    Joseph Myers  <joseph@codesourcery.com>

* tree-core.h (enum cv_qualifier): Add TYPE_QUAL_ATOMIC.
(enum tree_index): Add TI_ATOMICQI_TYPE, TI_ATOMICHI_TYPE,
TI_ATOMICSI_TYPE, TI_ATOMICDI_TYPE and TI_ATOMICTI_TYPE.
(struct tree_base): Add atomic_flag field.
* tree.h (TYPE_ATOMIC): New accessor macro.
(TYPE_QUALS, TYPE_QUALS_NO_ADDR_SPACE): Add TYPE_QUAL_ATOMIC.
(TYPE_QUALS_NO_ADDR_SPACE_NO_ATOMIC): New macro.
(atomicQI_type_node, atomicHI_type_node, atomicSI_type_node)
(atomicDI_type_node, atomicTI_type_node): New macros for type
nodes.
* tree.c (set_type_quals): Set TYPE_ATOMIC.
(find_atomic_core_type): New function.
(build_qualified_type): Adjust alignment for qualified types.
(build_atomic_base): New function
(build_common_tree_nodes): Build atomicQI_type_node,
atomicHI_type_node, atomicSI_type_node, atomicDI_type_node and
atomicTI_type_node.
* print-tree.c (print_node): Print atomic qualifier.
* tree-pretty-print.c (dump_generic_node): Print atomic type
attribute.
* target.def (atomic_assign_expand_fenv): New hook.
* doc/tm.texi.in (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New @hook.
* doc/tm.texi: Regenerate.
* targhooks.c (default_atomic_assign_expand_fenv): New function.
* targhooks.h (default_atomic_assign_expand_fenv): Declare.
* sync-builtins.def (__atomic_feraiseexcept): New built-in
function.
* config/i386/i386-builtin-types.def (VOID_FTYPE_PUSHORT): New
function type.
* config/i386/i386.c (enum ix86_builtins): Add
IX86_BUILTIN_FNSTENV, IX86_BUILTIN_FLDENV, IX86_BUILTIN_FNSTSW and
IX86_BUILTIN_FNCLEX.
(bdesc_special_args): Add __builtin_ia32_fnstenv,
__builtin_ia32_fldenv, __builtin_ia32_fnstsw and
__builtin_ia32_fnclex.
(ix86_expand_builtin): Handle the new built-in functions.
(ix86_atomic_assign_expand_fenv): New function.
(TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New macro.
* config/i386/i386.md (UNSPECV_FNSTENV, UNSPECV_FLDENV)
(UNSPECV_FNSTSW, UNSPECV_FNCLEX): New unspecs.
(fnstenv, fldenv, fnstsw, fnclex): New insns.

gcc/c-family:
2013-11-05  Andrew MacLeod  <amacleod@redhat.com>
    Joseph Myers  <joseph@codesourcery.com>

* c-common.h (enum rid): Add RID_ATOMIC.
* c-common.c (c_common_reswords): Add _Atomic.
(sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
(keyword_is_type_qualifier): Accept RID_ATOMIC.
* c-format.c (check_format_types): Check for extra _Atomic
qualifiers in format argument.
* c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
(pp_c_type_qualifier_list): Mention _Atomic in comment.

gcc/c:
2013-11-05  Joseph Myers  <joseph@codesourcery.com>
    Andrew MacLeod  <amacleod@redhat.com>

* c-aux-info.c (gen_type): Handle atomic qualifier.
* c-decl.c (validate_proto_after_old_defn): Do not remove atomic
qualifiers when compating types.
(shadow_tag_warned): Handle atomic_p in declspecs.
(quals_from_declspecs): Likewise.
(start_decl): Use c_type_promotes_to when promoting argument
types.
(grokdeclarator): Handle _Atomic.
(get_parm_info): Diagnose any qualifier on "void" as only
parameter.
(store_parm_decls_oldstyle): Do not remove atomic qualifiers when
comparing types.  Use c_type_promotes_to when promoting argument
types.
(finish_function): Use c_type_promotes_to when promoting argument
types.
(build_null_declspecs): Handle atomic_p in declspecs.
(declspecs_add_qual): Handle RID_ATOMIC.
* c-parser.c (c_token_starts_typename, c_token_is_qualifier)
(c_token_starts_declspecs): Handle RID_ATOMIC.
(c_parser_declspecs): Handle atomic type specifiers and
qualifiers.
(c_parser_typeof_specifier): Remove const and _Atomic qualifiers
from types of expressions with atomic type.
(c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
(c_parser_attribute_any_word): Handle RID_ATOMIC.
(c_parser_initializer, c_parser_initelt, c_parser_initval)
(c_parser_statement_after_labels, c_parser_switch_statement)
(c_parser_for_statement, c_parser_expr_no_commas)
(c_parser_conditional_expression, c_parser_binary_expression)
(c_parser_cast_expression, c_parser_unary_expression)
(c_parser_postfix_expression)
(c_parser_postfix_expression_after_primary, c_parser_expression):
Use convert_lvalue_to_rvalue.
(c_parser_expression_conv, c_parser_expr_list): Document
conversion of lvalues to rvalues.  Use convert_lvalue_to_rvalue.
(c_parser_objc_synchronized_statement): Use
convert_lvalue_to_rvalue.
(c_parser_objc_selector): Handle RID_ATOMIC.
(c_parser_objc_receiver, c_parser_array_notation): Use
convert_lvalue_to_rvalue.
* c-tree.h (ctsk_typeof): Adjust comment to mention use for
_Atomic (type-name).
(struct c_declspecs): Add atomic_p field.
(convert_lvalue_to_rvalue): Declare.
* c-typeck.c (c_type_promotes_to): Promote atomic types to
corresponding atomic types.
(qualify_type): Don't add _Atomic qualifiers from second argument.
(comp_target_types): Do not allow _Atomic mismatches.
(type_lists_compatible_p): Do not remove atomic qualifiers when
comparing types.
(really_atomic_lvalue, convert_lvalue_to_rvalue)
(build_atomic_assign): New functions.
(build_unary_op): Use build_atomic_assign for atomic increment and
decrement.
(build_conditional_expr): Do not treat _Atomic void as a qualified
version of void.
(build_modify_expr): Use build_atomic_assign for atomic LHS.
(find_anonymous_field_with_type, convert_to_anonymous_field)
(convert_for_assignment): Do not remove atomic qualifiers when
comparing types.
(digest_init): Do not accept initialization of arrays of atomic
elements by string constants.
(build_asm_expr): Use convert_lvalue_to_rvalue.
(build_binary_op): Do not treat _Atomic void as a qualified
version of void.

gcc/objc:
2013-11-05  Andrew MacLeod  <amacleod@redhat.com>

* objc-act.c (objc_push_parm): Handle atomic qualifier.

gcc/testsuite:
2013-11-05  Joseph Myers  <joseph@codesourcery.com>

* lib/target-supports.exp
(check_effective_target_fenv_exceptions): New function.
* lib/atomic-dg.exp, gcc.dg/atomic/atomic.exp: New files.
* gcc.dg/atomic/c11-atomic-exec-1.c,
gcc.dg/atomic/c11-atomic-exec-2.c,
gcc.dg/atomic/c11-atomic-exec-3.c,
gcc.dg/atomic/c11-atomic-exec-4.c,
gcc.dg/atomic/c11-atomic-exec-5.c, gcc.dg/c11-atomic-1.c,
gcc.dg/c11-atomic-2.c, gcc.dg/c11-atomic-3.c,
gcc.dg/c90-atomic-1.c, gcc.dg/c99-atomic-1.c: New tests.

libatomic:
2013-11-05  Joseph Myers  <joseph@codesourcery.com>

* fenv.c: New file.
* libatomic.map (LIBATOMIC_1.1): New symbol version.  Include
__atomic_feraiseexcept.
* configure.ac (libtool_VERSION): Change to 2:0:1.
(fenv.h): Test for header.
* Makefile.am (libatomic_la_SOURCES): Add fenv.c.
* Makefile.in, auto-config.h.in, configure: Regenerate.

From-SVN: r204544

11 years agomti-linux.h (SYSROOT_SUFFIX_SPEC): Add fp64 directory.
Steve Ellcey [Thu, 7 Nov 2013 20:42:51 +0000 (20:42 +0000)]
mti-linux.h (SYSROOT_SUFFIX_SPEC): Add fp64 directory.

2013-11-07  Steve Ellcey  <sellcey@mips.com>

* config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Add fp64 directory.
* config/mips/t-mti-linux (MULTILIB_OPTIONS): Add -mfp64 flag.
(MULTILIB_DIRNAMES): Add fp64 directory.
(MULTILIB_EXCEPTIONS): Add new exclusions.

From-SVN: r204542

11 years agogimplify.c (gimple_regimplify_operands): Do not set SSA_NAME_DEF_STMT.
Aldy Hernandez [Thu, 7 Nov 2013 20:20:48 +0000 (20:20 +0000)]
gimplify.c (gimple_regimplify_operands): Do not set SSA_NAME_DEF_STMT.

* gimplify.c (gimple_regimplify_operands): Do not set
SSA_NAME_DEF_STMT.
* graphite-sese-to-poly.c (remove_simple_copy_phi): Same.
(rewrite_close_phi_out_of_ssa): Same.
(rewrite_phi_out_of_ssa): Same.
(rewrite_degenerate_phi): Same.
(handle_scalar_deps_crossing_scop_limits): Same.
* tree-if-conv.c (predicate_scalar_phi): Same.
* tree-parloops.c (create_loads_for_reductions): Same.
(create_final_loads_for_reduction): Same.
(create_loads_and_stores_for_name): Same.
(transform_to_exit_first_loop): Same.
(create_parallel_loop): Same.
* tree-ssa-loop-im.c
(move_computations_dom_walker::before_dom_children): Same.
* tree-ssa-loop-manip.c (rewrite_phi_with_iv): Same.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Same.
* tree-ssa-propagate.c (substitute_and_fold): Same.
* tree-vect-loop.c (vect_finalize_reduction): Same.
* tree-vect-stmts.c (vectorizable_call): Same.

From-SVN: r204541

11 years agosfp-exceptions.c (__sfp_handle_exceptions): Handle FP_EX_DENORM.
Uros Bizjak [Thu, 7 Nov 2013 19:45:28 +0000 (20:45 +0100)]
sfp-exceptions.c (__sfp_handle_exceptions): Handle FP_EX_DENORM.

* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Handle
FP_EX_DENORM.  Store result to volatile location after SSE division
to close interrupt window.  Remove unneeded fwait after x87
division since interrupt window will be closed by emitted fstp.

From-SVN: r204540

11 years agopdp11.c: Include dbxout.h.
Mike Stump [Thu, 7 Nov 2013 19:35:03 +0000 (19:35 +0000)]
pdp11.c: Include dbxout.h.

* config/pdp11/pdp11.c: Include dbxout.h.
* config/picochip/picochip.c: Likewise.

From-SVN: r204539

11 years agore PR tree-optimization/56764 (vect_prune_runtime_alias_test_list not smart enough)
Cong Hou [Thu, 7 Nov 2013 19:29:45 +0000 (14:29 -0500)]
re PR tree-optimization/56764 (vect_prune_runtime_alias_test_list not smart enough)

2013-11-07  Cong Hou  <congh@google.com>

PR tree-optimization/56764
* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
   Combine alias checks if it is possible to amortize the runtime
   overhead.  Return the number of alias checks after merging.
   * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
     Use the function vect_create_cond_for_alias_checks () to check
     the number of alias checks.

2013-11-07  Cong Hou  <congh@google.com>

     * gcc.dg/vect/vect-alias-check.c: New.

From-SVN: r204538

11 years ago* varpool.c (ctor_for_folding): Fix typo in comment.
Jeff Law [Thu, 7 Nov 2013 19:26:25 +0000 (12:26 -0700)]
* varpool.c (ctor_for_folding): Fix typo in comment.

From-SVN: r204537

11 years agoMakefile.in: Regenerate.
Thomas Schwinge [Thu, 7 Nov 2013 18:09:31 +0000 (19:09 +0100)]
Makefile.in: Regenerate.

* Makefile.in: Regenerate.

Follow-up to r204173.

From-SVN: r204536

11 years agoarc.c (arc_ifcvt): Use commutativity, e.g.: reg_a := reg_b + reg_a ==> reg_a := reg_a...
Joern Rennecke [Thu, 7 Nov 2013 17:37:11 +0000 (17:37 +0000)]
arc.c (arc_ifcvt): Use commutativity, e.g.: reg_a := reg_b + reg_a ==> reg_a := reg_a + reg_b

        * config/arc/arc.c (arc_ifcvt): Use commutativity, e.g.:
        reg_a := reg_b + reg_a  ==>  reg_a := reg_a + reg_b

From-SVN: r204534

11 years agoinvoke.texi (-fisolate-erroneous-paths): Document.
Jeff Law [Thu, 7 Nov 2013 17:05:18 +0000 (10:05 -0700)]
invoke.texi (-fisolate-erroneous-paths): Document.

* doc/invoke.texi (-fisolate-erroneous-paths): Document.

* gimple-ssa-isolate-paths.c (gate_isolate_erroneous_paths):
No longer check if we have __builtin_trap, assume it's
available.

java/

* builtins.c (initialize_builtins): Provide __builtin_trap.

From-SVN: r204533

11 years agosourcebuild.texi (Top Level): GNU ld can use linker plugins, too.
Thomas Schwinge [Thu, 7 Nov 2013 15:08:22 +0000 (16:08 +0100)]
sourcebuild.texi (Top Level): GNU ld can use linker plugins, too.

gcc/
* doc/sourcebuild.texi (Top Level) <lto-plugin>: GNU ld can use
linker plugins, too.

From-SVN: r204521

11 years agoMakefile.tpl: Fix typo.
Thomas Schwinge [Thu, 7 Nov 2013 15:08:10 +0000 (16:08 +0100)]
Makefile.tpl: Fix typo.

* Makefile.tpl: Fix typo.
* Makefile.in: Regenerate.

From-SVN: r204520

11 years agolibgomp: Prepare for testcases without -fopenmp.
Thomas Schwinge [Thu, 7 Nov 2013 15:07:58 +0000 (16:07 +0100)]
libgomp: Prepare for testcases without -fopenmp.

libgomp/
* testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
ALWAYS_CFLAGS.
* testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
* testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
* testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
* testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
Likewise.

From-SVN: r204519

11 years agoAdd missing include.
Thomas Schwinge [Thu, 7 Nov 2013 15:07:46 +0000 (16:07 +0100)]
Add missing include.

libgomp/
* libgomp_g.h: Include <stddef.h> for size_t.

From-SVN: r204518

11 years agoGenerally link to libgomp for -ftree-parallelize-loops=*.
Thomas Schwinge [Thu, 7 Nov 2013 15:07:34 +0000 (16:07 +0100)]
Generally link to libgomp for -ftree-parallelize-loops=*.

gcc/
* config/arc/arc.h (LINK_COMMAND_SPEC): For
-ftree-parallelize-loops=*, link to libgomp and its dependencies.
* config/ia64/hpux.h (LIB_SPEC): Likewise.
* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
* config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
* gcc.c (GOMP_SELF_SPECS): Update comment about libgomp's
dependencies.
libgomp/
* libgomp.spec.in: Update comment about libgomp's dependencies.
* configure.ac: Likewise.
* configure: Regenerate.

From-SVN: r204517

11 years agotree-ssa-loop-niter.c: Include tree-ssanames.h.
Jakub Jelinek [Thu, 7 Nov 2013 14:31:00 +0000 (15:31 +0100)]
tree-ssa-loop-niter.c: Include tree-ssanames.h.

* tree-ssa-loop-niter.c: Include tree-ssanames.h.
(determine_value_range): Add loop argument.  Use get_range_info to
improve range.
(bound_difference): Adjust caller.

* gcc.dg/tree-ssa/loop-39.c: New test.

From-SVN: r204516

11 years agotree-vrp.c (find_assert_locations): Pre-seed live bitmaps for loop latches from heade...
Jakub Jelinek [Thu, 7 Nov 2013 14:28:57 +0000 (15:28 +0100)]
tree-vrp.c (find_assert_locations): Pre-seed live bitmaps for loop latches from header PHI arguments from the latch...

* tree-vrp.c (find_assert_locations): Pre-seed live bitmaps for loop
latches from header PHI arguments from the latch edge.

        * gcc.dg/unroll_1.c: Add -fno-tree-vrp to dg-options.
        * gcc.dg/unroll_2.c: Likewise.
        * gcc.dg/unroll_3.c: Likewise.
        * gcc.dg/unroll_4.c: Likewise.
* gcc.dg/vrp90.c: New test.

From-SVN: r204515

11 years agore PR c++/58176 (ICE in output_constant, at varasm.c:4658)
Paolo Carlini [Thu, 7 Nov 2013 14:26:17 +0000 (14:26 +0000)]
re PR c++/58176 (ICE in output_constant, at varasm.c:4658)

2013-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58176
* varasm.c (output_constant): Handle NULLPTR_TYPE.

/testsuite
2013-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58176
* g++.dg/cpp0x/nullptr30.C: New.

From-SVN: r204514

11 years agoDon't set misaligned_prologue_used twice
H.J. Lu [Thu, 7 Nov 2013 13:59:22 +0000 (13:59 +0000)]
Don't set misaligned_prologue_used twice

* config/i386/i386.c (ix86_expand_set_or_movmem): Don't set
misaligned_prologue_used when it has been set.

From-SVN: r204512

11 years agoFixed typo in ChangeLog.
Yury Gribov [Thu, 7 Nov 2013 12:55:42 +0000 (12:55 +0000)]
Fixed typo in ChangeLog.

From-SVN: r204509

11 years agoAllow integer literals as addresses in instrumented builtins.
Yury Gribov [Thu, 7 Nov 2013 12:04:45 +0000 (12:04 +0000)]
Allow integer literals as addresses in instrumented builtins.

gcc/
PR sanitizer/59029
* gcc/asan.c (get_mem_refs_of_builtin_call): Allow
integer literals as addresses in instrumented builtins.

gcc-testsuite/
PR sanitizer/59029
* c-c++-common/asan/pr59029.c: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r204508

11 years agoaarch64.c (aarch64_legitimize_reload_address): Explain why plus_constant is not used.
Kyrylo Tkachov [Thu, 7 Nov 2013 11:44:04 +0000 (11:44 +0000)]
aarch64.c (aarch64_legitimize_reload_address): Explain why plus_constant is not used.

* config/aarch64/aarch64.c (aarch64_legitimize_reload_address):
Explain why plus_constant is not used.

From-SVN: r204507

11 years agotree-ssa-ccp.c (canonicalize_float_value): Rename to ...
Richard Biener [Thu, 7 Nov 2013 11:33:03 +0000 (11:33 +0000)]
tree-ssa-ccp.c (canonicalize_float_value): Rename to ...

2013-11-07  Richard Biener  <rguenther@suse.de>

* tree-ssa-ccp.c (canonicalize_float_value): Rename to ...
(canonicalize_value): ... this.  Also handle stripping of
TREE_OVERFLOW.
(get_value, set_lattice_value, get_value_for_expr): Adjust.
* gimple-fold.c (canonicalize_constructor_val): Strip
TREE_OVERFLOW.
* tree-ssa-threadedge.c (set_ssa_name_value): Likewise.

From-SVN: r204506

11 years agotree-dfa.c (get_ref_base_and_extent): Fix casting.
Richard Biener [Thu, 7 Nov 2013 11:28:42 +0000 (11:28 +0000)]
tree-dfa.c (get_ref_base_and_extent): Fix casting.

2013-11-07  Richard Biener  <rguenther@suse.de>

* tree-dfa.c (get_ref_base_and_extent): Fix casting.

From-SVN: r204505

11 years agoUse Pmode with stack_pointer_rtx
H.J. Lu [Thu, 7 Nov 2013 09:58:05 +0000 (09:58 +0000)]
Use Pmode with stack_pointer_rtx

gcc/

PR target/59034
* config/i386/i386.md (push peepholer/splitter): Use Pmode
with stack_pointer_rtx.

gcc/testsuite/

PR target/59034
* gcc.target/i386/pr59034-1.c: New test.
* gcc.target/i386/pr59034-2.c: Likewise.

From-SVN: r204501

11 years agotree-ssa-loop-ivopts.c (get_shiftadd_cost): Check equality using operand_equal_p.
Bin Cheng [Thu, 7 Nov 2013 08:34:02 +0000 (08:34 +0000)]
tree-ssa-loop-ivopts.c (get_shiftadd_cost): Check equality using operand_equal_p.

* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Check equality
using operand_equal_p.

From-SVN: r204498

11 years agotree-ssa-loop-ivopts.c (alloc_iv): Lower address expressions.
Bin Cheng [Thu, 7 Nov 2013 08:12:34 +0000 (08:12 +0000)]
tree-ssa-loop-ivopts.c (alloc_iv): Lower address expressions.

* tree-ssa-loop-ivopts.c (alloc_iv): Lower address expressions.
* tree-affine.c (get_inner_reference_aff): Return base.
* tree-affine.h (get_inner_reference_aff): Change prototype.

* gcc.dg/tree-ssa/loop-2.c: Refine check condition.
* gcc.dg/tree-ssa/ivopt_infer_2.c: Ditto.
* gcc.dg/tree-ssa/ivopt_mult_3.c: Ditto.

From-SVN: r204497

11 years agoDaily bump.
GCC Administrator [Thu, 7 Nov 2013 00:17:04 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r204496

11 years agoc-decl.c (locate_old_decl): If a previous conflicting decl is both explicit and built...
DJ Delorie [Wed, 6 Nov 2013 23:33:33 +0000 (18:33 -0500)]
c-decl.c (locate_old_decl): If a previous conflicting decl is both explicit and builtin...

* c-decl.c (locate_old_decl): If a previous conflicting decl is
both explicit and builtin, print the location of the explicit one.

* gcc.dg/mismatch-decl-1.c: New test.

From-SVN: r204491

11 years agoRevert "preprocessor/58580 - preprocessor goes OOM with warning for zero literals"
Dodji Seketeli [Wed, 6 Nov 2013 22:51:36 +0000 (23:51 +0100)]
Revert "preprocessor/58580 - preprocessor goes OOM with warning for zero literals"

This reverts commit fc3eff8854861fcd70d33d26095b17fe456fae31.

From-SVN: r204490

11 years agofloat128-cmp-invalid.c, [...]: New tests.
Joseph Myers [Wed, 6 Nov 2013 22:46:39 +0000 (22:46 +0000)]
float128-cmp-invalid.c, [...]: New tests.

gcc/testsuite:
* gcc.dg/torture/float128-cmp-invalid.c,
gcc.dg/torture/float128-div-underflow.c,
gcc.dg/torture/float128-extend-nan.c,
gcc.dg/torture/fp-int-convert-float128-timode-3.c: New tests.

libgcc:
* soft-fp/README: Update.
* soft-fp/adddf3.c: Update from glibc.
* soft-fp/addsf3.c: Likewise.
* soft-fp/addtf3.c: Likewise.
* soft-fp/divdf3.c: Likewise.
* soft-fp/divsf3.c: Likewise.
* soft-fp/divtf3.c: Likewise.
* soft-fp/double.h: Likewise.
* soft-fp/eqdf2.c: Likewise.
* soft-fp/eqsf2.c: Likewise.
* soft-fp/eqtf2.c: Likewise.
* soft-fp/extenddftf2.c: Likewise.
* soft-fp/extended.h: Likewise.
* soft-fp/extendsfdf2.c: Likewise.
* soft-fp/extendsftf2.c: Likewise.
* soft-fp/extendxftf2.c: Likewise.
* soft-fp/fixdfdi.c: Likewise.
* soft-fp/fixdfsi.c: Likewise.
* soft-fp/fixdfti.c: Likewise.
* soft-fp/fixsfdi.c: Likewise.
* soft-fp/fixsfsi.c: Likewise.
* soft-fp/fixsfti.c: Likewise.
* soft-fp/fixtfdi.c: Likewise.
* soft-fp/fixtfsi.c: Likewise.
* soft-fp/fixtfti.c: Likewise.
* soft-fp/fixunsdfdi.c: Likewise.
* soft-fp/fixunsdfsi.c: Likewise.
* soft-fp/fixunsdfti.c: Likewise.
* soft-fp/fixunssfdi.c: Likewise.
* soft-fp/fixunssfsi.c: Likewise.
* soft-fp/fixunssfti.c: Likewise.
* soft-fp/fixunstfdi.c: Likewise.
* soft-fp/fixunstfsi.c: Likewise.
* soft-fp/fixunstfti.c: Likewise.
* soft-fp/floatdidf.c: Likewise.
* soft-fp/floatdisf.c: Likewise.
* soft-fp/floatditf.c: Likewise.
* soft-fp/floatsidf.c: Likewise.
* soft-fp/floatsisf.c: Likewise.
* soft-fp/floatsitf.c: Likewise.
* soft-fp/floattidf.c: Likewise.
* soft-fp/floattisf.c: Likewise.
* soft-fp/floattitf.c: Likewise.
* soft-fp/floatundidf.c: Likewise.
* soft-fp/floatundisf.c: Likewise.
* soft-fp/floatunditf.c: Likewise.
* soft-fp/floatunsidf.c: Likewise.
* soft-fp/floatunsisf.c: Likewise.
* soft-fp/floatunsitf.c: Likewise.
* soft-fp/floatuntidf.c: Likewise.
* soft-fp/floatuntisf.c: Likewise.
* soft-fp/floatuntitf.c: Likewise.
* soft-fp/gedf2.c: Likewise.
* soft-fp/gesf2.c: Likewise.
* soft-fp/getf2.c: Likewise.
* soft-fp/ledf2.c: Likewise.
* soft-fp/lesf2.c: Likewise.
* soft-fp/letf2.c: Likewise.
* soft-fp/muldf3.c: Likewise.
* soft-fp/mulsf3.c: Likewise.
* soft-fp/multf3.c: Likewise.
* soft-fp/negdf2.c: Likewise.
* soft-fp/negsf2.c: Likewise.
* soft-fp/negtf2.c: Likewise.
* soft-fp/op-1.h: Likewise.
* soft-fp/op-2.h: Likewise.
* soft-fp/op-4.h: Likewise.
* soft-fp/op-8.h: Likewise.
* soft-fp/op-common.h: Likewise.
* soft-fp/quad.h: Likewise.
* soft-fp/single.h: Likewise.
* soft-fp/soft-fp.h: Likewise.
* soft-fp/subdf3.c: Likewise.
* soft-fp/subsf3.c: Likewise.
* soft-fp/subtf3.c: Likewise.
* soft-fp/truncdfsf2.c: Likewise.
* soft-fp/trunctfdf2.c: Likewise.
* soft-fp/trunctfsf2.c: Likewise.
* soft-fp/trunctfxf2.c: Likewise.
* soft-fp/unorddf2.c: Likewise.
* soft-fp/unordsf2.c: Likewise.
* soft-fp/unordtf2.c: Likewise.

From-SVN: r204489

11 years agopr51244-11.c: Remove target line.
Oleg Endo [Wed, 6 Nov 2013 22:33:01 +0000 (22:33 +0000)]
pr51244-11.c: Remove target line.

* gcc.target/sh/pr51244-11.c: Remove target line.
* gcc.target/sh/sh4a-sincosf.c: Likewise.
* gcc.target/sh/attr-isr-trap_exit.c: Likewise.
* gcc.target/sh/pr51244-15.c: Likewise.
* gcc.target/sh/pr51244-19.c: Likewise.
* gcc.target/sh/cmpstr.c: Likewise.
* gcc.target/sh/pr33135-3.c: Likewise.
* gcc.target/sh/pr53512-2.c: Likewise.
* gcc.target/sh/pr54602-2.c: Likewise.
* gcc.target/sh/pr52483-1.c: Likewise.
* gcc.target/sh/pr21255-2-ml.c: Likewise.
* gcc.target/sh/pr54760-4.c: Likewise.
* gcc.target/sh/pr52483-5.c: Likewise.
* gcc.target/sh/pr54089-2.c: Likewise.
* gcc.target/sh/pr56547-2.c: Likewise.
* gcc.target/sh/pr54089-6.c: Likewise.
* gcc.target/sh/pr51244-20.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-4.c: Likewise.
* gcc.target/sh/sh4a-fsrra.c: Likewise.
* gcc.target/sh/pr50749-qihisi-predec-1.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-2.c: Likewise.
* gcc.target/sh/pr55303-2.c: Likewise.
* gcc.target/sh/sh2a-resbank.c: Likewise.
* gcc.target/sh/sp-switch.c: Likewise.
* gcc.target/sh/pr51244-3.c: Likewise.
* gcc.target/sh/pr50751-3.c: Likewise.
* gcc.target/sh/pr51244-7.c: Likewise.
* gcc.target/sh/struct-arg-dw2.c: Likewise.
* gcc.target/sh/pr50751-7.c: Likewise.
* gcc.target/sh/pr49468-di.c: Likewise.
* gcc.target/sh/pr50749-qihisi-postinc-4.c: Likewise.
* gcc.target/sh/pr49880-3.c: Likewise.
* gcc.target/sh/pr51244-12.c: Likewise.
* gcc.target/sh/pr53988.c: Likewise.
* gcc.target/sh/pr6526.c: Likewise.
* gcc.target/sh/sh2a-bxor.c: Likewise.
* gcc.target/sh/pr51244-16.c: Likewise.
* gcc.target/sh/sh2a-bclrmem.c: Likewise.
* gcc.target/sh/sh2a-bor.c: Likewise.
* gcc.target/sh/pr53511-1.c: Likewise.
* gcc.target/sh/pr21255-3.c: Likewise.
* gcc.target/sh/pr53512-3.c: Likewise.
* gcc.target/sh/pr33135-4.c: Likewise.
* gcc.target/sh/pr54602-3.c: Likewise.
* gcc.target/sh/pr54760-1.c: Likewise.
* gcc.target/sh/pr52483-2.c: Likewise.
* gcc.target/sh/sh2a-bsetmem.c: Likewise.
* gcc.target/sh/pr54680.c: Likewise.
* gcc.target/sh/pr54386.c: Likewise.
* gcc.target/sh/pr51244-20-sh2a.c: Likewise.
* gcc.target/sh/pr54089-3.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-1.c: Likewise.
* gcc.target/sh/pr54089-7.c: Likewise.
* gcc.target/sh/strlen.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-3.c: Likewise.
* gcc.target/sh/pr50749-qihisi-predec-2.c: Likewise.
* gcc.target/sh/pr55303-3.c: Likewise.
* gcc.target/sh/pr51244-4.c: Likewise.
* gcc.target/sh/pr50751-4.c: Likewise.
* gcc.target/sh/pr39423-1.c: Likewise.
* gcc.target/sh/pr51244-8.c: Likewise.
* gcc.target/sh/pr55146.c: Likewise.
* gcc.target/sh/pr50751-8.c: Likewise.
* gcc.target/sh/sh2a-bset.c: Likewise.
* gcc.target/sh/pr50749-qihisi-postinc-1.c: Likewise.
* gcc.target/sh/sh2a-movi20s.c: Likewise.
* gcc.target/sh/20080410-1.c: Likewise.
* gcc.target/sh/pr49880-4.c: Likewise.
* gcc.target/sh/pr51244-13.c: Likewise.
* gcc.target/sh/sh2a-movrt.c: Likewise.
* gcc.target/sh/pr51244-17.c: Likewise.
* gcc.target/sh/pr21255-2-mb.c: Likewise.
* gcc.target/sh/sh2a-bclr.c: Likewise.
* gcc.target/sh/pr33135-1.c: Likewise.
* gcc.target/sh/pr53512-4.c: Likewise.
* gcc.target/sh/pr54602-4.c: Likewise.
* gcc.target/sh/sh4a-bitmovua.c: Likewise.
* gcc.target/sh/pr54760-2.c: Likewise.
* gcc.target/sh/pr52483-3.c: Likewise.
* gcc.target/sh/sh2a-bld.c: Likewise.
* gcc.target/sh/pr54089-4.c: Likewise.
* gcc.target/sh/pr54685.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-2.c: Likewise.
* gcc.target/sh/pr54089-8.c: Likewise.
* gcc.target/sh/pragma-isr-trap-exit.c: Likewise.
* gcc.target/sh/pr50749-qihisi-predec-3.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-4.c: Likewise.
* gcc.target/sh/pr51244-1.c: Likewise.
* gcc.target/sh/pr50751-1.c: Likewise.
* gcc.target/sh/pr55160.c: Likewise.
* gcc.target/sh/pr51244-5.c: Likewise.
* gcc.target/sh/pr54236-1.c: Likewise.
* gcc.target/sh/pr50751-5.c: Likewise.
* gcc.target/sh/pr52933-1.c: Likewise.
* gcc.target/sh/pr39423-2.c: Likewise.
* gcc.target/sh/pr51244-9.c: Likewise.
* gcc.target/sh/pr49263.c: Likewise.
* gcc.target/sh/pr50749-qihisi-postinc-2.c: Likewise.
* gcc.target/sh/pr49880-1.c: Likewise.
* gcc.target/sh/sh2a-band.c: Likewise.
* gcc.target/sh/pr51244-10.c: Likewise.
* gcc.target/sh/pr49880-5.c: Likewise.
* gcc.target/sh/prefetch.c: Likewise.
* gcc.target/sh/pr51244-14.c: Likewise.
* gcc.target/sh/rte-delay-slot.c: Likewise.
* gcc.target/sh/fpul-usage-1.c: Likewise.
* gcc.target/sh/pr51244-18.c: Likewise.
* gcc.target/sh/pr21255-1.c: Likewise.
* gcc.target/sh/pr33135-2.c: Likewise.
* gcc.target/sh/pr53512-1.c: Likewise.
* gcc.target/sh/pr54602-1.c: Likewise.
* gcc.target/sh/sh2a-rtsn.c: Likewise.
* gcc.target/sh/torture/pragma-isr.c: Likewise.
* gcc.target/sh/torture/pragma-isr2.c: Likewise.
* gcc.target/sh/torture/pr58314.c: Likewise.
* gcc.target/sh/torture/pr34777.c: Likewise.
* gcc.target/sh/torture/pr58475.c: Likewise.
* gcc.target/sh/pr54760-3.c: Likewise.
* gcc.target/sh/sh4a-cosf.c: Likewise.
* gcc.target/sh/pr52483-4.c: Likewise.
* gcc.target/sh/mfmovd.c: Likewise.
* gcc.target/sh/pr54089-1.c: Likewise.
* gcc.target/sh/pr56547-1.c: Likewise.
* gcc.target/sh/pr54089-5.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-3.c: Likewise.
* gcc.target/sh/pr54089-9.c: Likewise.
* gcc.target/sh/sh2a-jsrn.c: Likewise.
* gcc.target/sh/pr49468-si.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-1.c: Likewise.
* gcc.target/sh/pr50749-qihisi-predec-4.c: Likewise.
* gcc.target/sh/pr55303-1.c: Likewise.
* gcc.target/sh/pr51244-2.c: Likewise.
* gcc.target/sh/pr50751-2.c: Likewise.
* gcc.target/sh/pr54236-2.c: Likewise.
* gcc.target/sh/pr51244-6.c: Likewise.
* gcc.target/sh/cmpstrn.c: Likewise.
* gcc.target/sh/pr50751-6.c: Likewise.
* gcc.target/sh/pr52933-2.c: Likewise.
* gcc.target/sh/pr53568-1.c: Likewise.
* gcc.target/sh/pr50749-qihisi-postinc-3.c: Likewise.
* gcc.target/sh/sh2a-tbr-jump.c: Likewise.
* gcc.target/sh/sh4a-sinf.c: Likewise.
* gcc.target/sh/pr49880-2.c: Likewise.

From-SVN: r204487

11 years agomacro.c (_cpp_builtin_macro_text): Correct wording of two warnings.
Tobias Burnus [Wed, 6 Nov 2013 22:28:08 +0000 (23:28 +0100)]
macro.c (_cpp_builtin_macro_text): Correct wording of two warnings.

libcpp/
2013-11-06  Tobias Burnus  <burnus@net-b.de>

        * macro.c (_cpp_builtin_macro_text): Correct
        wording of two warnings.

gcc/c-family/
2013-11-06  Tobias Burnus  <burnus@net-b.de>

        * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.

gcc/
2013-11-06  Tobias Burnus  <burnus@net-b.de>

        * doc/invoke.texi (Wdate-time): Fix typo.

gcc/testsuite/
2013-11-06  Tobias Burnus  <burnus@net-b.de>

        * g++.dg/warn/wdate-time.C: Update dg-error pattern.
        * gcc.dg/wdate-time.c: Ditto.
        * gfortran.dg/wdate-time.F90: Ditto.

From-SVN: r204486

11 years agoCheck __x86_64__ for FPU state
H.J. Lu [Wed, 6 Nov 2013 21:52:29 +0000 (21:52 +0000)]
Check __x86_64__ for FPU state

PR sanitizer/59018
* sanitizer_common/sanitizer_platform_limits_posix.cc
(struct_user_fpxregs_struct_sz): Initialize to 0 if __x86_64__ is
defined.

From-SVN: r204483

11 years agoUse 64-bit system types for x86-64
H.J. Lu [Wed, 6 Nov 2013 21:51:41 +0000 (21:51 +0000)]
Use 64-bit system types for x86-64

PR sanitizer/59018
* sanitizer_common/sanitizer_platform_limits_linux.cc
(struct_kernel_stat64_sz): Initialize to 0 if __x86_64__ is
defined.
* sanitizer_common/sanitizer_platform_limits_posix.h
(__sanitizer_dirent): Use 64-bit d_ino/d_off if __x86_64__ is
defined.
(__sanitizer___kernel_uid_t): Typedef as unsigned if __x86_64__
is defined.
(__sanitizer___kernel_gid_t): Likewise.
(__sanitizer___kernel_off_t): Typedef as long long if __x86_64__
is defined.

From-SVN: r204482

11 years agoFix internal_clone for x32
H.J. Lu [Wed, 6 Nov 2013 21:50:42 +0000 (21:50 +0000)]
Fix internal_clone for x32

PR sanitizer/59018
* sanitizer_common/sanitizer_linux.cc (internal_clone): Allocate
2 64-bit integers to save and restore fn and arg.  Properly load
newtls/child_tidptr into r8/r10.

From-SVN: r204481

11 years agoCast pointers to uptr for 64-bit syscalls
H.J. Lu [Wed, 6 Nov 2013 21:49:36 +0000 (21:49 +0000)]
Cast pointers to uptr for 64-bit syscalls

PR sanitizer/59018
* sanitizer_common/sanitizer_linux.cc (internal_mmap,
internal_munmap, internal_open, internal_read, internal_write,
internal_stat, internal_lstat, internal_fstat, internal_readlink,
internal_unlink, internal_execve, NanoTime, BlockingMutex::Lock,
BlockingMutex::Unlock, internal_ptrace, internal_getdents,
internal_sigaltstack): Cast pointers to uptr for 64-bit syscalls.

From-SVN: r204480

11 years agoFix spacing.
Mike Stump [Wed, 6 Nov 2013 21:03:19 +0000 (21:03 +0000)]
Fix spacing.

From-SVN: r204479

11 years agosh.md (addsf3, [...]): Use fp_arith_reg_operand instead of arith_reg_operand.
Oleg Endo [Wed, 6 Nov 2013 20:37:45 +0000 (20:37 +0000)]
sh.md (addsf3, [...]): Use fp_arith_reg_operand instead of arith_reg_operand.

* config/sh/sh.md (addsf3, divsf3, divsf3_i, rsqrtsf2, cmpgtdf_t,
cmpeqdf_t, *ieee_ccmpeqdf_t, negdf2, sqrtdf2, absdf2): Use
fp_arith_reg_operand instead of arith_reg_operand.

From-SVN: r204478

11 years agosh.md (adddi3): Remove empty constraints.
Oleg Endo [Wed, 6 Nov 2013 20:35:55 +0000 (20:35 +0000)]
sh.md (adddi3): Remove empty constraints.

* config/sh/sh.md (adddi3): Remove empty constraints.
Remove can_create_pseudo_p and arith_reg_operand check.
(adddi3_compact, subdi3_compact, *negdi2): Remove constraints.
Split before reload.

From-SVN: r204477

11 years agogdbinit.in: Disable strict type checking.
Jeff Law [Wed, 6 Nov 2013 20:28:03 +0000 (13:28 -0700)]
gdbinit.in: Disable strict type checking.

       * gdbinit.in: Disable strict type checking.

Co-Authored-By: Tom Tromey <tromey@redhat.com>
From-SVN: r204474

11 years agore PR rtl-optimization/30807 (postreload bug (might be generic in trunk))
Oleg Endo [Wed, 6 Nov 2013 20:26:35 +0000 (20:26 +0000)]
re PR rtl-optimization/30807 (postreload bug (might be generic in trunk))

PR target/30807
* gcc.target/sh/torture/pr30807.c: New.

From-SVN: r204473

11 years agore PR c++/11006 ([CNI] ICE with use of __java_boolean)
Paolo Carlini [Wed, 6 Nov 2013 20:19:10 +0000 (20:19 +0000)]
re PR c++/11006 ([CNI] ICE with use of __java_boolean)

/cp
2013-11-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/11006
* init.c (build_new_1): Don't call build_java_class_ref on non-class
types.

/testsuite
2013-11-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/11006
* g++.dg/other/java3.C: New.

From-SVN: r204469

11 years agolibgo: Update to October 24 version of master library.
Ian Lance Taylor [Wed, 6 Nov 2013 19:49:01 +0000 (19:49 +0000)]
libgo: Update to October 24 version of master library.

From-SVN: r204466

11 years agotree-pass.h (make_pass_live_range_shrinkage): New external.
Vladimir Makarov [Wed, 6 Nov 2013 19:46:39 +0000 (19:46 +0000)]
tree-pass.h (make_pass_live_range_shrinkage): New external.

2013-11-06  Vladimir Makarov  <vmakarov@redhat.com>

* tree-pass.h (make_pass_live_range_shrinkage): New external.
* timevar.def (TV_LIVE_RANGE_SHRINKAGE): New.
* sched-rgn.c (gate_handle_live_range_shrinkage): New.
(rest_of_handle_live_range_shrinkage): Ditto
(class pass_live_range_shrinkage): Ditto.
(pass_data_live_range_shrinkage): Ditto.
(make_pass_live_range_shrinkage): Ditto.
* sched-int.h (initialize_live_range_shrinkage): New prototype.
(finish_live_range_shrinkage): Ditto.
* sched-deps.c (create_insn_reg_set): Make void return value.
* passes.def: Add pass_live_range_shrinkage.
* ira.c (update_equiv_regs): Don't move if
flag_live_range_shrinkage.
* haifa-sched.c (live_range_shrinkage_p): New.
(initialize_live_range_shrinkage, finish_live_range_shrinkage):
New functions.
(rank_for_schedule): Add code for pressure relief through live
range shrinkage.
(schedule_insn): Print more debug info.
(sched_init): Setup SCHED_PRESSURE_WEIGHTED for pressure relief
through live range shrinkage.
* doc/invoke.texi (-flive-range-shrinkage): New.
* common.opt (flive-range-shrinkage): New.

From-SVN: r204465

11 years agore PR target/59021 (new vzeroupper instructions generated with -mavx)
Uros Bizjak [Wed, 6 Nov 2013 19:37:12 +0000 (20:37 +0100)]
re PR target/59021 (new vzeroupper instructions generated with -mavx)

PR target/59021
* config/i386/i386.c (ix86_avx_u128_mode_needed): Require
AVX_U128_DIRTY mode for call_insn RTXes that use AVX256 registers.
(ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY mode for call_insn
RTXes that return in AVX256 register.

testsuite/ChangeLog:

PR target/59021
* gcc.target/i386/pr59021.c: New test.

From-SVN: r204464

11 years agogcc-defs.exp (dg-additional-files-options): Extend regsub for dg-additional-files...
James Lemke [Wed, 6 Nov 2013 18:10:34 +0000 (18:10 +0000)]
gcc-defs.exp (dg-additional-files-options): Extend regsub for dg-additional-files to also match BOL.

2013-11-06  James Lemke  <jwlemke@codesourcery.com>

* lib/gcc-defs.exp (dg-additional-files-options): Extend regsub for
dg-additional-files to also match BOL.

From-SVN: r204462

11 years agoc-opts.c (c_common_post_options): Set -ffp-contract=off in C standards modes.
Joseph Myers [Wed, 6 Nov 2013 16:52:47 +0000 (16:52 +0000)]
c-opts.c (c_common_post_options): Set -ffp-contract=off in C standards modes.

c-family:
* c-opts.c (c_common_post_options): Set -ffp-contract=off in C
standards modes.
* c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
to mean lack of IEEE 754 support.

testsuite:
* gcc.dg/torture/c99-contract-1.c: New test.

From-SVN: r204460

11 years agogo-lang.c (go_langhook_post_options): If -fisolate-erroneous-paths was turned on...
Ian Lance Taylor [Wed, 6 Nov 2013 15:14:28 +0000 (15:14 +0000)]
go-lang.c (go_langhook_post_options): If -fisolate-erroneous-paths was turned on by an optimization option, turn it off.

* go-lang.c (go_langhook_post_options): If
-fisolate-erroneous-paths was turned on by an optimization option,
turn it off.

From-SVN: r204459

11 years agore PR tree-optimization/58653 (wrong code (segfaults) at -O3 on x86_64-linux-gnu...
Richard Biener [Wed, 6 Nov 2013 15:00:16 +0000 (15:00 +0000)]
re PR tree-optimization/58653 (wrong code (segfaults) at -O3 on x86_64-linux-gnu in 64-bit mode (affecting gcc 4.6 to trunk))

2013-11-06  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58653
* tree-predcom.c (ref_at_iteration): Rewrite to generate
a MEM_REF.
(prepare_initializers_chain): Adjust.

* gcc.dg/tree-ssa/predcom-6.c: New testcase.
* gcc.dg/tree-ssa/predcom-7.c: Likewise.

From-SVN: r204458

11 years agofib.c: Reduced the iteration from 40 to 30.
Balaji V. Iyer [Wed, 6 Nov 2013 14:55:46 +0000 (14:55 +0000)]
fib.c: Reduced the iteration from 40 to 30.

2013-11-05  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * c-c++-common/cilk-plus/CK/fib.c: Reduced the iteration from
        40 to 30.  Replaced iteration variable with a #define.  Instead of
        returning non-zero value for error, called __builtin_abort ().  Fixed
        a bug of calling fib_serial in serial case instead of fib.
        * c-c++-common/cilk-plus/CK/fib_init_expr_xy.c: Likewise.
        * c-c++-common/cilk-plus/CK/fib_no_return.c: Likewise.
        * c-c++-common/cilk-plus/CK/fib_no_sync.c: Likewise.
        * gcc.dg/cilk-plus/cilk-plus.exp: Removed duplicate/un-necessary
        compiler flag testing.

From-SVN: r204457

11 years agotypo
Jason Merrill [Wed, 6 Nov 2013 14:37:46 +0000 (09:37 -0500)]
typo

From-SVN: r204456

11 years agogimple.h (block_in_transaction): Move to basic-block.h and rename.
Andrew MacLeod [Wed, 6 Nov 2013 13:11:14 +0000 (13:11 +0000)]
gimple.h (block_in_transaction): Move to basic-block.h and rename.

* gimple.h (block_in_transaction): Move to basic-block.h and rename.
(gimple_in_transaction): Use bb_in_transaction.
* basic-block.h (bb_in_transaction): Relocate here and rename.
* tree-ssa-loop-im.c (execute_sm): Use bb_in_transaction.

From-SVN: r204455

11 years agotree.c (drop_tree_overflow): New function.
Richard Biener [Wed, 6 Nov 2013 13:08:06 +0000 (13:08 +0000)]
tree.c (drop_tree_overflow): New function.

2013-11-06  Richard Biener  <rguenther@suse.de>

* tree.c (drop_tree_overflow): New function.
* tree.h (drop_tree_overflow): Declare.
* gimplify.c (gimplify_expr): Drop TREE_OVERFLOW.
* tree-vrp.c (range_int_cst_singleton_p): Use
is_overflow_infinity instead of testing TREE_OVERFLOW.
(extract_range_from_assert): Likewise.
(zero_nonzero_bits_from_vr): Likewise.
(extract_range_basic): Likewise.
(register_new_assert_for): Use drop_tree_overflow.
(vrp_visit_phi_node): Likewise.

From-SVN: r204454

11 years agopreprocessor/58580 - preprocessor goes OOM with warning for zero literals
Dodji Seketeli [Wed, 6 Nov 2013 11:33:52 +0000 (11:33 +0000)]
preprocessor/58580 - preprocessor goes OOM with warning for zero literals

In this problem report, the compiler is fed a (bogus) translation unit
in which some literals contain bytes whose value is zero.  The
preprocessor detects that and proceeds to emit diagnostics for that
king of bogus literals.  But then when the diagnostics machinery
re-reads the input file again to display the bogus literals with a
caret, it attempts to calculate the length of each of the lines it got
using fgets.  The line length calculation is done using strlen.  But
that doesn't work well when the content of the line can have several
zero bytes.  The result is that the read_line never sees the end of
the line because strlen repeatedly reports that the line ends before
the end-of-line character; so read_line thinks its buffer for reading
the line is too small; it thus increases the buffer, leading to a huge
memory consumption, pain and disaster.

The patch below introduces a new get_line function that returns the
next line of a file and return the length of that line even if the
line contains zero bytes.  That get_line function has been adapted
from the getline function from the GNU C Library because getline being
a GNU extension it is not necessarily supported on all platforms.
read_line is then modified to return the length of the line along with
the line itself, as the line can now contain zero bytes.  Callers of
read_line are adjusted consequently.

diagnostic_show_locus() is modified to consider that a line can have
characters of value zero, and so just shows a white space when
instructed to display one of these characters.

gcc/ChangeLog:

* input.h (location_get_source_line): Take an additional line_size
parameter.
* input.c (get_line): New static function definition.
(read_line): Take an additional line_length output parameter to be
set to the size of the line.  Use the new get_line function do the
actual line reading.
(location_get_source_line): Take an additional output line_len
parameter.  Update the use of read_line to pass it the line_len
parameter.
* diagnostic.c (adjust_line): Take an additional input parameter
for the length of the line, rather than calculating it with
strlen.
(diagnostic_show_locus): Adjust the use of
location_get_source_line and adjust_line with respect to their new
signature.  While displaying a line now, do not stop at the first
null byte.  Rather, display the zero byte as a space and keep
going until we reach the size of the line.

gcc/testsuite/ChangeLog:

* c-c++-common/cpp/warning-zero-in-literals-1.c: New test file.

From-SVN: r204453

11 years agoFix formatting
Eric Botcazou [Wed, 6 Nov 2013 11:22:59 +0000 (11:22 +0000)]
Fix formatting

From-SVN: r204452

11 years agoi386.c (ix86_expand_prologue): Optimize stack checking for leaf functions without...
Eric Botcazou [Wed, 6 Nov 2013 10:55:13 +0000 (10:55 +0000)]
i386.c (ix86_expand_prologue): Optimize stack checking for leaf functions without dynamic stack allocation.

* config/i386/i386.c (ix86_expand_prologue): Optimize stack checking for
leaf functions without dynamic stack allocation.
* config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust.
(ia64_expand_prologue): Likewise.
* config/mips/mips.c (mips_expand_prologue): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
* config/sparc/sparc.c (sparc_expand_prologue): Likewise.
(sparc_flat_expand_prologue): Likewise.

From-SVN: r204450

11 years agoregex_automaton.h (_S_opcode_word_boundry): Rename to _S_opcode_word_boundary.
Jonathan Wakely [Wed, 6 Nov 2013 09:47:51 +0000 (09:47 +0000)]
regex_automaton.h (_S_opcode_word_boundry): Rename to _S_opcode_word_boundary.

* include/bits/regex_automaton.h (_S_opcode_word_boundry): Rename to
_S_opcode_word_boundary.
* include/bits/regex_automaton.tcc: Likewise.
* include/bits/regex_executor.h (__detail::_Executor::_M_word_boundry):
Rename to _M_word_boundary.
* include/bits/regex_executor.tcc: Likewise.

From-SVN: r204449

11 years ago[AArch64] Fix size of memory store for the vst<n>_lane intrinsics
James Greenhalgh [Wed, 6 Nov 2013 09:23:30 +0000 (09:23 +0000)]
[AArch64] Fix size of memory store for the vst<n>_lane intrinsics

gcc/
* config/aarch64/arm_neon.h
(__ST2_LANE_FUNC): Better model data size.
(__ST3_LANE_FUNC): Likewise.
(__ST4_LANE_FUNC): Likewise.

From-SVN: r204448

11 years agomsp430.h (TARGET_CPU_CPP_BUILTINS): Define the name returned by msp430_mcu_name.
Nick Clifton [Wed, 6 Nov 2013 09:03:35 +0000 (09:03 +0000)]
msp430.h (TARGET_CPU_CPP_BUILTINS): Define the name returned by msp430_mcu_name.

* config/msp430/msp430.h (TARGET_CPU_CPP_BUILTINS): Define the
name returned by msp430_mcu_name.
(LIB_SPEC): If a -T option has not been specified then set a
default, mcu-specific, linker script.
* config/msp430/t-msp430 (MULTILIB_MATCHES): Add more mcu names.
* config/msp430/msp430.c (msp430x_names): Likewise.
Alpha sort the names for ease of comparison.
(msp430_mcu_name): New function:  Returns a string suitable for
use as a C preprocessor symbol based upon the name of the MCU
being targeted.
(msp430_option_override): Accept msp430x and msp430xv2 as generic
mcu names.
* config/msp430/msp430-protos.h (msp430_mcu_name): Prototype.

From-SVN: r204447

11 years agogcc.c (do_spec_1): Do not insert a space after a %* substitution unless...
Nick Clifton [Wed, 6 Nov 2013 08:52:57 +0000 (08:52 +0000)]
gcc.c (do_spec_1): Do not insert a space after a %* substitution unless...

* gcc.c (do_spec_1): Do not insert a space after a %* substitution
unless it is the last part of a spec substring.
* doc/invoke.texi (Spec Files): Document space insertion
behaviour of %*.

From-SVN: r204446

11 years agosh-mem.cc (sh_expand_cmpnstr, [...]): Factorize probabilities...
Christian Bruel [Wed, 6 Nov 2013 08:49:15 +0000 (09:49 +0100)]
sh-mem.cc (sh_expand_cmpnstr, [...]): Factorize probabilities...

2013-11-06  Christian Bruel  <christian.bruel@st.com>

* gcc/config/sh/sh-mem.cc (sh_expand_cmpnstr, sh_expand_cmpstr):
Factorize probabilities, Use adjust_address instead of
adjust_automodify_address when possible. Enable for optimize.
(sh_expand_strlen): New function.
* gcc/config/sh/sh-protos.h (sh_expand_strlen): Declare.
* gcc/config/sh/sh.md (strlensi): New pattern.
(UNSPEC_BUILTIN_STRLEN): Define.

From-SVN: r204445