152368 Commits

Author SHA1 Message Date
Marek Polacek
85059a38cb * c-decl.c (implicit_decl_warning): Add a comment. Fix formatting.
From-SVN: r246069
2017-03-11 10:26:35 +00:00
David Malcolm
2f6f187a86 Simplify uses of "%<%s%>" to "%qs" (PR translation/79848)
gcc/c-family/ChangeLog:
	PR translation/79848
	* c-format.c (check_format_string): Simplify uses of "%<%s%>" to
	"%qs".

gcc/c/ChangeLog:
	PR translation/79848
	* c-decl.c (declspecs_add_type): Simplify uses of "%<%s%>" to
	"%qs".
	* c-parser.c (c_parser_oacc_shape_clause): Likewise.

gcc/cp/ChangeLog:
	PR translation/79848
	* decl.c (grokfndecl): Simplify uses of "%<%s%>" to "%qs".

gcc/ChangeLog:
	PR translation/79848
	* ipa-devirt.c (warn_types_mismatch): Simplify uses of "%<%s%>" to
	"%qs".
	* ipa-pure-const.c (suggest_attribute): Likewise.  Convert _
	to G_ to avoid double translation.

From-SVN: r246068
2017-03-11 01:57:11 +00:00
David Malcolm
90aaff2cde Remove trailing period from various diagnostic messages (PR translation/79923)
gcc/ChangeLog:
	PR translation/79923
	* auto-profile.c (get_combined_location): Convert leading
	character of diagnostics to lower case and remove trailing period.
	(read_profile): Likewise for various diagnostics.
	* config/arm/arm.c (arm_option_override): Remove trailing period
	from various diagnostics.
	* config/msp430/msp430.c (msp430_expand_delay_cycles): Likewise.
	(msp430_expand_delay_cycles): Likewise.

From-SVN: r246067
2017-03-11 01:43:48 +00:00
David Malcolm
fb241da254 aarch64.c: tweaks to quoting in error messages (PR target/79925)
gcc/ChangeLog:
	PR target/79925
	* config/aarch64/aarch64.c (aarch64_validate_mcpu): Quote the
	full command-line argument, rather than just "str".
	(aarch64_validate_march): Likewise.
	(aarch64_validate_mtune): Likewise.

From-SVN: r246066
2017-03-11 01:40:04 +00:00
Martin Sebor
1d0cf89ab4 Fix up a couple of old ChangeLog entries.
From-SVN: r246065
2017-03-10 17:37:40 -07:00
Martin Sebor
66b2754523 As discussed in https://gcc.gnu.org/ml/gcc-patches/2017-02/msg00942.html
gcc/testsuite/ChangeLog:
	* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Add a test case.

From-SVN: r246064
2017-03-10 17:33:45 -07:00
Joseph Myers
5e12b9b500 * de.po, sv.po: Update.
From-SVN: r246063
2017-03-11 00:33:30 +00:00
GCC Administrator
98cfb02432 Daily bump.
From-SVN: r246062
2017-03-11 00:16:18 +00:00
Bernd Schmidt
8f2f638160 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
2017-03-10 21:17:13 +00:00
Jakub Jelinek
c7aee4a15c re PR tree-optimization/79981 (Forwprop not working for __atomic_compare_exchange_n)
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
2017-03-10 20:47:44 +01:00
Thomas Koenig
80dd631fce re PR libfortran/79956 (many new -Wmaybe-uninitialized warnings with bootstrap-O3)
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
2017-03-10 19:42:46 +00:00
John Marino
4ccfdb287e freebsd-unwind.h: New file.
2017-03-10  John Marino  <gnugcc@marino.st>

    * config/aarch64/freebsd-unwind.h: New file.
    * config.host: Add aarch64-*-freebsd unwinder.

From-SVN: r246052
2017-03-10 20:33:27 +01:00
Segher Boessenkool
4144e4e301 Build crt*vr.S with AltiVec enabled
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
2017-03-10 20:29:48 +01:00
David Malcolm
fdb1880f3d Add missing punctuation to message (PR driver/79875)
gcc/ChangeLog:
	PR driver/79875
	* opts.c (parse_sanitizer_options): Add missing question mark to
	"did you mean" message.

From-SVN: r246047
2017-03-10 19:22:35 +00:00
Bill Schmidt
61f29dee3e rs6000-builtin.def (VMULEUB_UNS): Remove orphaned built-in.
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
2017-03-10 19:16:04 +00:00
David Malcolm
a02fa80571 c-indentation.c: workaround xgettext limitation (PR c/79921)
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
2017-03-10 19:09:02 +00:00
David Malcolm
57517ca426 Fix out-of-bounds write in RTL function reader (PR bootstrap/79952)
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
2017-03-10 18:39:52 +00:00
Segher Boessenkool
7502c5970d rs6000: float128 on BE and 32-bit
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
2017-03-10 18:57:58 +01:00
Jason Merrill
0c942f3eda PR c++/79960 - alias templates and partial ordering
* 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
2017-03-10 12:35:54 -05:00
Will Schmidt
8e2c69b489 re PR target/79941 (Altivec vec_vmuleub regression)
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
2017-03-10 16:18:44 +00:00
Marek Polacek
455d833cd8 re PR c++/79967 (ICE on non-type template argument declared noreturn)
PR c++/79967
	* decl.c (grokdeclarator): Check ATTRLIST before dereferencing it.

	* g++.dg/cpp0x/gen-attrs-63.C: New test.

