1. 13 Mar, 2017 8 commits
    • [ARC] Fix tst_bitfield_tst pattern. · 8c56cc5a
      gcc/
      2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.md (*tst_bitfield_tst): Fix pattern.
      
      gcc/testsuite
      2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* testsuite/gcc.target/arc/bitfield.c: New file.
      
      From-SVN: r246090
      Claudiu Zissulescu committed
    • [ARC] Add code density instructions. · fa9c1b3c
      gcc/
      2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (arc_output_addsi): Emit code density adds.
      	* config/arc/arc.md (cpu_facility): Add cd variant.
      	(*movqi_insn): Add code density variant.
      	(*movhi_insn): Likewise.
      	(*movqi_insn): Likewise.
      	(*addsi3_mixed): Likewise.
      	(subsi3_insn): Likewise.
      
      From-SVN: r246089
      Claudiu Zissulescu committed
    • [ARC] Fix conditional move contstraint · 27ffcc36
      Move pattern (movsi_insn) allows predicated instructions to be
      instructions which can hold all registers.  However, the conditional
      variant doesn't.  This patch fixes this problem.
      
      2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.md (movsi_cond_exec): Update constraint.
      
      From-SVN: r246088
      Claudiu Zissulescu committed
    • [ARC] Handle complex PIC move patterns. · 14555394
      fwprop step is placing in the REG_EQUIV notes constant pic unspecs
      expressions.  Then, loop may use these notes for optimizations
      rezulting in complex patterns that are not supported by the current
      implementation.
      
      The patch adds handling of complex PIC addresses having MINUS or UNARY
      operations.
      
      gcc/
      2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (arc_legitimize_pic_address): Handle PIC
      	expressions with MINUS and UNARY ops.
      
      gcc/testsuite
      2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* gcc.target/arc/pr9001090948.c: New file.
      
      From-SVN: r246087
      Claudiu Zissulescu committed
    • PR c++/79393 DR 1658 workaround · 16e93e4b
      	PR c++/79393 DR 1658 workaround
      	* method.c (synthesized_method_walk): Check vbases of abstract
      	classes for dtor walk.
      
      From-SVN: r246085
      Nathan Sidwell committed
    • [ARM] PR target/79911: Invalid vec_select arguments · b8c36603
      	PR target/79911
      	* config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3):
      	Rename to...
      	(vec_sel_widen_ssum_lo<mode><V_half>3): ... This. Avoid mismatch
      	between vec_select and vector argument.
      	(vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): Rename to...
      	(vec_sel_widen_ssum_hi<mode><V_half>3): ... This. Likewise.
      	(vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): Rename to...
      	(vec_sel_widen_usum_lo<mode><V_half>3): ... This.
      	(vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): Rename to...
      	(vec_sel_widen_usum_hi<mode><V_half>3): ... This.
      
      From-SVN: r246084
      Kyrylo Tkachov committed
    • re PR other/79991 (typo in params.def, PARAM_VECT_MAX_PEELING_FOR_ALIGNMENT) · 91cd87db
      2017-03-13  Richard Biener  <rguenther@suse.de>
      
      	PR other/79991
      	* params.def (vect-max-peeling-for-alignment): Fix typo.
      
      From-SVN: r246083
      Richard Biener committed
    • Daily bump. · b5107478
      From-SVN: r246082
      GCC Administrator committed
  2. 12 Mar, 2017 6 commits
    • install.texi (Specific): Remove description of issue that only occurred with binutils below 2.18. · 9c888612
      	* doc/install.texi (Specific) <mips-*-*>: Remove description of 
      	issue that only occurred with binutils below 2.18.
      
      From-SVN: r246079
      Gerald Pfeifer committed
    • 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
  3. 11 Mar, 2017 10 commits
  4. 10 Mar, 2017 16 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