Commit Graph

153163 Commits

Author SHA1 Message Date
Jakub Jelinek 67d4a7232c backport: re PR target/81121 (ICE: in extract_insn, at recog.c:2311)
Backported from mainline
	2017-06-20  Jakub Jelinek  <jakub@redhat.com>

	PR target/81121
	* config/i386/i386.md (TARGET_USE_VECTOR_CONVERTS float si->{sf,df}
	splitter): Require TARGET_SSE2 in the condition.

	* gcc.target/i386/pr81121.c: New test.

From-SVN: r249481
2017-06-22 00:18:34 +02:00
Jakub Jelinek 34bec96670 backport: re PR sanitizer/81125 (-fsanitize=undefined ICE)
Backported from mainline
	2017-06-20  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/81125
	* ubsan.h (ubsan_encode_value): Workaround buggy clang++ parser
	by removing enum keyword.
	(ubsan_type_descriptor): Likewise.  Formatting fix.

	2017-06-19  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/81125
	* ubsan.h (enum ubsan_encode_value_phase): New.
	(ubsan_encode_value): Change second argument to
	enum ubsan_encode_value_phase with default value of
	UBSAN_ENCODE_VALUE_GENERIC.
	* ubsan.c (ubsan_encode_value): Change second argument to
	enum ubsan_encode_value_phase PHASE from bool IN_EXPAND_P,
	adjust uses, for UBSAN_ENCODE_VALUE_GENERIC use just
	create_tmp_var_raw instead of create_tmp_var and use a
	TARGET_EXPR.
	(ubsan_expand_bounds_ifn, ubsan_build_overflow_builtin,
	instrument_bool_enum_load, ubsan_instrument_float_cast): Adjust
	ubsan_encode_value callers.

	PR sanitizer/81111
	* ubsan.c (ubsan_encode_value): If current_function_decl is NULL,
	use create_tmp_var_raw instead of create_tmp_var, mark it addressable
	just by setting TREE_ADDRESSABLE on the result and use a TARGET_EXPR.

	PR sanitizer/81125
	* g++.dg/ubsan/pr81125.C: New test.

	PR sanitizer/81111
	* g++.dg/ubsan/pr81111.C: New test.

From-SVN: r249480
2017-06-22 00:17:49 +02:00
Jakub Jelinek 32047dc9b8 backport: re PR sanitizer/80973 (ICE with lambda and -fsanitize=undefined)
Backported from mainline
	2017-06-13  Jakub Jelinek  <jakub@redhat.com>

	PR c++/80973
	* cp-gimplify.c (cp_genericize_r): Don't instrument MEM_REF second
	argument even if it has REFERENCE_TYPE.

	* g++.dg/ubsan/pr80973.C: New test.

From-SVN: r249479
2017-06-22 00:15:55 +02:00
Jakub Jelinek 6bf3d75c40 backport: re PR c++/80984 (ICE with label/variable ambiguity)
Backported from mainline
	2017-06-13  Jakub Jelinek  <jakub@redhat.com>

	PR c++/80984
	* cp-gimplify.c (cp_genericize): Only look for VAR_DECLs in
	BLOCK_VARS (outer) chain.
	(cxx_omp_const_qual_no_mutable): Likewise.

	* g++.dg/opt/nrv18.C: New test.

From-SVN: r249478
2017-06-22 00:14:23 +02:00
Ville Voutilainen dedf5c8523 PR libstdc++/80675, PR libstdc++/80940
Backport from mainline
2017-06-21  Ville Voutilainen  <ville.voutilainen@gmail.com>

PR libstdc++/80675
PR libstdc++/80940
* include/std/istream:
(__is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*)): New.
(__do_is_convertible_to_basic_istream_impl): Likewise.
(__is_convertible_to_basic_istream_impl): Likewise.
(__is_convertible_to_basic_istream): Use the new base.
(__rvalue_istream_type): New.
(operator>>(_Istream&&, _Tp&&)): Use the new helper alias
for the SFINAE check, convert to the helper alias type before
doing the actual extraction.
* include/std/ostream:
(__is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*)): New.
(__do_is_convertible_to_basic_ostream_impl): Likewise.
(__is_convertible_to_basic_ostream_impl): Likewise.
(__is_convertible_to_basic_ostream): Use the new base.
(__rvalue_ostream_type): New.
(operator<<(_Ostream&&, const _Tp&)): Use the new helper alias
for the SFINAE check, convert to the helper alias type before
doing the actual insertion.
* testsuite/27_io/rvalue_streams-2.cc: Add new tests.

