1. 11 Oct, 2016 22 commits
    • Enable printers and xmethods for std::__cxx11::list · bf1de1ac
      	* python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
      	Register printer for std::__cxx11::list.
      	* python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
      	std::__cxx11::list as well as std::list.
      
      From-SVN: r240982
      Jonathan Wakely committed
    • Remove redundant const qualifliers from string_view · 7571121f
      	* include/experimental/string_view (basic_string_view::_S_compare):
      	Remove redundant const from return type.
      	* include/std/string_view (basic_string_view:_S_compare): Likewise.
      
      From-SVN: r240981
      Jonathan Wakely committed
    • More noexcept for standard mutex types and locks · 2c15eace
      	* include/bits/std_mutex.h (mutex::native_handle)
      	(lock_guard(mutex_type&, adopt_lock_t)
      	(unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
      	* include/std/mutex (recursive_mutex, timed_mutex)
      	(recursive_timed_mutex): Likewise.
      
      From-SVN: r240980
      Jonathan Wakely committed
    • PR77710: fix triplet in builtin-sprintf-warn-4.c · e7b08761
      2016-10-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/testsuite/
          PR testsuite/PR77710
          * gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Use *-*-* as catch-all
          target triplet instead of *-*-*-*.
      
      From-SVN: r240979
      Thomas Preud'homme committed
    • utils2.c (build_binary_op): Add a NO_FOLD argument. · 08ef2c16
      	* gcc-interface/utils2.c (build_binary_op): Add a NO_FOLD
      	argument.  Disable folding when true.
      	* gcc-interface/gigi.h (choices_to_gnu): Remove declaration.
      	(build_binary_op): Update signature and comment.
      	* gcc-interface/decl.c (choices_to_gnu): Make static.  Disable
      	folding for all calls to build_binary_op.
      
      From-SVN: r240978
      Pierre-Marie de Rodat committed
    • fe.h (Constant_Value): Declare. · abb3ea16
      	* fe.h (Constant_Value): Declare.
      	* gcc-interface/decl.c (compile_time_known_address_p): Also consider
      	references to constants.
      
      From-SVN: r240977
      Tristan Gingold committed
    • trans.c (gnat_to_gnu): Adjust comment. · 87e25aac
      	* gcc-interface/trans.c (gnat_to_gnu) <N_Op_Add>: Adjust comment.
      	<N_Op_Minus>: Add comment and missing guard.
      	* gcc-interface/trans.c (build_binary_op_trapv): Use an explicit test.
      
      From-SVN: r240976
      Eric Botcazou committed
    • utils.c (type_unsigned_for_rm): New predicate. · 9fd7cd44
      	* gcc-interface/utils.c (type_unsigned_for_rm): New predicate.
      	(make_type_from_size): Use it.
      	(unchecked_convert): Likewise.  Do not skip the extension step if the
      	source type is not integral.
      
      From-SVN: r240975
      Eric Botcazou committed
    • c-common.c (warning_candidate_p): Change the return type to bool and return… · 78f61294
      c-common.c (warning_candidate_p): Change the return type to bool and return true/false instead of 1/0.
      
      	* c-common.c (warning_candidate_p): Change the return type to bool
      	and return true/false instead of 1/0.
      	(vector_mode_valid_p): Likewise.
      
      From-SVN: r240974
      Marek Polacek committed
    • system-linux-ppc64.ads: Delete. · f153e9d5
      	* system-linux-ppc64.ads: Delete.
      	* system-linux-ppc.ads: Make 32-bit/64-bit neutral.
      	* gcc-interface/Makefile.in (PowerPC/Linux): Simplify.
      
      Co-Authored-By: Tristan Gingold <gingold@adacore.com>
      
      From-SVN: r240973
      Eric Botcazou committed
    • Add missing file · d2d58b10
      From-SVN: r240972
      Eric Botcazou committed
    • sparc.opt (msubxc): New option. · ff7e7ee0
      	* config/sparc/sparc.opt (msubxc): New option.
      	* doc/invoke.texi (SPARC options): Document it and tidy up.
      	* doc/tm.texi.in (Condition Codes): Adjust SPARC example.
      	* doc/tm.texi: Regenerate.
      	* config/sparc/sparc-modes.def (CC_NOOV): Rename into...
      	(CCNZ): ...this.
      	(CCX_NOOV): Rename into...
      	(CCXNZ): ...this.
      	(CCC): New.
      	(CCXC): Likewise.
      	* config/sparc/predicates.m (fcc_register_operand): Simplify.
      	(fcc0_register_operand): Likewise.
      	(icc_register_operand): New.
      	(icc_or_fcc_register_operand): Simplify.
      	(nz_comparison_operator): New.
      	(c_comparison_operator): Likewise.
      	(noov_compare_operator): Rename into...
      	(icc_comparison_operator): ...this.  Use above predicates.
      	(noov_compare64_operator): Rename into...
      	(v9_comparison_operator): ...this and tidy up.
      	(fcc_comparison_operator): New.
      	(icc_or_fcc_comparison_operator): Likewise.
      	(v9_register_compare_operator): Rename info...
      	(v9_register_comparison_operator): ...this.
      	* config/sparc/sparc.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
      	(sparc_option_override): Remove redundant VIS masks and add MASK_SUBXC
      	for Niagara-7.
      	(sparc_fixed_condition_code_regs): New function.
      	(select_cc_mode): Remove ATTRIBUTE_UNUSED.  Adjust for CCNZ/CCXNZ
      	renaming and add support for CCC/CCXC.
      	(output_cbranch): Likewise.
      	(sparc_print_operand): Likewise.
      	(gen_v9_scc): Remove obsolete assertion.
      	(emit_scc_insn): Emit RTL directly for EQ and NE.  Add direct support
      	for EQ in DImode if TARGET_SUBXC.  Remove test on TARGET_VIS3 for GEU.
      	(output_cbcond): Remove bogus handling of CC modes.
      	(sparc_register_move_cost): Return 100 for NO_REGS.
      	* config/sparc/sparc.md (W): New mode iterator.
      	(length): Adjust for noov_compare64_operator renaming.
      	(cmpsi_sne): New instruction.
      	(cmpdi_sne): Likewise.
      	(seqdi_special): Delete.
      	(seqdi_special): Likewise.
      	(snesi<P:mode>_special): Likewise.
      	(snedi_special): Likewise.
      	(snedi_special_vis3): Likewise.
      	(snesi patterns): Use W iterator.
      	(snedi patterns): Likewise.  Add TARGET_SUBXC patterns.
      	(sltu patterns): Likewise.
      	(sgeu patterns): Likewise.
      	(scc splitter): Do not split GEU in DImode if TARGET_SUBXC.
      	(normal_branch): Use icc_comparison_operator predicate.
      	(inverted_branch): Likewise.
      	(cbcond_sp32): Use comparison_operator predicate.
      	(cbcond_sp64): Likewise.
      	(normal_int_branch_sp64): Adjust for renaming
      	(inverted_int_branch_sp64): Likewise.
      	(mov<I:mode>_cc_reg_sp64): Likewise.
      	(movsf_cc_reg_sp6): Likewise.
      	(movdf_cc_reg_sp64): Likewise.
      	(movtf_cc_reg_hq_sp64): Likewise.
      	(movtf_cc_reg_sp64): Likewise.
      	(mov<I:mode>_cc_v9): Use icc_or_fcc_comparison_operator predicate.
      	(movsf_cc_v9): Likewise.
      	(movdf_cc_v9): Likewise.
      	(movtf_cc_hq_v9): Likewise.
      	(movtf_cc_v9): Likewise.
      	(adddi3): Call gen_adddi3_sp32.
      	(adddi3_insn_sp32): Rename to...
      	(adddi3_sp32): ...this.  Accept only register_operand as operand #1
      	and use CCCmode for the carry.
      	(addx_extend_sp32): Use CCCmode for the carry.
      	(addx_extend_sp64): Delete.
      	(adddi3_extend_sp32): Use CCCmode for the carry.
      	(cmp_plus patterns): Use CCNZ/CCXNZ mode and add C variants.
      	(subdi3): Call gen_subdi3_sp32.
      	(subdi3_insn_sp32): Rename to...
      	(subdi3_sp32): ...this and use CCmode for the carry.
      	(subx_extend_sp32): Use CCCmode for the carry.
      	(subx_extend_sp64): Delete.
      	(subdi3_extend_sp32): Use CCmode for the carry.
      	(cmp_minus patterns): Use CCNZ/CCXNZ mode and add C variants.
      	(negdi3): Call gen_negdi3_sp32.
      	(negdi3_sp32): Use CCCmode for the carry.
      	(cmp_neg patterns): Use CCNZ/CCXNZ mode and add C variants.
      	(cmp_nz_ashift_1): Use CCNZ mode.
      	(cmp_nz_set_ashift_1): Likewise.
      	(ctrapsi4): Use comparison_operator predicate.
      	(ctrapdi4): Likewise.
      	(trapsi_insn): Use icc_comparison_operator predicate.
      	(trapdi_insn): Likewise.
      	(edge8 patterns): Use CCNZmode.
      	(edge16 patterns): Likewise.
      	(edge32 patterns): Likewise.
      
      From-SVN: r240971
      Eric Botcazou committed
    • visium-modes.def (CC_NOOV): Rename into... · 8d946ecc
      	* config/visium/visium-modes.def (CC_NOOV): Rename into...
      	(CCNZ): ...this.
      	(CC_BTST): Rename into...
      	(CCC): ...this.
      	* config/visium/predicates.md (real_add_operand): New.
      	(visium_btst_operator): Rename into...
      	(visium_equality_comparison_operator): ...this.
      	(visium_noov_operator): Rename into...
      	(visium_nz_comparison_operator): ...this.
      	(visium_c_comparison_operator): New.
      	(visium_branch_operator): Adjust and deal with all CC modes.
      	* config/visium/visium.c (visium_adjust_cost): Adjust.
      	(visium_split_double_add): Use the *_set_carry patterns.
      	(visium_select_cc_mode): Add support for CCC mode and adjust.
      	(output_cbranch): Adjust and use the carry-based operators for
      	floating-point comparisons.
      	* config/visium/visium.md (flags_subst_arith): Adjust.
      	(addsi3_insn_set_carry): New instruction.
      	(subsi3_insn_set_carry): Likewise.
      	(negsi2_insn_set_carry): Likewise.
      	(btst): Adjust.
      	(cmp<mode>_sne): Likewise.
      	(cbranch<mode>4): Use ordered_comparison_operator.
      	(cbranch<mode>4_insn): Likewise.
      	(cbranchsi4_btst_insn): Adjust.
      
      From-SVN: r240969
      Eric Botcazou committed
    • Remove RECORD_TYPE special-casing in std_canonical_va_list_type · 431e31a9
      2016-10-11  Tom de Vries  <tom@codesourcery.com>
      
      	PR middle-end/77558
      	* builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE
      	special-casing.
      
      From-SVN: r240968
      Tom de Vries committed
    • tree.h (build_complex_type): Add second parameter with default. · 2e33e1c4
      	* tree.h (build_complex_type): Add second parameter with default.
      	* tree.c (build_complex_type): Add NAMED second parameter and adjust
      	recursive call.  Create a TYPE_DECL only if NAMED is true.
      	(build_common_tree_nodes): Pass true in calls to build_complex_type.
      
      From-SVN: r240967
      Eric Botcazou committed
    • New avr-passes.def to register AVR specific passes. · 76beabf4
      	* config/avr/avr-passes.def: New file.
      	* config/avr/t-avr (PASSES_EXTRA): Add avr-passes.def.
      	* config/avr/avr-protos.h (gcc::context, rtl_opt_pass): Declare.
      	(make_avr_pass_recompute_note): New proto.
      	* config/avr/avr.c (make_avr_pass_recompute_notes): New function.
      	(avr_pass_recompute_notes): Use anonymous namespace.
      	(avr_register_passes): Remove function...
      	(avr_option_override): ...and its call.
      
      From-SVN: r240966
      Georg-Johann Lay committed
    • [MIPS] Disable -mbranch-likely for -Os when targetting generic arch · 7c507664
      gcc/
      	* config/mips/mips-cpus.def: Replace PTF_AVOID_BRANCHLIKELY with
      	PTF_AVOID_BRANCHLIKELY_ALWAYS for generic architecture and with
      	PTF_AVOID_BRANCHLIKELY_SPEED for others.
      	(mips2, mips3, mips4): Add PTF_AVOID_BRANCHLIKELY_SIZE to tune flags.
      	* config/mips/mips.c (mips_option_override): Enable the branch likely
      	depending on the tune flags and optimization level.
      	* config/mips/mips.h (PTF_AVOID_BRANCHLIKELY): Remove.
      	(PTF_AVOID_BRANCHLIKELY_SPEED): Define.
      	(PTF_AVOID_BRANCHLIKELY_SIZE): Likewise.
      	(PTF_AVOID_BRANCHLIKELY_ALWAYS): Likewise.
      
      From-SVN: r240965
      Robert Suchanek committed
    • lto-streamer-out.c (collect_block_tree_leafs): New helper. · ec1db2a9
      2016-10-11  Richard Biener  <rguenther@suse.de>
      
      	* lto-streamer-out.c (collect_block_tree_leafs): New helper.
      	(output_function): Properly stream the whole block tree.
      	* lto-streamer-in.c (input_function): Likewise.
      
      From-SVN: r240964
      Richard Biener committed
    • Makefile.in (C_COMMON_OBJS): Add c-family/c-warn.o. · 038b5cc0
      	* Makefile.in (C_COMMON_OBJS): Add c-family/c-warn.o.
      
      	* c-common.c (fold_for_warn): No longer static.
      	(bool_promoted_to_int_p): Likewise.
      	(c_common_get_narrower): Likewise.
      	(constant_expression_warning): Move to c-warn.c.
      	(constant_expression_error): Likewise.
      	(overflow_warning): Likewise.
      	(warn_logical_operator): Likewise.
      	(find_array_ref_with_const_idx_r): Likewise.
      	(warn_tautological_cmp): Likewise.
      	(expr_has_boolean_operands_p): Likewise.
      	(warn_logical_not_parentheses): Likewise.
      	(warn_if_unused_value): Likewise.
      	(strict_aliasing_warning): Likewise.
      	(sizeof_pointer_memaccess_warning): Likewise.
      	(check_main_parameter_types): Likewise.
      	(conversion_warning): Likewise.
      	(warnings_for_convert_and_check): Likewise.
      	(match_case_to_enum_1): Likewise.
      	(match_case_to_enum): Likewise.
      	(c_do_switch_warnings): Likewise.
      	(warn_for_omitted_condop): Likewise.
      	(readonly_error): Likewise.
      	(lvalue_error): Likewise.
      	(invalid_indirection_error): Likewise.
      	(warn_array_subscript_with_type_char): Likewise.
      	(warn_about_parentheses): Likewise.
      	(warn_for_unused_label): Likewise.
      	(warn_for_div_by_zero): Likewise.
      	(warn_for_memset): Likewise.
      	(warn_for_sign_compare): Likewise.
      	(do_warn_double_promotion): Likewise.
      	(do_warn_unused_parameter): Likewise.
      	(record_locally_defined_typedef): Likewise.
      	(maybe_record_typedef_use): Likewise.
      	(maybe_warn_unused_local_typedefs): Likewise.
      	(maybe_warn_bool_compare): Likewise.
      	(maybe_warn_shift_overflow): Likewise.
      	(warn_duplicated_cond_add_or_warn): Likewise.
      	(diagnose_mismatched_attributes): Likewise.
      	* c-common.h: Move the declarations from c-warn.c to its own section.
      	* c-warn.c: New file.
      
      From-SVN: r240963
      Marek Polacek committed
    • Daily bump. · 07f51707
      From-SVN: r240962
      GCC Administrator committed
    • compiler: move Backend/Linemap creation out of front end. · 3c061ac0
          
          Push the calls to create Backend and Linemap object out
          of the front end into the back end, and instead pass pointers to
          these objects in the go_create_gogo_args struct. This allows
          for more flexibility in the interfaces used to create the
          objects.
          
          Reviewed-on: https://go-review.googlesource.com/30698
      
      	* go-gcc.h: New file.
      	* go-c.h (struct go_create_gogo_args): Add backend and linemap
      	fields.
      	* go-lang.c: Include "go-gcc.h".
      	(go_langhook_init): Set linemap and backend fields of args.
      	* go-gcc.cc: Include "go-gcc.h".
      	* go-linemap.cc: Include "go-gcc.h".
      
      From-SVN: r240959
      Than McIntosh committed
    • Accidentally failed to commit these earlier, as part of: · abe08b7d
          Update the compiler to use the new names.  Add calls to printlock and
          printunlock around print statements.  Move expression evaluation before
          the call to printlock.  Update g's writebuf field to a slice, and adjust
          C code accordingly.
      
          Reviewed-on: https://go-review.googlesource.com/30717
      
      From-SVN: r240958
      Ian Lance Taylor committed
  2. 10 Oct, 2016 18 commits
    • Infer and push new value ranges for x in y < x. · 5b69c5e5
      gcc/ChangeLog:
      
      2016-10-11  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* tree-vrp.c (evrp_dom_walker::try_add_new_range): New.
      	(evrp_dom_walker::before_dom_children): Infer and push new value
      	ranges for x in y < x.
      
      From-SVN: r240957
      Kugan Vivekanandarajah committed
    • runtime: copy print/println support from Go 1.7 · 65180edc
          
          Update the compiler to use the new names.  Add calls to printlock and
          printunlock around print statements.  Move expression evaluation before
          the call to printlock.  Update g's writebuf field to a slice, and adjust
          C code accordingly.
          
          Reviewed-on: https://go-review.googlesource.com/30717
      
      From-SVN: r240956
      Ian Lance Taylor committed
    • Always support float128 on ia64 (PR target/77586). · 73f01cca
      Bug 77586, and previously
      <https://gcc.gnu.org/ml/gcc-bugs/2016-08/msg03233.html>, reports
      ia64-elf failing to build because of float128_type_node being NULL,
      but being used by the back end for __float128.
      
      The global float128_type_node is only available conditionally, if
      target hooks indicate TFmode is not only available as a scalar mode
      and of the right format, but also supported in libgcc.  The back-end
      support, however, expects the type always to be available for
      __float128 even if the libgcc support is missing.
      
      Although a target-specific node could be restored in the case where
      libgcc support is missing, it seems better to address the missing
      libgcc support.  Thus, this patch enables TFmode soft-fp in libgcc
      globally for all ia64 targets.  Support for XFmode in libgcc (that is,
      for libgcc2.c XFmode functions, not soft-fp) is also enabled for all
      ia64 targets so that ia64 no longer needs to define the
      TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P hook.
      
      I've confirmed that ia64-elf builds cc1 with this patch and it passes
      -fself-test.  I have not otherwise tested the patch.  It's plausible
      that ia64-elf and ia64-freebsd might work as-is, but ia64-vms probably
      needs further changes, by someone familiar with VMS shared libraries,
      to implement an equivalent of ia64/t-softfp-compat in that case
      (avoiding conflicts between __divtf3 from soft-fp and the old alias
      for __divxf3).
      
      	PR target/77586
      gcc:
      	* config/ia64/ia64.c (ia64_libgcc_floating_mode_supported_p)
      	(TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Remove.
      	* config/ia64/elf.h (IA64_NO_LIBGCC_TFMODE): Likewise.
      	* config/ia64/freebsd.h (IA64_NO_LIBGCC_TFMODE): Likewise.
      	* config/ia64/vms.h (IA64_NO_LIBGCC_XFMODE)
      	(IA64_NO_LIBGCC_TFMODE): Likewise.
      
      libgcc:
      	* config.host (ia64*-*-elf*, ia64*-*-freebsd*, ia64-hp-*vms*): Use
      	soft-fp.
      
      From-SVN: r240955
      Joseph Myers committed
    • * sv.po: Update. · 6e341649
      From-SVN: r240953
      Joseph Myers committed
    • Improve docs on libstdc++ source-code layout · 5c248975
      	* doc/xml/manual/appendix_contributing.xml (contrib.organization):
      	Replace <literallayout> with nested <variablelist> elements. Update
      	some more outdated text.
      	* doc/html/*: Regenerate.
      
      From-SVN: r240952
      Jonathan Wakely committed
    • Make any's copy assignment operator exception-safe, · 1725d05d
      don't copy the underlying value when any is moved,
      make in_place constructors explicit.
      * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
      Make explicit.
      (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
      Likewise.
      (operator=(const any&)): Make strongly exception-safe.
      (operator=(any&&)): reset() unconditionally in the case where
      rhs has a value.
      (operator=(_ValueType&&)): Indent the return type.
      (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
      * testsuite/20_util/any/assign/2.cc: Adjust.
      * testsuite/20_util/any/assign/exception.cc: New.
      * testsuite/20_util/any/cons/2.cc: Adjust.
      * testsuite/20_util/any/cons/explicit.cc: New.
      * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
      
      From-SVN: r240951
      Ville Voutilainen committed
    • Allocate bitmap before copying · 496f8eea
      Allocate bitmap before copying
      gcc/ChangeLog:
      
      2016-10-11  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* tree-vrp.c (vrp_intersect_ranges_1): Allocate bitmap before
      	  copying.
      
      From-SVN: r240950
      Kugan Vivekanandarajah committed
    • configure.ac: Add aarch64-*-freebsd*. · b20e7532
      toplevel:
      
      2016-10-10  Andreas Tobler <andreast@gcc.gnu.org>
      
          * configure.ac: Add aarch64-*-freebsd*.
          * configure: Regenerate.
      
      gcc:
      
      2016-10-10  Andreas Tobler  <andreast@gcc.gnu.org>
      
          * config.gcc: Add aarch64-*-freebsd* support.
          * config.host: Likewise.
          * config/aarch64/aarch64-freebsd.h: New file.
          * config/aarch64/t-aarch64-freebsd: Ditto.
      
      libgcc:
      
      2016-10-10  Andreas Tobler  <andreast@gcc.gnu.org>
      
          * config.host: Add support for aarch64-*-freebsd*.
      
      From-SVN: r240949
      Andreas Tobler committed
    • C++17 class deduction issues · b7beb16a
      	PR c++/77890
      	PR c++/77912
      	* pt.c (do_class_deduction): Set cp_unevaluated_operand.
      	(tsubst) [TEMPLATE_TYPE_PARM]: Copy CLASS_PLACEHOLDER_TEMPLATE.
      
      From-SVN: r240948
      Jason Merrill committed
    • re PR tree-optimization/71947 (x ^ y not folded to 0 if x == y by DOM) · d30078b8
              PR tree-optimization/71947
      	* tree-ssa-dom.c (cprop_into_stmt): Avoid replacing A with B, then
      	B with A within a single statement.
      
      	PR tree-optimization/71947
      	* gcc.dg/tree-ssa/pr71947-1.c: New test.
      	* gcc.dg/tree-ssa/pr71947-2.c: New test.
      	* gcc.dg/tree-ssa/pr71947-3.c: New test.
      	* gcc.dg/tree-ssa/pr71947-4.c: New test.
      	* gcc.dg/tree-ssa/pr71947-5.c: New test.
      	* gcc.dg/tree-ssa/pr71947-6.c: New test.
      
      From-SVN: r240947
      Jeff Law committed
    • Update docs on libstdc++ source-code layout · db625934
      	* doc/xml/manual/appendix_contributing.xml (contrib.organization):
      	Describe other subdirectories and add markup. Remove outdated
      	reference to check-script target.
      	* doc/html/*: Regenerate.
      
      From-SVN: r240946
      Jonathan Wakely committed
    • re PR tree-optimization/77824 (unreachable code in SLSR GIMPLE pass) · fbcdc43e
      2016-10-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/77824
      	* gimple-ssa-strength-reduction.c (stmt_cost): Explicitly return
      	zero cost for copies.
      	(find_candidates_dom_walker::before_dom_children): Replace
      	MODIFY_EXPR with SSA_NAME.
      	(replace_mult_candidate): Likewise.
      	(replace_profitable_candidates): Likewise.
      
      From-SVN: r240945
      Bill Schmidt committed
    • Correct C++11 implementation status docs · e2be4477
      	* doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
      
      From-SVN: r240944
      Jonathan Wakely committed
    • Use noexcept instead of _GLIBCXX_USE_NOEXCEPT · a3dbb635
      	* libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
      	with noexcept.
      
      From-SVN: r240943
      Jonathan Wakely committed
    • compiler: prune away gcc-specific linemap usage · 71543388
          
          Add an interface to the go Linemap class to allow clients to ask for the
          line number for a Location (for debugging dumps), so as to move some
          gcc-specific location code into the back end.
          
          Reviewed-on: https://go-review.googlesource.com/30699
      
      	* go-linemap.cc (Gcc_linemap::location_line): New method.
      
      From-SVN: r240942
      Than McIntosh committed
    • runtime: copy channel code from Go 1.7 runtime · 5d8c099e
          
          Change the compiler to use the new routines. Drop the separation of
          small and large values when sending on a channel. Allocate the select
          struct on the stack. Remove the old C implementation of channels. Adjust
          the garbage collector for the new data structure.
          
          Bring in part of the tracing code, enough for the channel code to call.
          
          Bump the permitted number of allocations in one of the tests in
          context_test.go. The difference is that now receiving from a channel
          allocates a sudog, which the C code used to simply put on the
          stack. This will be somewhat better when we port proc.go.
          
          Reviewed-on: https://go-review.googlesource.com/30714
      
      From-SVN: r240941
      Ian Lance Taylor committed
    • Minor simplification to std::_Bind_result helpers · 40962ac0
      	* include/std/functional (_Bind_result::__enable_if_void): Use alias
      	template instead of class template.
      	(_Bind_result::__disable_if_void): Likewise.
      	(_Bind_result::__call): Adjust uses of __enable_if_void and
      	__disable_if_void.
      
      From-SVN: r240940
      Jonathan Wakely committed
    • S/390: Wrap more macro args into () · 2d6744f4
      Turned out that there where a few () around macro args uses missing.
      One real problem with it was detected with the int-in-bool-context in
      the definition of DBX_REGISTER_NUMBER. But while being at it I've
      also tried to fix other places where brackets might be missing.
      
      gcc/ChangeLog:
      
      2016-10-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* config/s390/s390.h: Wrap more macros args in brackets and fix
              some formatting.
      
      From-SVN: r240930
      Andreas Krebbel committed