1. 02 Dec, 2014 2 commits
    • Define *_at_thread_exit() functions. · 9db7c931
      	* config/abi/pre/gnu.ver: Add new exports.
      	* include/std/condition_variable (notify_all_at_thread_exit): Declare.
      	(__at_thread_exit_elt): New base class.
      	* include/std/future: Add comments documenting the implementation.
      	(__future_base::_State_baseV2::_State_baseV2()): Use brace-or-equal
      	initializers and define constructor as defaulted.
      	(__future_base::_State_baseV2::_M_ready): Replace member function
      	with member variable.
      	(__future_base::_State_baseV2::_M_set_result): Set _M_ready.
      	(__future_base::_State_baseV2::_M_set_delayed_result): Define.
      	(__future_base::_State_baseV2::_M_break_promise): Set _M_ready.
      	(__future_base::_State_baseV2::_Make_ready): New helper class.
      	(__future_base::_Deferred_state::_M_has_deferred): Remove requirement
      	for caller to own mutex.
      	(__future_base::_Async_state_impl::~_Async_state_impl): Call join
      	directly.
      	(__future_base::_Task_state_base::_M_run): Take arguments by
      	reference.
      	(__future_base::_Task_state_base::_M_run_delayed): Declare new pure
      	virtual function.
      	(__future_base::_Task_state::_M_run_delayed): Define override.
      	(promise::set_value_at_thread_exit): Define.
      	(promise::set_exception_at_thread_exit): Define.
      	(packaged_task::make_ready_at_thread_exit): Define.
      	* src/c++11/condition_variable.cc (notify_all_at_thread_exit): Define.
      	* src/c++11/future.cc
      	(__future_base::_State_baseV2::_Make_ready::_M_set): Define.
      	* testsuite/30_threads/condition_variable/members/3.cc: New.
      	* testsuite/30_threads/packaged_task/members/at_thread_exit.cc: New.
      	* testsuite/30_threads/promise/members/at_thread_exit.cc: New.
      
      From-SVN: r218255
      Jonathan Wakely committed
    • Daily bump. · 8581fd64
      From-SVN: r218254
      GCC Administrator committed
  2. 01 Dec, 2014 38 commits
    • re PR rtl-optimization/59278 (combine does not replace matched insn) · 70c9ce2d
      testsuite/
      	PR rtl-optimization/59278
      	* gcc.target/sh/pr59278.c: New.
      
      From-SVN: r218251
      Oleg Endo committed
    • re PR rtl-optimization/59278 (combine does not replace matched insn) · 14f2df34
      	PR rtl-optimization/59278
      	combine (reg_dead_at_p): Consider REG_UNUSED notes.
      
      From-SVN: r218250
      Segher Boessenkool committed
    • combine.c (is_parallel_of_n_reg_sets): New function. · 9d2f8e16
      	* combine.c (is_parallel_of_n_reg_sets): New function.
      	(can_split_parallel_of_n_reg_sets): New function.
      	(try_combine): If I2 is a PARALLEL of two SETs, split it into
      	two insns if possible.
      
      From-SVN: r218248
      Segher Boessenkool committed
    • re PR middle-end/64017 (Support ISL 0.14.0 (to fix ICE with gfortran.dg/graphite/pr42393.f90)) · 797d8858
      2014-12-01  Tobias Burnus  <burnus@net-b.de>
                  Jack Howarth  <howarth@bromo.med.uc.edu>
      
              PR middle-end/64017
              * configure.ac
              * (ac_has_isl_schedule_constraints_compute_schedule):
              New check.
              * doc/install.texi (ISL): Permit ISL 0.14.
              * graphite-optimize-isl.c (getScheduleForBandList,
              * optimize_isl):
              Conditionally use ISL 0.13+ functions.
              * graphite-interchange.c: Make 'extern "C"' conditional.
              * graphite-isl-ast-to-gimple.c: Ditto.
              * graphite-poly.c: Ditto.
              * graphite-sese-to-poly.c: Ditto.
              * config.in: Regenerate.
              * gcc/configure: Regenerate.
      
      
      Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
      
      From-SVN: r218247
      Tobias Burnus committed
    • Improvements to documentation of gcc_jit_context_release · 81ba15f1
      gcc/jit/ChangeLog:
      	* docs/examples/tut02-square.c (main): Release the context
      	earlier, to show that this is possible.  Update error-handling
      	to avoid a double-release of the context, and to avoid
      	releasing a NULL result.
      	* docs/intro/tutorial02.rst: Discuss gcc_jit_context_release.
      	* docs/topics/functions.rst (GCC_JIT_FUNCTION_EXPORTED): Emphasize
      	* docs/topics/results.rst (gcc_jit_result): Mention that this
      	controls the lifetimes of machine code functions.
      	(gcc_jit_result_get_code): Spell out the requirements for this
      	to succeed, and the lifetime of the result.
      	(gcc_jit_result_release): Mention that this invalidates any code
      	that was obtained from the result.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      
      From-SVN: r218245
      David Malcolm committed
    • re PR c++/60859 (Value-initialization of scalar in aggregate yields "braces… · ad1f2178
      re PR c++/60859 (Value-initialization of scalar in aggregate yields "braces around scalar initializer")
      
      /cp
      2014-12-01  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/60859
      	* decl.c (reshape_init_r): Do not reject value-initialization of
      	scalar array element.
      
      /testsuite
      2014-12-01  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/60859
      	* g++.dg/cpp0x/initlist88.C: New.
      
      From-SVN: r218244
      Paolo Carlini committed
    • PR jit/64018: Add description of error-handling to the JIT tutorial · e250f0dc
      gcc/jit/ChangeLog:
      	PR jit/64018
      	* docs/intro/tutorial02.rst: Spell out lifetime of generated code.
      	Add description of error-handling, taken in part from...
      	* docs/topics/contexts.rst (Error-handling): Expand, and move some
      	content to tutorial02.rst.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      
      From-SVN: r218243
      David Malcolm committed
    • * combine.c (distribute_links): Handle multiple SETs. · 9838117b
      From-SVN: r218242
      Segher Boessenkool committed
    • combine.c (struct insn_link): New field `regno'. · 66d4b012
      	* combine.c (struct insn_link): New field `regno'.
      	(alloc_insn_link): New parameter `regno'.  Use it.
      	(find_single_use): Check the new field.
      	(can_combine_def_p, can_combine_use_p): New functions.  Split
      	off from ...
      	(create_log_links): ... here.  Correct data type of `regno'.
      	Adjust call to alloc_insn_link.
      	(adjust_for_new_dest): Find regno, use it in call to
      	alloc_insn_link.
      	(try_combine): Check reg_used_between_p when combining a PARALLEL
      	as earlier insn.  Adjust call to alloc_insn_link.
      	(distribute_links): Check the new field.
      
      From-SVN: r218241
      Segher Boessenkool committed
    • PR jit/64020: Fixes to handling of builtins · eeafb319
      	PR jit/64020
      	* docs/topics/types.rst (Standard types) Add new enum values to
      	the table of enum gcc_jit_types: GCC_JIT_TYPE_COMPLEX_FLOAT,
      	GCC_JIT_TYPE_COMPLEX_DOUBLE, GCC_JIT_TYPE_COMPLEX_LONG_DOUBLE.
      	Widen the left-hand column so that
      	GCC_JIT_TYPE_COMPLEX_LONG_DOUBLE will fit.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      
      	* jit-builtins.c: Include stringpool.h and jit-playback.h.
      	Move everything out of the gcc::jit::recording namespace into
      	just gcc::jit.
      	(struct builtin_data): Add fields "fnclass", "attr", and
      	"implicit_p".
      	(DEF_BUILTIN): Update macro so populate the new fields.
      	(builtins_manager::builtins_manager): Update for move out of
      	recording namespace.  Initialize the m_attributes array.
      	(builtins_manager::get_builtin_function): Likewise.
      	(builtins_manager::get_builtin_function_by_id): New function.
      	(builtins_manager::make_builtin_function): Update for move out of
      	recording namespace.  Add fix for PR jit/64020 by detecting
      	specific builtin ids and having them ensure that builtins for
      	other ids are created as necessary.
      	(builtins_manager::get_type): Update for move out of recording
      	namespace.
      	(builtins_manager::make_type): Likewise.  Add some missing
      	#undefs.
      	(builtins_manager::make_primitive_type): Update for move out of
      	recording namespace.  Implement the three BT_COMPLEX_ cases and
      	BT_DOUBLE_PTR.
      	(builtins_manager::make_fn_type): Update for move out of recording
      	namespace.
      	(builtins_manager::make_ptr_type): Likewise.
      	(builtins_manager::finish_playback): New function.
      	(builtins_manager::get_class): New function.
      	(builtins_manager::implicit_p): New function.
      	(builtins_manager::get_attrs_tree): Two new functions.
      	(builtins_manager::make_attrs_tree): New function.
      
      	* jit-builtins.h: Move everything out of the gcc::jit::recording
      	namespace into just gcc::jit.
      	(enum built_in_attribute): New.
      	(builtins_manager::builtins_manager): Update decl for namespace
      	change.
      	(builtins_manager::get_builtin_function): Likewise.
      	(builtins_manager::get_class): New.
      	(builtins_manager::implicit_p): New.
      	(builtins_manager::get_attrs_tree): Two new functions.
      	(builtins_manager::make_attrs_tree): New function.
      	(builtins_manager::finish_playback): New.
      	(builtins_manager::get_builtin_function_by_id): New.
      	(builtins_manager::make_builtin_function): Update decl for
      	namespace change.
      	(builtins_manager::get_type): Likewise.
      	(builtins_manager::make_type): Likewise.
      	(builtins_manager::make_primitive_type): Likewise.
      	(builtins_manager::make_fn_type): Likewise.
      	(builtins_manager::make_ptr_type): Likewise.
      	(builtins_manager): Likewise for fields.  Add new field
      	"m_attributes".
      
      	* jit-common.h (NUM_GCC_JIT_TYPES): Update.
      	(builtins_manager): Update forward decl to reflect namespace
      	change.
      
      	* jit-playback.c: Include attribs.h and jit-builtins.h.
      	(gcc::jit::playback::context::get_tree_node_for_type): Add cases
      	for the new COMPLEX_ types.
      	(gcc::jit::playback::context::new_function): If creating a
      	builtin, set the DECL_BUILT_IN_CLASS and attributes on the fndecl,
      	and call set_builtin_decl.
      	(gcc::jit::playback::context::replay): If we have a
      	builtins_manager, call its finish_playback method when we're done.
      
      	* jit-playback.h:
      	(gcc::jit::playback::context::get_builtins_manager): New function.
      
      	* jit-recording.c
      	(gcc::jit::recording::context::get_builtins_manager): New function.
      	(gcc::jit::recording::get_builtin_function): Use
      	get_builtins_manager, in case we're a child context.
      	(gcc::jit::recording::memento_of_get_type::dereference): Add the
      	COMPLEX_ types.
      	(gcc::jit::recording::memento_of_get_type::is_int): Likewise.
      	(gcc::jit::recording::memento_of_get_type::is_float): Likewise.
      	(gcc::jit::recording::memento_of_get_type::is_bool): Likewise.
      	(get_type_strings): Likewise.
      
      	* jit-recording.h
      	(gcc::jit::recording::context::get_builtins_manager): New.
      
      	* libgccjit.h (enum gcc_jit_types): Add
      	GCC_JIT_TYPE_COMPLEX_FLOAT, GCC_JIT_TYPE_COMPLEX_DOUBLE,
      	GCC_JIT_TYPE_COMPLEX_LONG_DOUBLE.
      
      From-SVN: r218240
      David Malcolm committed
    • jit-builtins.c: Fix segfault on unsupported builtins · 23844fd7
      gcc/jit/ChangeLog:
      	* jit-builtins.c
      	(gcc::jit::recording::builtins_manager::get_builtin_function):
      	Check for NULL return from make_builtin_function.
      	(gcc::jit::recording::builtins_manager::make_builtin_function):
      	Check for NULL return from get_type.
      
      From-SVN: r218239
      David Malcolm committed
    • jit-playback: Move dso-creation into its own function · c6760a13
      gcc/jit/ChangeLog:
      	* jit-playback.c (gcc::jit::playback::context::compile): Move DSO
      	creation code into...
      	(gcc::jit::playback::context::convert_to_dso): New function.
      	* jit-playback.h (gcc::jit::playback::context::convert_to_dso):
      	New function.
      
      From-SVN: r218238
      David Malcolm committed
    • jit-playback: Move argv-creation to its own function · 8f50ee3c
      gcc/jit/ChangeLog:
      	* jit-playback.c (gcc::jit::playback::context::compile): Use an
      	auto_vec<const char *> rather than a const char *[20] for the
      	top-level argv, and move the logic to build it to...
      	(gcc::jit::playback::context::make_fake_args): New function.
      	* jit-playback.h (gcc::jit::playback::context::make_fake_args):
      	New function.
      
      From-SVN: r218237
      David Malcolm committed
    • Move gcc_jit_result implementation to a new files jit-result.{h|c} · 56dea35f
      gcc/jit/ChangeLog:
      	* Make-lang.in (jit_OBJS): Add jit/jit-result.o.
      	* jit-playback.c: Include new header jit-result.h.
      	(gcc::jit::result::result): Move to new file jit-result.c.
      	(gcc::jit::result::~result): Likewise.
      	(gcc::jit::playback::result): Likewise.
      	* jit-recording.h (class gcc::jit::result): Move to new
      	header jit-result.h.
      	* jit-result.c: New file, to contain...
      	(gcc::jit::result::result): Move here from jit-playback.c,
      	removing erroneous "playback" namespace from comment.
      	(gcc::jit::result::~result): Likewise.
      	(gcc::jit::playback::result): Likewise.
      	* jit-result.h: New file, to contain...
      	(class gcc::jit::result): Move from jit-recording.h.
      	* libgccjit.c: Include jit-result.h.
      	(gcc_jit_result_get_code): Update comment to reflect move
      	of implementation.
      	(gcc_jit_result_release): Likewise.
      
      From-SVN: r218236
      David Malcolm committed
    • PR jit/63854: Fix leaks in toyvm.c · 52b9468f
      gcc/jit/ChangeLog:
      	PR jit/63854
      	* docs/examples/tut04-toyvm/toyvm.c
      	(toyvm_compiled_function): New typedef.
      	(toyvm_compiled_func) Rename to...
      	(toyvm_compiled_code) ...this.
      	(struct toyvm_compiled_function): New struct.
      	(toyvm_function_compile): Return a toyvm_compiled_function *
      	rather than a toyvm_compiled_func, so that the caller can fully
      	clean things up.  Free "funcname".
      	(test_script): Update for change to toyvm_function_compile.
      	Clean up the toyvm_compiled_function.
      	(main): Likewise.
      	(docs/intro/tutorial04.rst): Update to reflect the above changes,
      	and to better spell out the lifetime of the compiled code.
      
      From-SVN: r218234
      David Malcolm committed
    • PR jit/63854: Fix leak in real.c for i386:init_ext_80387_constants · 33b625ed
      gcc/ChangeLog:
      	PR jit/63854
      	* real.c (real_from_string): Add missing mpfr_clear.
      
      From-SVN: r218233
      David Malcolm committed
    • [AArch64][obvious] Gate fuse_adrp_add_1.c test on aarch64_small. · e90c82d3
      	* gcc.target/aarch64/fuse_adrp_add_1.c: Gate test on aarch64_small.
      
      From-SVN: r218232
      Kyrylo Tkachov committed
    • PR jit/63854: Fix leak within jit-builtins.c · c8d19a69
      gcc/jit/ChangeLog:
      	PR jit/63854
      	* jit-builtins.c
      	(gcc::jit::recording::builtins_manager::make_fn_type): Call the
      	context's new_function_type method, rather than directly creating
      	a function_type instance.
      	* jit-recording.c
      	(gcc::jit::recording::context::new_function_type): New method,
      	adapted from part of...
      	(gcc::jit::recording::context::new_function_ptr_type): ...this.
      	Update to call new_function_type.
      	* jit-recording.h
      	(gcc::jit::recording::context::new_function_type): New method.
      
      From-SVN: r218231
      David Malcolm committed
    • PR jit/63854: Fix leak in tree-ssa-math-opts.c · 9370adeb
      gcc/ChangeLog:
      	PR jit/63854
      	* tree-ssa-math-opts.c (execute_cse_sincos_1): Fix a missing
      	release of stmts by converting it to an auto_vec.
      
      From-SVN: r218230
      David Malcolm committed
    • jit.exp: Verify the exit status of the spawnee · dc706721
      gcc/testsuite/ChangeLog:
      	* jit.dg/jit.exp (verify_exit_status): New function.
      	(fixed_host_execute): Verify the exit status of the spawnee.
      
      From-SVN: r218229
      David Malcolm committed
    • jit.exp: fix timeout bug inherited from dejagnu.exp · f3447c36
      gcc/testsuite/ChangeLog:
      	* jit.dg/jit.exp (fixed_host_execute): Fix timeout bug.
      
      From-SVN: r218228
      David Malcolm committed
    • PR jit/63854: Add support for running "make check-jit" under valgrind · d86dd9cb
      gcc/testsuite/ChangeLog:
      	PR jit/63854
      	* jit.dg/jit.exp (report_leak): New.
      	(parse_valgrind_logfile): New.
      	(fixed_host_execute): Detect if RUN_UNDER_VALGRIND is present
      	in the environment, and if so, run the executable under
      	valgrind, capturing valgrind's output to a logfile.  Parse the
      	log file, generating PASSes and XFAILs for the summary of leaks.
      	Use "wait" before "close": valgrind might not have finished
      	writing the log out before we parse it, so we need to wait for
      	the spawnee to finish.
      
      From-SVN: r218227
      David Malcolm committed
    • PR jit/63969: Fix segfault in error-handling when driver isn't found · c985705a
      gcc/jit/ChangeLog:
      	PR jit/63969
      	* jit-playback.c: Ensure that ctxt_progname is non-NULL.
      
      gcc/testsuite/ChangeLog:
      	PR jit/63969
      	* jit.dg/harness.h (CHECK_STRING_STARTS_WITH): New.
      	(check_string_starts_with): New.
      	* jit.dg/test-error-pr63969-missing-driver.c: New.
      
      From-SVN: r218226
      David Malcolm committed
    • jit.exp: Avoid embedding full paths into test results · 81f26369
      gcc/testsuite/ChangeLog:
      	* jit.dg/jit.exp (jit-dg-test): Use $name rathen than $prog
      	when calling jit_check_compile to avoid embedding the full path of
      	the testcase into the test results.
      
      From-SVN: r218225
      David Malcolm committed
    • Makefile.in (gimple-match.o-warn): Use -Wno-unused instead of -Wno-unused-variable and... · da42b278
      2014-12-01  Richard Biener  <rguenther@suse.de>
      
      	* Makefile.in (gimple-match.o-warn): Use -Wno-unused instead of
      	-Wno-unused-variable and -Wno-unused-but-set-variable to restore
      	bootstrap with old GCC.
      	(generic-match.o-warn): Likewise.
      
      From-SVN: r218224
      Richard Biener committed
    • fold-const.c (const_binop): Handle POINTER_PLUS_EXPR. · cd04ce7f
      2014-12-01  Richard Biener  <rguenther@suse.de>
      
      	* fold-const.c (const_binop): Handle POINTER_PLUS_EXPR.
      	Properly handle FIXED_CST shifts by INTEGER_CST.
      	(const_binop): Move COMPLEX_EXPR, VEC_PACK_TRUNC_EXPR,
      	VEC_PACK_FIX_TRUNC_EXPR, VEC_WIDEN_MULT_LO_EXPR,
      	VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_EVEN_EXPR and
      	VEC_WIDEN_MULT_ODD_EXPR handling here from ...
      	(fold_binary_loc): ... here.  Call const_binop overload
      	with result type.
      
      From-SVN: r218223
      Richard Biener committed
    • re PR tree-optimization/64121 (ICE: SSA corruption with -O -fsanitize=undefined) · 7d1f4ae5
      	PR sanitizer/64121
      	* ubsan.c (instrument_object_size): Stop searching if the base
      	occurs in abnormal phi.
      
      	* c-c++-common/ubsan/pr64121.c: New test.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r218222
      Marek Polacek committed
    • re PR sanitizer/63956 ([UBSAN] ICE segfault in cxx_eval_call_expression ../../gcc/cp/constexpr.c) · 0b274c17
      	PR sanitizer/63956
      	* ubsan.c (is_ubsan_builtin_p): Check also built-in class.
      cp/
      	* constexpr.c: Include ubsan.h.
      	(cxx_eval_call_expression): Bail out for IFN_UBSAN_{NULL,BOUNDS}
      	internal functions and for ubsan builtins.
      	* error.c: Include internal-fn.h.
      	(dump_expr): Add printing of internal functions.
      testsuite/
      	* c-c++-common/ubsan/shift-5.c: Add xfails.
      	* g++.dg/ubsan/div-by-zero-1.C: Don't use -w.  Add xfail.
      	* g++.dg/ubsan/pr63956.C: New test.
      
      From-SVN: r218221
      Marek Polacek committed
    • constexpr.c (literal_type_p): Return true for void type in C++14. · e42c407c
      	* constexpr.c (literal_type_p): Return true for void type in C++14.
      
      	* g++.dg/cpp0x/constexpr-function2.C: Limit dg-error to C++11.
      	* g++.dg/cpp0x/constexpr-neg1.C: Likewise.
      	* g++.dg/cpp1y/constexpr-void1.C: New test.
      
      From-SVN: r218220
      Marek Polacek committed
    • re PR c++/60845 (print original type for typedef classes in diagnostics) · 7a181134
      /cp
      2014-12-01  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/60845
      	* typeck.c (finish_class_member_access_expr): Use %q#T instead of
      	%qD in error message.
      
      /testsuite
      2014-12-01  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/60845
      	* g++.dg/parse/error55.C: New.
      
      From-SVN: r218218
      Paolo Carlini committed
    • gimple.h (gimple_build_assign_stat): Remove prototype. · 0d0e4a03
      	* gimple.h (gimple_build_assign_stat): Remove prototype.
      	(gimple_build_assign): Remove define.  Add overload prototypes
      	with tree lhs and either a tree rhs, or enum tree_code and
      	1, 2 or 3 tree operands.
      	* gimple.c (gimple_build_assign_stat): Renamed to...
      	(gimple_build_assign): ... this.  Add overloads with
      	enum tree_code and 1, 2 or 3 tree operands.
      	(gimple_build_assign_with_ops): Remove 1 and 2 operand overloads.
      	Rename the 3 operand overload to ...
      	(gimple_build_assign_1): ... this.  Make it static inline.
      	* tree-ssa-strlen.c (get_string_length): Use gimple_build_assign
      	instead of gimple_build_assign_with_ops, swap the order of first
      	two arguments and adjust formatting where necessary.
      	* tree-vect-slp.c (vect_get_constant_vectors,
      	vect_create_mask_and_perm): Likewise.
      	* tree-ssa-forwprop.c (simplify_rotate): Likewise.
      	* asan.c (build_shadow_mem_access, maybe_create_ssa_name,
      	maybe_cast_to_ptrmode, asan_expand_check_ifn): Likewise.
      	* tsan.c (instrument_builtin_call): Likewise.
      	* tree-chkp.c (chkp_compute_bounds_for_assignment,
      	chkp_generate_extern_var_bounds): Likewise.
      	* tree-loop-distribution.c (generate_memset_builtin): Likewise.
      	* tree-ssa-loop-im.c (rewrite_reciprocal): Likewise.
      	* gimple-builder.c (build_assign, build_type_cast): Likewise.
      	* tree-vect-loop-manip.c (vect_create_cond_for_align_checks): Likewise.
      	* value-prof.c (gimple_divmod_fixed_value, gimple_mod_pow2,
      	gimple_mod_subtract): Likewise.
      	* gimple-match-head.c (maybe_push_res_to_seq): Likewise.
      	* tree-vect-patterns.c (vect_recog_dot_prod_pattern,
      	vect_recog_sad_pattern, vect_handle_widen_op_by_const,
      	vect_recog_widen_mult_pattern, vect_recog_pow_pattern,
      	vect_recog_widen_sum_pattern, vect_operation_fits_smaller_type,
      	vect_recog_over_widening_pattern, vect_recog_widen_shift_pattern,
      	vect_recog_rotate_pattern, vect_recog_vector_vector_shift_pattern,
      	vect_recog_divmod_pattern, vect_recog_mixed_size_cond_pattern,
      	adjust_bool_pattern_cast, adjust_bool_pattern,
      	vect_recog_bool_pattern): Likewise.
      	* gimple-ssa-strength-reduction.c (create_add_on_incoming_edge,
      	insert_initializers, introduce_cast_before_cand,
      	replace_one_candidate): Likewise.
      	* tree-ssa-math-opts.c (insert_reciprocals, powi_as_mults_1,
      	powi_as_mults, build_and_insert_binop, build_and_insert_cast,
      	pass_cse_sincos::execute, bswap_replace, convert_mult_to_fma):
      	Likewise.
      	* tree-tailcall.c (adjust_return_value_with_ops,
      	update_accumulator_with_ops): Likewise.
      	* tree-predcom.c (reassociate_to_the_same_stmt): Likewise.
      	* tree-ssa-reassoc.c (build_and_add_sum,
      	optimize_range_tests_to_bit_test, update_ops,
      	maybe_optimize_range_tests, rewrite_expr_tree, linearize_expr,
      	negate_value, repropagate_negates, attempt_builtin_powi,
      	reassociate_bb): Likewise.
      	* tree-vect-loop.c (vect_is_simple_reduction_1,
      	get_initial_def_for_induction, vect_create_epilog_for_reduction):
      	Likewise.
      	* ipa-split.c (split_function): Likewise.
      	* tree-ssa-phiopt.c (conditional_replacement, minmax_replacement,
      	abs_replacement, neg_replacement): Likewise.
      	* tree-profile.c (gimple_gen_edge_profiler): Likewise.
      	* tree-vrp.c (simplify_truth_ops_using_ranges,
      	simplify_float_conversion_using_ranges,
      	simplify_internal_call_using_ranges): Likewise.
      	* gimple-fold.c (rewrite_to_defined_overflow, gimple_build): Likewise.
      	* tree-vect-generic.c (expand_vector_divmod,
      	optimize_vector_constructor): Likewise.
      	* ubsan.c (ubsan_expand_null_ifn, ubsan_expand_objsize_ifn,
      	instrument_bool_enum_load): Likewise.
      	* tree-ssa-loop-manip.c (create_iv): Likewise.
      	* omp-low.c (lower_rec_input_clauses, expand_omp_for_generic,
      	expand_omp_for_static_nochunk, expand_omp_for_static_chunk,
      	expand_cilk_for, simd_clone_adjust): Likewise.
      	* trans-mem.c (expand_transaction): Likewise.
      	* tree-vect-data-refs.c (bump_vector_ptr, vect_permute_store_chain,
      	vect_setup_realignment, vect_permute_load_chain,
      	vect_shift_permute_load_chain): Likewise.
      	* tree-vect-stmts.c (vect_init_vector, vectorizable_mask_load_store,
      	vectorizable_simd_clone_call, vect_gen_widened_results_half,
      	vect_create_vectorized_demotion_stmts, vectorizable_conversion,
      	vectorizable_shift, vectorizable_operation, vectorizable_store,
      	permute_vec_elements, vectorizable_load): Likewise.
      
      From-SVN: r218216
      Jakub Jelinek committed
    • re PR libstdc++/63840 (std::function copy constructor deletes an uninitialized… · 7b55fa54
      re PR libstdc++/63840 (std::function copy constructor deletes an uninitialized pointer if new fails)
      
      	PR libstdc++/63840
      	* include/std/functional (function::function(const function&)): Set
      	_M_manager after operations that might throw.
      	* include/tr1/functional (function::function(const function&),
      	function::function(_Functor, _Useless)): Likewise.
      	* testsuite/20_util/function/63840.cc: New.
      	* testsuite/tr1/3_function_objects/function/63840.cc: New.
      
      From-SVN: r218215
      Jonathan Wakely committed
    • re PR middle-end/64111 (ICE: conversion of register to a different size) · 31a46aa7
      2014-12-01  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/64111
      	* tree.c (int_cst_hasher::hash): Use TYPE_UID instead of
      	htab_hash_pointer to not break PCH.
      
      From-SVN: r218212
      Richard Biener committed
    • re PR tree-optimization/15346 ([tree-ssa] combine two successive divisions) · c306cfaf
      2014-12-01  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/15346
      	* Makefile.in (gimple-match.o-warn): Remove -Wno-unused-parameter,
      	add -Wno-unused-but-set-variable.
      	* match.pd: Combine two successive divisions.
      
      	* gcc.dg/tree-ssa/forwprop-32.c: New testcase.
      
      From-SVN: r218211
      Richard Biener committed
    • re PR tree-optimization/64126 (FAIL: gcc.dg/pr37289.c scan-tree-dump original… · e19740ae
      re PR tree-optimization/64126 (FAIL: gcc.dg/pr37289.c scan-tree-dump original "-\\(long unsigned int\\) x")
      
      2014-12-01  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/64126
      	* match.pd: Allow conversions in ~A + 1 -> -A, add -A - 1 -> ~A
      	and -1 - A -> ~A.
      	* fold-const.c (fold_binary_loc): Remove transforms here.
      
      From-SVN: r218210
      Richard Biener committed
    • mips.c (mips16_build_call_stub): Move the save of the return address in $18… · 9df01921
      mips.c (mips16_build_call_stub): Move the save of the return address in $18 ahead of passing arguments to FPRs.
      
      	* config/mips/mips.c (mips16_build_call_stub): Move the save of
      	the return address in $18 ahead of passing arguments to FPRs.
      
      From-SVN: r218209
      Maciej W. Rozycki committed
    • re PR target/64055 (gnat.dg/derived_aggregate.adb FAILs on 32-bit i386) · 152ceb59
      	PR target/64055
      	* tree-chkp.c (chkp_find_bound_slots_1): Allow non constant
      	values in array domain.
      
      From-SVN: r218207
      Ilya Enkovich committed