From-SVN: r249471
2017-06-22 00:09:46 +03:00
Uros Bizjak 50ae657ea5 baseline_symbols.txt: Update.
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r249456
2017-06-21 17:17:28 +02:00
Jonathan Wakely 08c2c9a7ab PR libstdc++/81092 Regenerate configure for libtool_VERSION change
PR libstdc++/81092
	* configure: Regenerate.

From-SVN: r249439
2017-06-21 09:55:52 +01:00
GCC Administrator 2a22642860 Daily bump.
From-SVN: r249431
2017-06-21 00:16:26 +00:00
Jason Merrill fc6f394ab7 PR c++/80972 - C++17 ICE with attribute packed.
* call.c (build_over_call): Allow a TARGET_EXPR from reference
	binding.

From-SVN: r249421
2017-06-20 12:47:58 -04:00
James Greenhalgh 2cbfe19487 Backport: [Patch AArch64 obvious] Fix expected string for fp16 extensions
* config/aarch64/aarch64-option-extensions.def (fp16): Fix expected
	feature string.

From-SVN: r249413
2017-06-20 13:47:03 +00:00
Andreas Schwab a7f7101502 re PR target/80970 (internal compiler error in find_reloads, at reload.c:4077)
PR target/80970
* config/m68k/m68k.md (bsetdreg, bchgdreg, bclrdreg): Use "=d"
instead of "+d".

From-SVN: r249402
2017-06-20 10:27:32 +00:00
GCC Administrator 655d472f96 Daily bump.
From-SVN: r249393
2017-06-20 00:16:25 +00:00
Jason Merrill d9710c5772 PR c++/80562 - ICE with constexpr if.
* semantics.c (finish_if_stmt_cond): Call
	instantiate_non_dependent_expr.

From-SVN: r249389
2017-06-19 16:56:08 -04:00
Jason Merrill 5bc2a4df8a PR c++/80829 - ICE with constexpr copy of base subobject.
* constexpr.c (clear_no_implicit_zero): New.
	(cxx_eval_call_expression): Call it.

From-SVN: r249388
2017-06-19 16:56:02 -04:00
Jason Merrill 630825e204 PR c++/81073 - constexpr and static var in statement-expression.
* constexpr.c (cxx_eval_constant_expression) [DECL_EXPR]: Check
	potential_constant_expression.

From-SVN: r249383
2017-06-19 14:20:48 -04:00
James Greenhalgh b1eff1fcd6 Backport: [Patch ARM] Fix PR71778
gcc/

	PR target/71778
	* config/arm/arm-builtins.c (arm_expand_builtin_args): Return TARGET
	if given a non-constant argument for an intrinsic which requires a
	constant.

gcc/testsuite/

	PR target/71778
	* gcc.target/arm/pr71778.c: New.

From-SVN: r249379
2017-06-19 16:58:03 +00:00
Alexander Monakov 0f6691118a doc: update x86 -mcx16 option description
* doc/invoke.texi (mcx16): Rewrite.

From-SVN: r249377
2017-06-19 19:08:52 +03:00
Rainer Orth 355a0a7911 Update Solaris baselines for GCC 7.2 (PR libstdc++/81092)
* config/abi/post/i386-solaris2.10/baseline_symbols.txt: Regenerate.
	* config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: Likewise.
	* config/abi/post/i386-solaris2.11/baseline_symbols.txt: Likewise.
	* config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: Likewise.
	* config/abi/post/sparc-solaris2.10/baseline_symbols.txt: Likewise.
	* config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
	Likewise.
	* config/abi/post/sparc-solaris2.11/baseline_symbols.txt: Likewise.
	* config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
	Likewise.

From-SVN: r249363
2017-06-19 10:12:07 +00:00
GCC Administrator c76b9f519e Daily bump.
From-SVN: r249355
2017-06-19 00:16:23 +00:00
H.J. Lu ff14bc27a7 x32: Update baseline_symbols.txt
PR libstdc++/81092
	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.