From-SVN: r246039
2017-03-10 15:36:00 +00:00
Jakub Jelinek
e260b0a7dd re PR c++/79899 (ICE in ctor_omit_inherited_parms at gcc/cp/method.c:576 on ARM target)
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
2017-03-10 16:33:04 +01:00
Jonathan Wakely
da0ced6eb8 Fix libstdc++ reserved names test to pass on AIX
* testsuite/17_intro/names.cc: Undefine macros that clash with
	identifiers in AIX system headers.

From-SVN: r246037
2017-03-10 15:29:49 +00:00
Jonathan Wakely
7dcc645ccd P0604R0 add invoke_result, is_invocable etc. for C++17
* 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
2017-03-10 15:29:38 +00:00
Kelvin Nilsen
a147ef113d 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
2017-03-10 15:29:35 +00:00
Jakub Jelinek
cdd669f9fc re PR c++/79896 (ICE in gimplify_expr, at gimplify.c:11950 on non-int128 target)
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
2017-03-10 16:28:26 +01:00
Segher Boessenkool
730e6e4634 testsuite: attr-alloc_size-11.c (PR79356)
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
2017-03-10 16:23:06 +01:00
Pat Haugen
fc8f6304a9 re PR target/79907 (ICE in extract_constrain_insn, at recog.c:2213 on ppc64le)
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
2017-03-10 14:32:42 +00:00
Martin Liska
8823ce3f54 MPX: Fix option handling.
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
2017-03-10 13:24:45 +00:00
George Lander
74106ead26 [libstdc++-v3] Fix detection of obsolete isnan
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
2017-03-10 12:22:45 +00:00
Olivier Hainque
f1b0632aab tree-switch-conversion (array_value_type): Start by resetting candidate type to it's main variant.
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
2017-03-10 11:16:21 +00:00
Jakub Jelinek
2d9dd4fb86 re PR middle-end/79909 (ICE error: invalid rtl sharing found in the insn on ppc64le)
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
2017-03-10 08:57:45 +01:00
Jakub Jelinek
72772e6761 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
2017-03-10 08:55:00 +01:00
Jakub Jelinek
5558f089e3 re PR tree-optimization/77975 (Missed optimization for some small constants)
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
2017-03-10 08:53:57 +01:00
Michael Eager
e837554452 Eliminate unneeded test.
From-SVN: r246020
2017-03-10 00:48:51 +00:00
GCC Administrator
b908f12576 Daily bump.
From-SVN: r246019
2017-03-10 00:16:21 +00:00
Marek Polacek
822a132cfb re PR c++/79962 (ICE nonnull_check_p on a function template with a type-dependent attribute nonnull)
PR c++/79962
	PR c++/79984
	* c-attribs.c (handle_nonnull_attribute): Save the result of default
	conversion to the attribute list.

	* c-c++-common/nonnull-3.c: New test.
	* g++.dg/warn/Wnonnull3.C: New test.

From-SVN: r246016
2017-03-09 22:45:39 +00:00
Bill Schmidt
6579b1563b rs6000.c (rs6000_gen_le_vsx_permute): Use rotate instead of vec_select for V1TImode.
2017-03-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use rotate
	instead of vec_select for V1TImode.
	* conifg/rs6000/vsx.md (VSX_LE): Remove mode iterator that is no
	longer needed.
	(VSX_LE_128): Add V1TI to this mode iterator.
	(*vsx_le_perm_load_<mode>): Change to use VSX_D mode iterator.
	(*vsx_le_perm_store_<mode>): Likewise.
	(pre-reload splitter for VSX stores): Likewise.
	(post-reload splitter for VSX stores): Likewise.
	(*vsx_xxpermdi2_le_<mode>): Likewise.
	(*vsx_lxvd2x2_le_<mode>): Likewise.
	(*vsx_stxvd2x2_le_<mode>): Likewise.

From-SVN: r246015
2017-03-09 22:41:34 +00:00
Jason Merrill
4a23a464f8 * g++.dg/warn/Wpadded-1.C: Fix for 32-bit target.
From-SVN: r246014
2017-03-09 17:20:33 -05:00
Jonathan Wakely
d57409cb5f Define macro to simplify std::_Not_fn definition
* include/std/functional (_Not_fn): Define macro to simplify
	repetitive function definitions.

