Commit Graph

126563 Commits

Author SHA1 Message Date
Bin Cheng
801a661c44 tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Refactor the code.
* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Refactor the code.
	Handle type conversion.

From-SVN: r204695
2013-11-12 06:42:05 +00:00
GCC Administrator
97a23b7475 Daily bump.
From-SVN: r204693
2013-11-12 00:17:00 +00:00
Martin Liska
86ce5d2fc1 Time profiler introduced.
Co-Authored-By: Jan Hubicka <jh@suse.cz>

From-SVN: r204690
2013-11-11 23:21:02 +00:00
Ian Lance Taylor
9544822809 net: Fix TCP keepalive handling for Solaris.
From-SVN: r204688
2013-11-11 21:25:42 +00:00
Ian Lance Taylor
3c450181dc mksysinfo, net: Always define F_DUPFD_CLOEXEC.
For Solaris and CentOS portability.

From-SVN: r204687
2013-11-11 21:21:50 +00:00
Marc Glisse
35aacd4cc9 tree-ssa-alias.c (stmt_kills_ref_p_1): Use ao_ref_init_from_ptr_and_size for builtins.
2013-11-11  Marc Glisse  <marc.glisse@inria.fr>
	    Jeff Law  <law@redhat.com>

gcc/
	* tree-ssa-alias.c (stmt_kills_ref_p_1): Use
	ao_ref_init_from_ptr_and_size for builtins.

gcc/testsuite/
	* gcc.dg/tree-ssa/alias-27.c: New testcase.

Co-Authored-By: Jeff Law <law@redhat.com>