From-SVN: r249351
2017-06-18 12:00:49 -07:00
Jason Merrill 7cb25c3b53 PR c++/60063 - -Wunused-local-typedefs and templates.
* decl2.c (is_late_template_attribute): Return false for "used".

From-SVN: r249346
2017-06-18 00:54:37 -04:00
Jason Merrill 533b0f5576 PR c++/70844 - -Wuseless-cast and inheriting constructor.
* method.c (forward_parm): Suppress warn_useless_cast.

From-SVN: r249345
2017-06-18 00:28:03 -04:00
GCC Administrator 23abfeb281 Daily bump.
From-SVN: r249342
2017-06-18 00:16:32 +00:00
Jason Merrill 006879f2da fix ChangeLog
From-SVN: r249335
2017-06-16 22:49:22 -04:00
Jason Merrill 05b1510406 PR c++/81045 - Wrong type-dependence with auto return type.
* pt.c (type_dependent_expression_p): An undeduced auto outside the
	template isn't dependent.
	* call.c (build_over_call): Instantiate undeduced auto even in a
	template.

From-SVN: r249333
2017-06-16 22:34:15 -04:00
Jason Merrill 2fa1a2d996 PR c++/81102 - Wrong error with partial specialization.
* pt.c (unify) [TEMPLATE_PARM_INDEX]: Strip reference when comparing
	types.  Do type deduction later.

From-SVN: r249332
2017-06-16 22:34:08 -04:00
Jason Merrill 9773d53aa3 PR c++/80174 - ICE with partial specialization of member template.
PR c++/71747
	* pt.c (get_partial_spec_bindings): Only coerce innermost args.

From-SVN: r249331
2017-06-16 22:34:01 -04:00
Jason Merrill 4f3d690c9b PR c++/80831 - ICE with -fsyntax-only.
* decl2.c (c_parse_final_cleanups): Use cgraph_node::get_create.

From-SVN: r249330
2017-06-16 22:33:51 -04:00
Jason Merrill 5e5932dca5 PR c++/80639 - ICE with invalid PMF initialization.
PR c++/80043 - ICE with -fpermissive
	* typeck.c (convert_for_assignment): Recurse when instantiate_type
	returns without an error.

From-SVN: r249329
2017-06-16 22:33:43 -04:00
Jason Merrill d4ddf7af75 PR c++/80465 - ICE with generic lambda with noexcept-specifier.
* lambda.c (maybe_add_lambda_conv_op): Keep processing_template_decl
	set longer for a generic lambda.

From-SVN: r249328
2017-06-16 22:33:36 -04:00
Jason Merrill e2595c6b32 PR c++/80614 - Wrong mangling for C++17 noexcept type
* mangle.c (write_type): Put the eh spec back on the function type.

From-SVN: r249327
2017-06-16 22:33:28 -04:00
Jason Merrill a053c1f4ee PR c++/80384 - ICE with dependent noexcept-specifier
* pt.c (dependent_type_p_r) [FUNCTION_TYPE]: Check for dependent
	noexcept-specifier.

From-SVN: r249326
2017-06-16 22:33:10 -04:00
Jason Merrill 154c2e3781 Fix array decay handling in constant expressions.
* parser.c (cp_parser_constant_expression): Check
	potential_rvalue_constant_expression after decay_conversion.
	* pt.c (convert_nontype_argument): Don't require linkage in C++17.

From-SVN: r249325
2017-06-16 22:33:01 -04:00
Jason Merrill 5aed8fcfb5 * constexpr.c (potential_constant_expression_1): Allow 'this' capture.
From-SVN: r249324
2017-06-16 22:32:53 -04:00
GCC Administrator c4b6e29e27 Daily bump.
From-SVN: r249315
2017-06-17 00:16:21 +00:00
Jakub Jelinek b9306aabbf re PR libstdc++/81092 (Missing symbols for new std::wstring constructors)
PR libstdc++/81092
	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r249261
2017-06-16 16:31:58 +02:00
Jonathan Wakely d8be51c85f Fix std::wbuffer_convert::sync()
* include/bits/locale_conv.h (wbuffer_convert::sync): Fix condition.
	* testsuite/22_locale/conversions/buffer/2.cc: New.