From-SVN: r246013
2017-03-09 20:36:42 +00:00
Michael Eager
4e0c6654ef Correct failures with --enable-checking=yes,rtl.
* config/microblaze/microblaze.c (microblaze_expand_shift):
        Replace GET_CODE test with CONST_INT_P and INTVAL test with
        test for const0_rtx.
        * config/microblaze/microblaze.md (ashlsi3_byone, ashrsi3_byone,
        lshrsi3_byone): Replace INTVAL with test for const1_rtx.

From-SVN: r246012
2017-03-09 18:09:39 +00:00
Matthew Fortune
c9819d2270 Use -mhard-float for MIPS -mlxc1-sxc1 tests
gcc/testsuite/

	* gcc.target/mips/lxc1-sxc1-1.c: Use -mhard-float.
	* gcc.target/mips/lxc1-sxc1-2.c: Likewise.

From-SVN: r246011
2017-03-09 17:18:41 +00:00
Marek Polacek
3661842863 re PR sanitizer/79757 (ICE in declare_vars, at gimplify.c:634)
PR sanitizer/79757
	* c-parser.c (c_parser_declaration_or_fndef): Don't sanitize old-style
	parameter declarations with initializers.

	* gcc.dg/ubsan/pr79757-1.c: New test.
	* gcc.dg/ubsan/pr79757-2.c: New test.
	* gcc.dg/ubsan/pr79757-3.c: New test.
	* gcc.dg/ubsan/pr79757-4.c: New test.
	* gcc.dg/ubsan/pr79757-5.c: New test.

From-SVN: r246010
2017-03-09 16:58:17 +00:00
Jakub Jelinek
01e5af5a2f re PR c/79969 (C FE emits locus of forward enum declaration rather than definition into debug info)
PR c/79969
	* c-decl.c (start_enum): Adjust DECL_SOURCE_LOCATION of
	TYPE_STUB_DECL.

	* gcc.dg/debug/dwarf2/enum-loc1.c: New test.

From-SVN: r246009
2017-03-09 17:42:45 +01:00
Marek Polacek
6443c7c0e5 re PR c++/79687 (Wrong code with pointer-to-member)
PR c++/79687
	* init.c (constant_value_1): Break if the variable has a dynamic
	initializer.

	* g++.dg/expr/ptrmem8.C: New test.
	* g++.dg/expr/ptrmem9.C: New test.

From-SVN: r246008
2017-03-09 16:36:37 +00:00
Richard Biener
d721dc3c4b re PR tree-optimization/79977 ([graphite] ICE in outermost_loop_in_sese, at sese.c:300 w/ -O2 -floop-nest-optimize)
2017-03-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79977
	* graphite-scop-detection.c (scop_detection::merge_sese):
	Handle the case of extra exits to blocks dominating the entry.

	* gcc.dg/graphite/pr79977.c: New testcase.

From-SVN: r246006
2017-03-09 16:19:37 +00:00
Jonathan Wakely
e0472d7e8c Define std::byte for C++17 (P0298R3)
* doc/xml/manual/status_cxx2017.xml: Document std::byte support.
	* include/c_global/cstddef (std::byte): Define for C++17.
	* testsuite/18_support/byte/global_neg.cc: New test.
	* testsuite/18_support/byte/ops.cc: New test.
	* testsuite/18_support/byte/requirements.cc: New test.

From-SVN: r246005
2017-03-09 15:42:02 +00:00
Toma Tabacu
1f1fd3e272 Add check_effective_target_rdynamic and use it in g++.dg/lto/pr69589_0.C.
gcc/
	* doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
	Document rdynamic.

gcc/testsuite/

	* g++.dg/lto/pr69589_0.C: Add dg-require-effective-target for
	rdynamic.  Remove dg-skip-if for targets which don't support -rdynamic.
	* lib/target-supports.exp (check_effective_target_rdynamic):
	New proc.

From-SVN: r246004
2017-03-09 15:04:31 +00:00
Vladimir Makarov
9125b9fc80 re PR rtl-optimization/79949 (ICE in Max. number of generated reload insns per insn is achieved (90))
2017-03-09  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/79949
	* lra-constraints.c (process_alt_operands): Check memory when
	trying to predict a cycle.  Print about the overall increase.

From-SVN: r246003
2017-03-09 14:43:17 +00:00
Richard Biener
16967aff7a re PR target/79971 (ICE in const_binop, at fold-const.c:1554 on ARM target with saturated integers)
2017-03-09  Richard Biener  <rguenther@suse.de>

	PR middle-end/79971
	* gimple-expr.c (useless_type_conversion_p): Preserve
	TYPE_SATURATING for fixed-point types.

	* gcc.dg/fixed-point/pr79971.c: New testcase.

From-SVN: r246002
2017-03-09 13:20:50 +00:00