1. 10 Mar, 2017 21 commits
    • 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
    • re PR tree-optimization/77975 (Missed optimization for some small constants) · 5558f089
      	PR tree-optimization/77975
      	* tree-ssa-loop-niter.c (get_base_for): Allow phi argument from latch
      	edge to be constant.
      	(get_val_for): For constant x return it.  Formatting fix.
      	(loop_niter_by_eval): Avoid pointless looping if the next iteration
      	would use the same bases as the current one.
      
      	* gcc.dg/pr77975.c: New test.
      
      From-SVN: r246021
      Jakub Jelinek committed
    • Eliminate unneeded test. · e8375544
      From-SVN: r246020
      Michael Eager committed
    • Daily bump. · b908f125
      From-SVN: r246019
      GCC Administrator committed
  2. 09 Mar, 2017 19 commits