From-SVN: r249256
2017-06-16 14:35:22 +01:00
Jonathan Wakely 38a5f81782 Backport libstdc++ doc improvements from mainline
* doc/xml/manual/appendix_contributing.xml: Link to the list of bad
	names, and link to the test docs and note higher DejaGnu version
	requirement.
	* doc/xml/manual/allocator.xml: Fix ViewCVS URLs.
	* doc/xml/manual/mt_allocator.xml: Likewise.
	* doc/xml/manual/test.xml: Correct instructions on running tests.
	* doc/html/*: Regenerate.

From-SVN: r249250
2017-06-16 13:19:54 +01:00
Jonathan Wakely b1a54fbcff PR libstdc++/81092 add std::wstring symbols and bump library version
PR libstdc++/81092
	* acinclude.m4: Bump libtool_VERSION.
	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
	* config/abi/pre/gnu.ver: Add wstring constructor symbols to new
	GLIBCXX_3.4.24 version.
	* doc/xml/manual/abi.xml: Document new versions.
	* doc/html/*: Regenerate.
	* testsuite/21_strings/basic_string/cons/char/8.cc: Use base object
	constructors to ensure required symbols are exported.
	* testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
	* testsuite/util/testsuite_abi.cc: Add new version.

From-SVN: r249248
2017-06-16 13:18:53 +01:00
Jonathan Wakely 0d6e293508 Fix missing returns in libstdc++ header and tests
* include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing
	return statement.
	* testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
	Return void.
	* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
	Likewise.
	* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: Add
	missing return statements.
	* testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
	Return void.
	* testsuite/special_functions/14_expint/pr68397.cc: Likewise.

From-SVN: r249247
2017-06-16 13:18:44 +01:00
GCC Administrator 5b0b04750a Daily bump.
From-SVN: r249232
2017-06-16 00:16:19 +00:00
Nicolas Boulenguez 6a799a264b re PR ada/81105 (system-freebsd-x86.ads renamed but referenced by gcc/ada/gcc-interface/Makefile.in)
PR ada/81105
	* gcc-interface/Makefile.in (x86 kfreebsd): Adjust system.ads setting.
	(i[3456]86-pc-gnu): Likewise.
	(x86_64 kfreebsd): Likewise.

From-SVN: r249229
2017-06-15 22:22:18 +00:00
Eric Botcazou da9057102c re PR rtl-optimization/80474 (ipa-cp wrongly adding LO(symbol) twice)
PR rtl-optimization/80474
	* reorg.c (update_block): Do not ignore instructions in a delay slot.

From-SVN: r249220
2017-06-15 13:25:33 +00:00
GCC Administrator 50e0759745 Daily bump.
From-SVN: r249211
2017-06-15 00:16:16 +00:00
Eric Botcazou d03f4299d3 sparc.h (MASK_ISA): Add MASK_LEON and MASK_LEON3.
* config/sparc/sparc.h (MASK_ISA): Add MASK_LEON and MASK_LEON3.
	(MASK_FEATURES): New macro.
	* config/sparc/sparc.c (sparc_option_override): Remove the special
	handling of -mfpu and generalize it to all MASK_FEATURES switches.

From-SVN: r249190
2017-06-14 11:23:18 +00:00
Eric Botcazou 9b6d5249f7 * config/sparc/driver-sparc.c (cpu_names): Add SPARC-T5 entry.
From-SVN: r249184
2017-06-14 07:45:45 +00:00
GCC Administrator 5a38e4f706 Daily bump.
From-SVN: r249178
2017-06-14 00:16:13 +00:00
GCC Administrator 48aa639164 Daily bump.
From-SVN: r249141
2017-06-13 00:16:19 +00:00
David S. Miller e45a996a2f More refinements to fixing sparc's PR target/80968.
PR target/80968
	* config/sparc/sparc.md (return expander): Emit frame blockage if
	function uses alloca.

From-SVN: r249135
2017-06-12 12:32:49 -07:00
Eric Botcazou dd7cdec6c1 re PR ada/81070 (build failure for s-intrr.adb)
PR ada/81070
	* s-interr-hwint.adb: Reinstate.
	* gcc-interface/Makefile.in (RTEMS): Use it again.

From-SVN: r249116
2017-06-12 10:49:17 +00:00