1. 12 Mar, 2017 5 commits
    • install.texi (Specific): No longer refer to binutils 2.11/2.12 minimum. · 665accdf
      	* doc/install.texi (Specific) <cris-axis-elf>: No longer
      	refer to binutils 2.11/2.12 minimum.
      
      From-SVN: r246078
      Gerald Pfeifer committed
    • install.texi (Specific): Remove link to ftp.kernel.org and simplify binutils requirement. · 983bd86d
      	* doc/install.texi (Specific) <powerpc-*-*>: Remove link to
      	ftp.kernel.org and simplify binutils requirement.
      
      From-SVN: r246077
      Gerald Pfeifer committed
    • Implement LWG 2934, optional<const T> doesn't compare with T. · 06272afb
      * include/std/optional
      (operator==(const optional<_Tp>&, const optional<_Tp>&)):
      Turn into operator==(const optional<_Tp>&, const optional<_Up>&).
      (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
      Turn into operator!=(const optional<_Tp>&, const optional<_Up>&).
      (operator<(const optional<_Tp>&, const optional<_Tp>&)):
      Turn into operator<(const optional<_Tp>&, const optional<_Up>&.
      (operator>(const optional<_Tp>&, const optional<_Tp>&)):
      Turn into operator>(const optional<_Tp>&, const optional<_Up>&.
      (operator<=(const optional<_Tp>&, const optional<_Tp>&)):
      Turn into operator<=(const optional<_Tp>&, const optional<_Up>&).
      (operator>=(const optional<_Tp>&, const optional<_Tp>&)):
      Turn into operator>=(const optional<_Tp>&, const optional<_Up>&).
      (operator==(const optional<_Tp>&, const _Tp&)):
      Turn into operator==(const optional<_Tp>&, const _Up&).
      (operator==(const _Tp&, const optional<_Tp>&)):
      Turn into operator==(const _Up&, const optional<_Tp>&).
      (operator!=(const optional<_Tp>&, const _Tp&)):
      Turn into operator!=(const optional<_Tp>&, const _Up&).
      (operator!=(const _Tp&, const optional<_Tp>&)):
      Turn into operator!=(const _Up&, const optional<_Tp>&).
      (operator<(const optional<_Tp>&, const _Tp&)):
      Turn into operator<(const optional<_Tp>&, const _Up&).
      (operator<(const _Tp&, const optional<_Tp>&)):
      Turn into operator<(const _Up&, const optional<_Tp>&).
      (operator>(const optional<_Tp>&, const _Tp&)):
      Turn into operator>(const optional<_Tp>&, const _Up&).
      (operator>(const _Tp&, const optional<_Tp>&)):
      Turn into operator>(const _Up&, const optional<_Tp>&).
      (operator<=(const optional<_Tp>&, const _Tp&)):
      Turn into operator<=(const optional<_Tp>&, const _Up&).
      (operator<=(const _Tp&, const optional<_Tp>&)):
      Turn into operator<=(const _Up&, const optional<_Tp>&).
      (operator>=(const optional<_Tp>&, const _Tp&)):
      Turn into operator>=(const optional<_Tp>&, const _Up&).
      (operator>=(const _Tp&, const optional<_Tp>&)):
      Turn into operator>=(const _Up&, const optional<_Tp>&).
      * testsuite/20_util/optional/relops/7.cc: New.
      
      From-SVN: r246076
      Ville Voutilainen committed
    • Daily bump. · dc555133
      From-SVN: r246075
      GCC Administrator committed
    • rs6000, testsuite: Correct the broken_cplxf_arg test · 3079b92e
      check_effective_target_broken_cplxf_arg is buggy.  It actually tests
      if passing complex float works, not if it fails.  Also, it only runs
      the test for target powerpc64-linux, but we are biarch, so it should
      be powerpc*-linux.
      
      This also changes the early-out conditions to be separate, because
      the big combined condition was hard to follow.
      
      This fixes the libstdc++ tests:
      
      Running target unix/-m64
      XPASS: 26_numerics/complex/13450.cc execution test
      XPASS: 26_numerics/complex/pow.cc execution test
      XPASS: 26_numerics/complex/value_operations/1.cc execution test
      
      which were the last failing libstdc++ tests on BE.
      
      
      gcc/testsuite/
      	* lib/target-supports.exp (check_effective_target_broken_cplxf_arg):
      	Fix test.  Make early-out condition return early.  Correct comments.
      
      From-SVN: r246072
      Segher Boessenkool committed
  2. 11 Mar, 2017 10 commits
  3. 10 Mar, 2017 25 commits
    • re PR rtl-optimization/78911 (Infinite loop at -O2/O3 optimization levels while… · 8f2f6381
      re PR rtl-optimization/78911 (Infinite loop at -O2/O3 optimization levels while trying to compile server.c from Wine-2.0-rc2)
      
      	PR rtl-optimization/78911
      	* lra-assigns.c (must_not_spill_p): New function.
      	(spill_for): Use it.
      
      	PR rtl-optimization/78911
      	* gcc.target/i386/pr78911-1.c: New test.
      	* gcc.target/i386/pr78911-2.c: New test.
      
      From-SVN: r246059
      Bernd Schmidt committed
    • re PR tree-optimization/79981 (Forwprop not working for __atomic_compare_exchange_n) · c7aee4a1
      	PR tree-optimization/79981
      	* tree-vrp.c (extract_range_basic): Handle IMAGPART_EXPR of
      	ATOMIC_COMPARE_EXCHANGE ifn result.
      	(stmt_interesting_for_vrp, vrp_visit_stmt): Handle
      	IFN_ATOMIC_COMPARE_EXCHANGE.
      
      From-SVN: r246054
      Jakub Jelinek committed
    • re PR libfortran/79956 (many new -Wmaybe-uninitialized warnings with bootstrap-O3) · 80dd631f
      2017-03-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfortran/79956
      	* m4/iforeach.m4:  Change exit condition from loop for
      	increasing dimension to >=.  Fix type in comment.
      	* m4/ifunction.m4:  Likewise.
      	* m4/ifunction_logical.m4: Likewise.
      	* generated/all_l1.c: Regenerated.
      	* generated/all_l16.c: Regenerated.
      	* generated/all_l2.c: Regenerated.
      	* generated/all_l4.c: Regenerated.
      	* generated/all_l8.c: Regenerated.
      	* generated/any_l1.c: Regenerated.
      	* generated/any_l16.c: Regenerated.
      	* generated/any_l2.c: Regenerated.
      	* generated/any_l4.c: Regenerated.
      	* generated/any_l8.c: Regenerated.
      	* generated/count_16_l.c: Regenerated.
      	* generated/count_1_l.c: Regenerated.
      	* generated/count_2_l.c: Regenerated.
      	* generated/count_4_l.c: Regenerated.
      	* generated/count_8_l.c: Regenerated.
      	* generated/iall_i1.c: Regenerated.
      	* generated/iall_i16.c: Regenerated.
      	* generated/iall_i2.c: Regenerated.
      	* generated/iall_i4.c: Regenerated.
      	* generated/iall_i8.c: Regenerated.
      	* generated/iany_i1.c: Regenerated.
      	* generated/iany_i16.c: Regenerated.
      	* generated/iany_i2.c: Regenerated.
      	* generated/iany_i4.c: Regenerated.
      	* generated/iany_i8.c: Regenerated.
      	* generated/iparity_i1.c: Regenerated.
      	* generated/iparity_i16.c: Regenerated.
      	* generated/iparity_i2.c: Regenerated.
      	* generated/iparity_i4.c: Regenerated.
      	* generated/iparity_i8.c: Regenerated.
      	* generated/maxloc0_16_i1.c: Regenerated.
      	* generated/maxloc0_16_i16.c: Regenerated.
      	* generated/maxloc0_16_i2.c: Regenerated.
      	* generated/maxloc0_16_i4.c: Regenerated.
      	* generated/maxloc0_16_i8.c: Regenerated.
      	* generated/maxloc0_16_r10.c: Regenerated.
      	* generated/maxloc0_16_r16.c: Regenerated.
      	* generated/maxloc0_16_r4.c: Regenerated.
      	* generated/maxloc0_16_r8.c: Regenerated.
      	* generated/maxloc0_4_i1.c: Regenerated.
      	* generated/maxloc0_4_i16.c: Regenerated.
      	* generated/maxloc0_4_i2.c: Regenerated.
      	* generated/maxloc0_4_i4.c: Regenerated.
      	* generated/maxloc0_4_i8.c: Regenerated.
      	* generated/maxloc0_4_r10.c: Regenerated.
      	* generated/maxloc0_4_r16.c: Regenerated.
      	* generated/maxloc0_4_r4.c: Regenerated.
      	* generated/maxloc0_4_r8.c: Regenerated.
      	* generated/maxloc0_8_i1.c: Regenerated.
      	* generated/maxloc0_8_i16.c: Regenerated.
      	* generated/maxloc0_8_i2.c: Regenerated.
      	* generated/maxloc0_8_i4.c: Regenerated.
      	* generated/maxloc0_8_i8.c: Regenerated.
      	* generated/maxloc0_8_r10.c: Regenerated.
      	* generated/maxloc0_8_r16.c: Regenerated.
      	* generated/maxloc0_8_r4.c: Regenerated.
      	* generated/maxloc0_8_r8.c: Regenerated.
      	* generated/maxloc1_16_i1.c: Regenerated.
      	* generated/maxloc1_16_i16.c: Regenerated.
      	* generated/maxloc1_16_i2.c: Regenerated.
      	* generated/maxloc1_16_i4.c: Regenerated.
      	* generated/maxloc1_16_i8.c: Regenerated.
      	* generated/maxloc1_16_r10.c: Regenerated.
      	* generated/maxloc1_16_r16.c: Regenerated.
      	* generated/maxloc1_16_r4.c: Regenerated.
      	* generated/maxloc1_16_r8.c: Regenerated.
      	* generated/maxloc1_4_i1.c: Regenerated.
      	* generated/maxloc1_4_i16.c: Regenerated.
      	* generated/maxloc1_4_i2.c: Regenerated.
      	* generated/maxloc1_4_i4.c: Regenerated.
      	* generated/maxloc1_4_i8.c: Regenerated.
      	* generated/maxloc1_4_r10.c: Regenerated.
      	* generated/maxloc1_4_r16.c: Regenerated.
      	* generated/maxloc1_4_r4.c: Regenerated.
      	* generated/maxloc1_4_r8.c: Regenerated.
      	* generated/maxloc1_8_i1.c: Regenerated.
      	* generated/maxloc1_8_i16.c: Regenerated.
      	* generated/maxloc1_8_i2.c: Regenerated.
      	* generated/maxloc1_8_i4.c: Regenerated.
      	* generated/maxloc1_8_i8.c: Regenerated.
      	* generated/maxloc1_8_r10.c: Regenerated.
      	* generated/maxloc1_8_r16.c: Regenerated.
      	* generated/maxloc1_8_r4.c: Regenerated.
      	* generated/maxloc1_8_r8.c: Regenerated.
      	* generated/maxval_i1.c: Regenerated.
      	* generated/maxval_i16.c: Regenerated.
      	* generated/maxval_i2.c: Regenerated.
      	* generated/maxval_i4.c: Regenerated.
      	* generated/maxval_i8.c: Regenerated.
      	* generated/maxval_r10.c: Regenerated.
      	* generated/maxval_r16.c: Regenerated.
      	* generated/maxval_r4.c: Regenerated.
      	* generated/maxval_r8.c: Regenerated.
      	* generated/minloc0_16_i1.c: Regenerated.
      	* generated/minloc0_16_i16.c: Regenerated.
      	* generated/minloc0_16_i2.c: Regenerated.
      	* generated/minloc0_16_i4.c: Regenerated.
      	* generated/minloc0_16_i8.c: Regenerated.
      	* generated/minloc0_16_r10.c: Regenerated.
      	* generated/minloc0_16_r16.c: Regenerated.
      	* generated/minloc0_16_r4.c: Regenerated.
      	* generated/minloc0_16_r8.c: Regenerated.
      	* generated/minloc0_4_i1.c: Regenerated.
      	* generated/minloc0_4_i16.c: Regenerated.
      	* generated/minloc0_4_i2.c: Regenerated.
      	* generated/minloc0_4_i4.c: Regenerated.
      	* generated/minloc0_4_i8.c: Regenerated.
      	* generated/minloc0_4_r10.c: Regenerated.
      	* generated/minloc0_4_r16.c: Regenerated.
      	* generated/minloc0_4_r4.c: Regenerated.
      	* generated/minloc0_4_r8.c: Regenerated.
      	* generated/minloc0_8_i1.c: Regenerated.
      	* generated/minloc0_8_i16.c: Regenerated.
      	* generated/minloc0_8_i2.c: Regenerated.
      	* generated/minloc0_8_i4.c: Regenerated.
      	* generated/minloc0_8_i8.c: Regenerated.
      	* generated/minloc0_8_r10.c: Regenerated.
      	* generated/minloc0_8_r16.c: Regenerated.
      	* generated/minloc0_8_r4.c: Regenerated.
      	* generated/minloc0_8_r8.c: Regenerated.
      	* generated/minloc1_16_i1.c: Regenerated.
      	* generated/minloc1_16_i16.c: Regenerated.
      	* generated/minloc1_16_i2.c: Regenerated.
      	* generated/minloc1_16_i4.c: Regenerated.
      	* generated/minloc1_16_i8.c: Regenerated.
      	* generated/minloc1_16_r10.c: Regenerated.
      	* generated/minloc1_16_r16.c: Regenerated.
      	* generated/minloc1_16_r4.c: Regenerated.
      	* generated/minloc1_16_r8.c: Regenerated.
      	* generated/minloc1_4_i1.c: Regenerated.
      	* generated/minloc1_4_i16.c: Regenerated.
      	* generated/minloc1_4_i2.c: Regenerated.
      	* generated/minloc1_4_i4.c: Regenerated.
      	* generated/minloc1_4_i8.c: Regenerated.
      	* generated/minloc1_4_r10.c: Regenerated.
      	* generated/minloc1_4_r16.c: Regenerated.
      	* generated/minloc1_4_r4.c: Regenerated.
      	* generated/minloc1_4_r8.c: Regenerated.
      	* generated/minloc1_8_i1.c: Regenerated.
      	* generated/minloc1_8_i16.c: Regenerated.
      	* generated/minloc1_8_i2.c: Regenerated.
      	* generated/minloc1_8_i4.c: Regenerated.
      	* generated/minloc1_8_i8.c: Regenerated.
      	* generated/minloc1_8_r10.c: Regenerated.
      	* generated/minloc1_8_r16.c: Regenerated.
      	* generated/minloc1_8_r4.c: Regenerated.
      	* generated/minloc1_8_r8.c: Regenerated.
      	* generated/minval_i1.c: Regenerated.
      	* generated/minval_i16.c: Regenerated.
      	* generated/minval_i2.c: Regenerated.
      	* generated/minval_i4.c: Regenerated.
      	* generated/minval_i8.c: Regenerated.
      	* generated/minval_r10.c: Regenerated.
      	* generated/minval_r16.c: Regenerated.
      	* generated/minval_r4.c: Regenerated.
      	* generated/minval_r8.c: Regenerated.
      	* generated/norm2_r10.c: Regenerated.
      	* generated/norm2_r16.c: Regenerated.
      	* generated/norm2_r4.c: Regenerated.
      	* generated/norm2_r8.c: Regenerated.
      	* generated/parity_l1.c: Regenerated.
      	* generated/parity_l16.c: Regenerated.
      	* generated/parity_l2.c: Regenerated.
      	* generated/parity_l4.c: Regenerated.
      	* generated/parity_l8.c: Regenerated.
      	* generated/product_c10.c: Regenerated.
      	* generated/product_c16.c: Regenerated.
      	* generated/product_c4.c: Regenerated.
      	* generated/product_c8.c: Regenerated.
      	* generated/product_i1.c: Regenerated.
      	* generated/product_i16.c: Regenerated.
      	* generated/product_i2.c: Regenerated.
      	* generated/product_i4.c: Regenerated.
      	* generated/product_i8.c: Regenerated.
      	* generated/product_r10.c: Regenerated.
      	* generated/product_r16.c: Regenerated.
      	* generated/product_r4.c: Regenerated.
      	* generated/product_r8.c: Regenerated.
      	* generated/sum_c10.c: Regenerated.
      	* generated/sum_c16.c: Regenerated.
      	* generated/sum_c4.c: Regenerated.
      	* generated/sum_c8.c: Regenerated.
      	* generated/sum_i1.c: Regenerated.
      	* generated/sum_i16.c: Regenerated.
      	* generated/sum_i2.c: Regenerated.
      	* generated/sum_i4.c: Regenerated.
      	* generated/sum_i8.c: Regenerated.
      	* generated/sum_r10.c: Regenerated.
      	* generated/sum_r16.c: Regenerated.
      	* generated/sum_r4.c: Regenerated.
      	* generated/sum_r8.c: Regenerated.
      
      From-SVN: r246053
      Thomas Koenig committed
    • freebsd-unwind.h: New file. · 4ccfdb28
      2017-03-10  John Marino  <gnugcc@marino.st>
      
          * config/aarch64/freebsd-unwind.h: New file.
          * config.host: Add aarch64-*-freebsd unwinder.
      
      From-SVN: r246052
      John Marino committed
    • Build crt*vr.S with AltiVec enabled · 4144e4e3
      These files won't build on targets that do not have AltiVec enabled,
      breaking the build, unless we tell GAS that Altivec insns are fine.
      The alternative is to not build these files in that case, which is much
      more complicated.
      
      
      libgcc/
      	* config/rs6000/crtrestvr.s: Use .machine altivec.
      	* config/rs6000/crtsavevr.s: Ditto.
      
      From-SVN: r246051
      Segher Boessenkool committed
    • Add missing punctuation to message (PR driver/79875) · fdb1880f
      gcc/ChangeLog:
      	PR driver/79875
      	* opts.c (parse_sanitizer_options): Add missing question mark to
      	"did you mean" message.
      
      From-SVN: r246047
      David Malcolm committed
    • rs6000-builtin.def (VMULEUB_UNS): Remove orphaned built-in. · 61f29dee
      2017-03-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000-builtin.def (VMULEUB_UNS): Remove orphaned
      	built-in.
      	(VMULEUH_UNS): Likewise.
      	(VMULOUB_UNS): Likewise.
      	(VMULOUH_UNS): Likewise.
      	* config/rs6000/rs6000.c (builtin_function_type): Remove
      	references to ALTIVEC_BUILTIN_VMUL[EO]U[BH]_UNS.
      
      From-SVN: r246046
      Bill Schmidt committed
    • c-indentation.c: workaround xgettext limitation (PR c/79921) · a02fa805
      gcc/c-family/ChangeLog:
      	PR c/79921
      	* c-indentation.c (warn_for_misleading_indentation): Remove parens
      	from inform's message, so that xgettext can locate it.
      
      From-SVN: r246045
      David Malcolm committed
    • Fix out-of-bounds write in RTL function reader (PR bootstrap/79952) · 57517ca4
      gcc/ChangeLog:
      	PR bootstrap/79952
      	* read-rtl-function.c (function_reader::read_rtx_operand): Update
      	x with result of extra_parsing_for_operand_code_0.
      	(function_reader::extra_parsing_for_operand_code_0): Convert
      	return type from void to rtx, returning x.  When reading
      	SYMBOL_REF with SYMBOL_FLAG_HAS_BLOCK_INFO, reallocate x to the
      	larger size containing struct block_symbol.
      
      From-SVN: r246044
      David Malcolm committed
    • rs6000: float128 on BE and 32-bit · 7502c597
      This fixes float128 on BE and on 32-bit.
      
      The configure tests need to use -mabi=altivec for 32-bit, since it is
      not the default there.  That also enables the "vector" keyword, used by
      the tests.  To do this it temporarily adds a few flags to the CFLAGS
      variable.
      
      It also fixes a syntax error in the libgcc_cv_powerpc_float128_hw test
      (the function name was missing in the function declaration).
      
      Regenerating config.in (via autoreconf) removed the duplicate definition
      of HAVE_SOLARIS_CRTS.
      
      Finally, this adds a "-mfloat128-hardware requires -m64" test to
      rs6000.c: all the current patterns need 64-bit registers.  Maybe we'll
      want to add float128 hardware support to 32-bit some day, but certainly
      not today.
      
      
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
      	-mfloat128-hardware without -m64.
      
      libgcc/
      	* configure.ac (test for libgcc_cv_powerpc_float128): Temporarily
      	modify CFLAGS.  Add -mabi=altivec -mvsx -mfloat128.
      	(test for libgcc_cv_powerpc_float128_hw): Add -mpower9-vector and
      	-mfloat128-hardware to the CFLAGS.  Fix syntax error in the C snippet.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      
      From-SVN: r246043
      Segher Boessenkool committed
    • PR c++/79960 - alias templates and partial ordering · 0c942f3e
      	* pt.c (comp_template_args): Add partial_order parm.
      	(template_args_equal): Likewise.
      	(comp_template_args_porder): New.
      	(get_partial_spec_bindings): Use it.
      
      From-SVN: r246042
      Jason Merrill committed
    • re PR target/79941 (Altivec vec_vmuleub regression) · 8e2c69b4
      
      gcc:
      2017-03-10  Will Schmidt <will_schmidt@vnet.ibm.com>
      
           PR target/79941
           * config/rs6000/rs6000.c (builtin_function_type): Add VMUL*U[HB]
           entries to the case statement that marks unsigned arguments to
           overloaded functions.
      
      testsuite:
      2017-03-10  Will Schmidt <will_schmidt@vnet.ibm.com>
      
           PR target/79941
           * gcc.target/powerpc/fold-vec-mult-even_odd_misc.c: New test.
           * gcc.target/powerpc/fold-vec-mult-even_odd_char.c: New test.
           * gcc.target/powerpc/fold-vec-mult-even_odd_short.c: New test.
      
      From-SVN: r246040
      Will Schmidt committed
    • re PR c++/79967 (ICE on non-type template argument declared noreturn) · 455d833c
      	PR c++/79967
      	* decl.c (grokdeclarator): Check ATTRLIST before dereferencing it.
      
      	* g++.dg/cpp0x/gen-attrs-63.C: New test.
      
      From-SVN: r246039
      Marek Polacek committed
    • re PR c++/79899 (ICE in ctor_omit_inherited_parms at gcc/cp/method.c:576 on ARM target) · e260b0a7
      	PR c++/79899
      	* optimize.c (maybe_thunk_body): Don't ICE if fns[0] is NULL.
      	Use XALLOCAVEC macro.
      
      	* g++.dg/other/friend7.C: New test.
      
      From-SVN: r246038
      Jakub Jelinek committed
    • Fix libstdc++ reserved names test to pass on AIX · da0ced6e
      	* testsuite/17_intro/names.cc: Undefine macros that clash with
      	identifiers in AIX system headers.
      
      From-SVN: r246037
      Jonathan Wakely committed
    • P0604R0 add invoke_result, is_invocable etc. for C++17 · 7dcc645c
      	* include/bits/invoke.h (__invoke): Use __invoke_result instead of
      	result_of, and __is_nothrow_invocable instead of
      	__is_nothrow_callable.
      	* include/bits/shared_ptr_base.h (__shared_ptr): Use __is_invocable
      	instead of __is_callable.
      	* include/std/functional (invoke): use invoke_result_t instead of
      	result_of_t and is_nothrow_invocable instead of is_nothrow_callable.
      	(_Not_fn): Use __invoke_result instead of result_of.
      	* include/std/type_traits (__result_of_memobj, __result_of_memfun):
      	Remove partial specializations for reference_wrapper types.
      	(__result_of_impl): Use __inv_unwrap to strip reference_wrapper.
      	(__invoke_result): Define replacement for result_of and then use it to
      	define result_of.
      	(__is_callable_impl, __is_callable, __is_nothrow_callable): Replace
      	with __is_invocable_impl, __is_invocable, and __is_nothrow_invocable
      	respectively.
      	(invoke_result, invoke_result_t): Define for C++17.
      	(is_callable, is_nothrow_callable): Replace with is_invocable,
      	is_invocable_r, is_nothrow_invocable, and is_nothrow_invocable_r.
      	(is_callable_v, is_nothrow_callable_v): Replace with is_invocable_v,
      	is_invocable_r_v, is_nothrow_invocable_v, and is_nothrow_invocable_r_v.
      	* include/std/variant (hash<variant<T...>>): Use is_nothrow_invocable_v
      	instead of is_nothrow_callable_v.
      	* testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
      	main function.
      	* testsuite/20_util/function_objects/not_fn/1.cc: Use is_invocable
      	instead of is_callable.
      	* testsuite/20_util/is_callable/*: Rename directory and adjust tests
      	to use new traits.
      	* testsuite/20_util/is_notjrow_callable/*: Likewise.
      	* testsuite/20_util/optional/hash.cc: Use is_invocable_v instead of
      	is_callable.
      	* testsuite/20_util/variant/hash.cc: Likewise.
      
      From-SVN: r246036
      Jonathan Wakely committed
    • rs6000.c (rs6000_option_override_internal): Fix two typographic errors in the… · a147ef11
      rs6000.c (rs6000_option_override_internal): Fix two typographic errors in the handling of TARGET_UPPER_REGS_DI.
      
      gcc/ChangeLog:
      
      2017-03-10  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Fix
      	two typographic errors in the handling of TARGET_UPPER_REGS_DI.
      
      From-SVN: r246035
      Kelvin Nilsen committed
    • re PR c++/79896 (ICE in gimplify_expr, at gimplify.c:11950 on non-int128 target) · cdd669f9
      	PR c++/79896
      	* decl.c (finish_enum_value_list): If value is error_mark_node,
      	don't copy it and change its type.
      	* init.c (constant_value_1): Return error_mark_node if DECL_INITIAL
      	of CONST_DECL is error_mark_node.
      
      	* g++.dg/ext/int128-5.C: New test.
      
      From-SVN: r246034
      Jakub Jelinek committed
    • testsuite: attr-alloc_size-11.c (PR79356) · 730e6e46
      As stated in the PR (and elsewhere), this test now passes on aarch64,
      ia64, mips, powerpc, sparc, and s390x.  This patch disables the xfails
      for those targets.
      
      
      	PR testsuite/79356
      	* gcc.dg/attr-alloc_size-11.c: Don't xfail on aarch64, ia64, mips,
      	powerpc, sparc, or s390x.
      
      From-SVN: r246032
      Segher Boessenkool committed
    • re PR target/79907 (ICE in extract_constrain_insn, at recog.c:2213 on ppc64le) · fc8f6304
      	PR target/79907
      	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Test
      	TARGET_UPPER_REGS_DI when setting 'wi' constraint regclass.
      	* gcc.target/powerpc/pr79907.c: New.
      
      From-SVN: r246029
      Pat Haugen committed
    • MPX: Fix option handling. · 8823ce3f
      2017-03-10  Martin Liska  <mliska@suse.cz>
      
              PR target/65705
              PR target/69804
      	* toplev.c (process_options): Enable MPX with LSAN and UBSAN.
      	* tree-chkp.c (chkp_walk_pointer_assignments): Verify that
      	FIELD != NULL.
      
      From-SVN: r246027
      Martin Liska committed
    • [libstdc++-v3] Fix detection of obsolete isnan · 74106ead
      libstdc++-v3 configure checks whether old glibc inline definitions
      of isnan would conflict with the libstdc++-v3 definitions and
      works around them if so.  But if g++ 6.x build A is used to build
      another g++ 6.x B, the configure step for B will pick up the math.h
      installed alongside A instead of the glibc version.  configure will
      then assume that the workaround isn't necessary, leaving B with a
      broken cmath.
      
      isinf already worked around this.  This patch extends the same fix
      to isnan.  (Thanks to George for the fix.)
      
      libstdc++-v3/
      2017-03-10  George Lander  <george.lander@arm.com>
      
      	* acinclude.m4 (glibcxx_cv_obsolete_isnan): Define
      	_GLIBCXX_INCLUDE_NEXT_C_HEADERS before including math.h.
      	* configure: Regenerate.
      
      From-SVN: r246025
      George Lander committed
    • tree-switch-conversion (array_value_type): Start by resetting candidate type to it's main variant. · f1b0632a
      2017-03-10  Olivier Hainque  <hainque@adacore.com>
      
      	* tree-switch-conversion (array_value_type): Start by resetting
      	candidate type to it's main variant.
      
      	testsuite/
      	* gnat.dg/opt64.adb: New test.
      	* gnat.dg/opt64_pkg.ads: New helper.
      	* gnat.dg/opt64_pkg.adb: New helper.
      
      From-SVN: r246024
      Olivier Hainque committed
    • re PR middle-end/79909 (ICE error: invalid rtl sharing found in the insn on ppc64le) · 2d9dd4fb
      	PR rtl-optimization/79909
      	* combine.c (try_combine): Use simplify_replace_rtx on individual
      	CALL_INSN_FUNCTION_USAGE elements instead of replace_rtx on copy_rtx
      	of the whole CALL_INSN_FUNCTION_USAGE.
      
      	* gcc.target/powerpc/pr79909.c: New test.
      
      From-SVN: r246023
      Jakub Jelinek committed
    • re PR tree-optimization/79972 (ICE in tree check: expected ssa_name, have… · 72772e67
      re PR tree-optimization/79972 (ICE in tree check: expected ssa_name, have var_decl in get_range_info, at tree-ssanames.c:377 w/ -Walloca -Wvla-larger-than=364854541)
      
      	PR tree-optimization/79972
      	* gimple-ssa-warn-alloca.c (alloca_call_type): Only call
      	get_range_info on SSA_NAMEs.  Formatting fixes.
      
      	* gcc.dg/pr79972.c: New test.
      
      From-SVN: r246022
      Jakub Jelinek committed