From-SVN: r204686
2013-11-11 20:56:19 +00:00
Uros Bizjak
5783ad0ea7 re PR target/58853 (ICE in expand_set_or_movmem_prologue_epilogue_by_misaligned_moves)
PR target/58853
	* config/i386/x86-tune.def
	(X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Rename from
	TARGET_MISALIGNED_MOVE_STRING_PROLOGUES.
	* config/i386/i386.h
	(TARGET_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Rename from
	TARGET_MISALIGNED_MOVE_STRING_PROLOGUES_EPILOGUES.  Update for renamed
	X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES.
	* config/i386/i386.c (ix86_expand_set_or_movmem): Use
	TARGET_MISALIGNED_MOVE_STRING_PRO_EPILOGUES to calculate
	misaligned_prologue_used.  Check that
	desired_aling <= epilogue_size_needed.

testsuite/ChangeLog:

	PR target/58853
	* gcc.target/i386/pr58853.c: New test.


Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>

From-SVN: r204685
2013-11-11 21:02:19 +01:00
Ian Lance Taylor
eb47f18904 os: Do not try to run go command in test.
From-SVN: r204684
2013-11-11 19:41:00 +00:00
Cong Hou
1e56366733 re PR tree-optimization/59050 (ICE: tree check: expected integer_cst, have nop_expr in tree_int_cst_lt, at tree.c:7083)
2013-11-11  Cong Hou  <congh@google.com>

    PR tree-optimization/59050
    * tree-vect-data-refs.c (comp_dr_addr_with_seg_len_pair): Bug fix.

From-SVN: r204683
2013-11-11 14:03:39 -05:00
Joern Rennecke
b2b262e383 re PR middle-end/59049 (Two VOIDmode constant in comparison passed to cstoresi4)
PR middle-end/59049
        * expmed.c (emit_store_flag): Fail for const-const comparison.

From-SVN: r204682
2013-11-11 18:57:25 +00:00
Joern Rennecke
c733374a3d forwprop-28.c: Adjust for ARC LOGICAL_OP_NON_SHORT_CIRCUIT definition.
* gcc.dg/tree-ssa/forwprop-28.c: Adjust for ARC 
        LOGICAL_OP_NON_SHORT_CIRCUIT definition.
        * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Likewise. 
        * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: Likewise. 
        * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: Likewise. 
        * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: Likewise. 
        * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: Likewise. 
        * gcc.dg/tree-ssa/vrp47.c: Likewise. 
        * gcc.dg/tree-ssa/vrp87.c: Likewise.

From-SVN: r204681
2013-11-11 18:46:33 +00:00
Joern Rennecke
213dba3e31 Remove ChangeLog merge turd from r204590.
From-SVN: r204680
2013-11-11 18:40:04 +00:00
Ian Lance Taylor
64c7b4c0c9 compiler: Support Go 1.2 nil checks.
From-SVN: r204679
2013-11-11 17:49:10 +00:00
Eric Botcazou
d368135f69 gimplify.c (gimplify_init_constructor): Do not clear the object when the constructor is incomplete and...
* gimplify.c (gimplify_init_constructor): Do not clear the object when
	the constructor is incomplete and CONSTRUCTOR_NO_CLEARING is set.

From-SVN: r204678
2013-11-11 16:59:23 +00:00
Tristan Gingold
1448093c32 tree.h (CONSTRUCTOR_NO_CLEARING): Define.
* tree.h (CONSTRUCTOR_NO_CLEARING): Define.
	* tree-core.h (CONSTRUCTOR_NO_CLEARING): Document it.
	* tree.def (CONSTRUCTOR): Likewise.
	* doc/generic.texi (CONSTRUCTOR): Likewise.  Update description.
	* gimplify.c (gimplify_init_constructor): Do not clear the object when
	the constructor is incomplete and CONSTRUCTOR_NO_CLEARING is set.
ada/
	* gcc-interface/utils2.c (gnat_build_constructor): Also set the flag
	CONSTRUCTOR_NO_CLEARING on the constructor.

From-SVN: r204677
2013-11-11 16:55:29 +00:00
Basile Starynkevitch
7008512d47 toplev.c (toplev_main): Move PLUGIN_FINISH invocation before diagnostic_finish.
2013-11-11  Basile Starynkevitch  <basile@starynkevitch.net>

         * toplev.c (toplev_main): Move PLUGIN_FINISH invocation before
           diagnostic_finish.

From-SVN: r204674
2013-11-11 14:54:14 +00:00
Kyrylo Tkachov
de75e25fb0 arm.c (arm_new_rtx_costs): Return after handling comparisons.
* config/arm/arm.c (arm_new_rtx_costs): Return after handling
	comparisons.

From-SVN: r204673
2013-11-11 13:53:26 +00:00
Jonathan Wakely
6162239973 re PR libstdc++/54562 (mutex and condition variable timers)
PR libstdc++/54562
	* include/std/mutex (__timed_mutex_impl::__clock_t): Use
	high_resolution_clock for absolute timeouts, because
	pthread_mutex_timedlock uses CLOCK_REALTIME not CLOCK_MONOTONIC.
	(__timed_mutex_impl::_M_try_lock_for): Use steady_clock for relative
	timeouts as per [thread.req.timing].
	(__timed_mutex_impl::_M_try_lock_until<Clock,Duration>): Convert to
	__clock_t time point instead of using _M_try_lock_for.

From-SVN: r204672
2013-11-11 13:33:48 +00:00
Eric Botcazou
1a80085d42 config.host (arm-wrs-vxworks): Replace arm/t-vxworks with arm/t-elf in tmake_file.
* config.host (arm-wrs-vxworks): Replace arm/t-vxworks with arm/t-elf
	in tmake_file.
	* config/arm/t-vxworks: Delete.

From-SVN: r204669
2013-11-11 11:46:17 +00:00
Joern Rennecke
b4e2397083 * config/arc/arc.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Define.
From-SVN: r204666
2013-11-11 10:22:58 +00:00
Jeff Law
b11b9adbb1 tree-ssa-threadupdate.c (mark_threaded_blocks): Truncate jump threading paths first, then perform PHI node checks if applicable.
* tree-ssa-threadupdate.c (mark_threaded_blocks): Truncate jump
        threading paths first, then perform PHI node checks if applicable.

From-SVN: r204659
2013-11-10 20:04:57 -07:00
GCC Administrator
eef5b2855b Daily bump.
From-SVN: r204658
2013-11-11 00:16:51 +00:00
Paolo Carlini
f61af651e2 cvt.c (cp_convert_to_pointer): Call build_ptrmemfunc before maybe_warn_zero_as_null_pointer_constant to avoid...
2013-11-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* cvt.c (cp_convert_to_pointer): Call build_ptrmemfunc before
	maybe_warn_zero_as_null_pointer_constant to avoid duplicate
	-Wzero-as-null-pointer-constant diagnostics.

	* typeck.c (build_ptrmemfunc): Use cp_build_c_cast.

From-SVN: r204655
2013-11-10 23:40:57 +00:00
Janne Blomqvist
c20fdb917f Set close-on-exec flag when opening files.
2013-11-10  Janne Blomqvist  <jb@gcc.gnu.org>

	* configure.ac: Check presence of mkostemp.
	* io/unix.c (set_close_on_exec): New function.
	(tempfile_open): Use mkostemp and O_CLOEXEC if available, fallback
	to calling set_close_on_exec.
	(regular_file): Add O_CLOEXEC to flags if defined.
	(open_external): Call set_close_on_exec if O_CLOEXEC is not
	defined.
	* config.h.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.

From-SVN: r204654
2013-11-10 22:34:29 +02:00
Kai Tietz
8d44833878 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
2013-11-10 20:27:38 +01:00
Karlson2k
93acd176ce 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
2013-11-10 20:24:43 +01:00
Uros Bizjak
611a4849b4 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
2013-11-10 19:38:36 +01:00
Kai Tietz
cabeea52a7 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
2013-11-10 12:47:18 +01:00
Uros Bizjak
6fbf987777 fenv.c: New file.
* config/x86/fenv.c: New file.

From-SVN: r204634
2013-11-10 12:45:42 +01:00
GCC Administrator
d859c1b8c0 Daily bump.
From-SVN: r204623
2013-11-10 00:16:57 +00:00
Jan-Benedict Glaw
8a6ce562e5 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
2013-11-09 20:12:59 +00:00
Joseph Myers
6b28e19721 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
2013-11-09 16:32:34 +00:00
Ian Lance Taylor
86dedeba36 runtime: Correct flag (FlagNoGC => FlagNoInvokeGC).
From-SVN: r204617
2013-11-09 16:23:00 +00:00
Jonathan Wakely
5275f3e546 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
2013-11-09 12:38:00 +00:00
Richard Sandiford
1d0216c8b7 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
2013-11-09 11:42:16 +00:00
GCC Administrator
12929715b1 Daily bump.
From-SVN: r204611
2013-11-09 00:16:56 +00:00
Diego Novillo
862d0b359f 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
2013-11-08 17:46:16 -05:00
H.J. Lu
f0e56cd667 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
2013-11-08 14:16:59 -08:00
Joseph Myers
39b2468cf6 [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
2013-11-08 22:15:09 +00:00
François Dumont
9fc0e24b6c 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
2013-11-08 21:03:58 +00:00
Balaji V. Iyer
d53b3432e2 +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
2013-11-08 11:52:27 -08:00
Cong Hou
3361dd3a6d 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
2013-11-08 13:44:46 -05:00
Kyrylo Tkachov
438a7ecd23 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
2013-11-08 17:36:21 +00:00
Ian Lance Taylor
6860705512 compiler: Fix bogus init loop error with struct composite literal.
This should eventually be bug482.go in the master testsuite.

From-SVN: r204583
2013-11-08 17:35:24 +00:00
Jonathan Wakely
e15c474a34 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
2013-11-08 17:33:31 +00:00
Jeff Law
f0bc3cc0ea 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
2013-11-08 09:24:06 -07:00
James Greenhalgh
df023e0f3e [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
2013-11-08 15:09:50 +00:00
Jonathan Wakely
34d1ff06bf 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
2013-11-08 14:30:40 +00:00
Jonathan Wakely
bb038ece8f 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
2013-11-08 14:30:34 +00:00
Jonathan Wakely
68e69ce27f 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
2013-11-08 14:30:29 +00:00