Commit Graph

153519 Commits

Author SHA1 Message Date
Thomas Schwinge
c30b6475f4 Handle libbacktrace in contrib/gcc_update
contrib/
	* gcc_update (files_and_dependencies): Handle libbacktrace.

trunk r253346

From-SVN: r253347
2017-10-02 13:58:11 +02:00
GCC Administrator
087d0805fb Daily bump.
From-SVN: r253333
2017-10-02 00:16:15 +00:00
GCC Administrator
1fd7cad65d Daily bump.
From-SVN: r253326
2017-10-01 00:16:15 +00:00
Jakub Jelinek
0624feee0b i386.c (ix86_split_idivmod): Use mode instead of always SImode for DIV and MOD in REG_EQUAL notes.
* config/i386/i386.c (ix86_split_idivmod): Use mode instead of
	always SImode for DIV and MOD in REG_EQUAL notes.

From-SVN: r253320
2017-09-30 10:27:27 +02:00
Jakub Jelinek
def8dcdb1f backport: re PR c/82340 (volatile ignored in compound literal)
Backported from mainline
	2017-09-29  Jakub Jelinek  <jakub@redhat.com>

	PR c/82340
	* c-decl.c (build_compound_literal): Use c_apply_type_quals_to_decl
	instead of trying to set just TREE_READONLY manually.

	* gcc.dg/tree-ssa/pr82340.c: New test.

From-SVN: r253319
2017-09-30 10:26:32 +02:00
Jakub Jelinek
4eb003869d backport: re PR c++/82159 (ICE: in assign_temp, at function.c:961)
Backported from mainline
	2017-09-27  Jakub Jelinek  <jakub@redhat.com>

	PR c++/82159
	* gimplify.c (gimplify_modify_expr): Don't optimize away zero sized
	lhs from calls if the lhs has addressable type.

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

From-SVN: r253318
2017-09-30 10:25:02 +02:00
GCC Administrator
f11eb23ea3 Daily bump.
From-SVN: r253314
2017-09-30 00:16:14 +00:00
Krister Walfridsson
ac5cb7c9a0 backport: re PR target/77480 (netbsd specfile will not link against libc when building -shared (+patch))
2017-09-29  Krister Walfridsson  <krister.walfridsson@gmail.com>

	Backport from mainline
	2017-06-29  Maya Rashish  <coypu@sdf.org>

	PR target/77480
	* config/netbsd.h (NETBSD_LIB_SPEC): Add -lc when creating shared
	objects.

From-SVN: r253309
2017-09-29 21:34:00 +00:00
Krister Walfridsson
4ffa3da132 backport: re PR target/39570 (cabs and cabsf are named differently on NetBSD 5)
2017-09-29  Krister Walfridsson  <krister.walfridsson@gmail.com>

	Backport from mainline
	2017-09-26  Krister Walfridsson  <krister.walfridsson@gmail.com>

	PR target/39570
	* gcc/config/netbsd-protos.h: New file.
	* gcc/config/netbsd.c: New file.
	* gcc/config/netbsd.h (SUBTARGET_INIT_BUILTINS): Define.
	* gcc/config/t-netbsd: New file.
	* gcc/config.gcc (tm_p_file): Add netbsd-protos.h.
	(tmake_file) Add t-netbsd.
	(extra_objs) Add netbsd.o.

From-SVN: r253283
2017-09-29 09:38:08 +00:00
GCC Administrator
e3929263bc Daily bump.
From-SVN: r253273
2017-09-29 00:16:16 +00:00
Krister Walfridsson
98c9c18131 backport: re PR target/80600 (hidden symbol `__cpu_model' is referenced by DSO)
gcc/ChangeLog:

	Backport from mainline
	2017-05-14  Krister Walfridsson  <krister.walfridsson@gmail.com>

	PR target/80600
	* config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc.

libgcc/ChangeLog:

	Backport from mainline
	2017-05-14  Krister Walfridsson  <krister.walfridsson@gmail.com>

	PR target/80600
	* config.host (*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file.

From-SVN: r253263
2017-09-28 19:17:51 +00:00
GCC Administrator
920436fedb Daily bump.
From-SVN: r253247
2017-09-28 00:16:13 +00:00
Christophe Lyon
dc6124e513 backport: sourcebuild.texi (ARM-specific attributes): Document new arm_neon_ok_no_float_abi effective target.
Backport from trunk r249639.

2017-09-27  Christophe Lyon  <christophe.lyon@linaro.org>

	gcc/
 	Backport from trunk r249639.
 	2017-06-26  Christophe Lyon  <christophe.lyon@linaro.org>

	* doc/sourcebuild.texi (ARM-specific attributes): Document new
	arm_neon_ok_no_float_abi effective target.

	gcc/testsuite/
	Backport from trunk r249639.
	2017-06-26  Christophe Lyon  <christophe.lyon@linaro.org>

	* lib/target-supports.exp
	(check_effective_target_arm_neon_ok_nocache): Add flags with
	-mfloat-abi=hard. Include arm_neon.h.
	(check_effective_target_arm_neon_ok_no_float_abi_nocache): New.
	(check_effective_target_arm_neon_ok_no_float_abi): New.
	* gcc.target/arm/lto/pr65837_0.c: Require
	arm_neon_ok_no_float_abi. Add -mfpu=neon to dg-lto-options.
	* gcc.target/arm/lto/pr65837-attr_0.c: Require
	arm_neon_ok_no_float_abi. Remove dg-suppress-ld-options.

From-SVN: r253234
2017-09-27 17:40:39 +02:00
GCC Administrator
dba29deff3 Daily bump.
From-SVN: r253221
2017-09-27 00:16:14 +00:00
Richard Biener
87c7cf4766 Backport PRs 82244, 82264, 82276, 82285, 82291
2017-09-26  Richard Biener  <rguenther@suse.de>

	Backport from mainline
	2017-09-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82244
	* tree-vrp.c (remove_range_assertions): Do not propagate
	a constant to abnormals but replace the assert with a copy.

	* gcc.dg/torture/pr82244.c: New testcase.

	2017-09-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82276
	PR tree-optimization/82244
	* tree-vrp.c (build_assert_expr_for): Set
	SSA_NAME_OCCURS_IN_ABNORMAL_PHI if the variable we assert on
	has it set.
	(remove_range_assertions): Revert earlier change.

	* gcc.dg/torture/pr82276.c: New testcase.

	2017-09-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82264
	* tree-ssa-sccvn.c (vn_phi_eq): Use safe_dyn_cast to check
	for GIMPLE_CONDs.
	(vn_phi_lookup): Likewise.
	(vn_phi_insert): Likewise.
	* is-a.h (safe_dyn_cast): New.

	* gcc.dg/torture/pr82264.c: New testcase.

	2017-09-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82285
	* tree-vect-patterns.c (vect_recog_bool_pattern): Also handle
	enumeral types.

	* gcc.dg/torture/pr82285.c: New testcase.

	2017-09-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82291
	* tree-if-conv.c (predicate_mem_writes): Make sure to
	remove writes in blocks predicated with false.

	* gcc.dg/torture/pr82291.c: New testcase.

From-SVN: r253190
2017-09-26 10:16:40 +00:00
GCC Administrator
bff800cf76 Daily bump.
From-SVN: r253184
2017-09-26 00:16:13 +00:00
GCC Administrator
446aa47469 Daily bump.
From-SVN: r253130
2017-09-25 00:16:12 +00:00
GCC Administrator
a96730591f Daily bump.
From-SVN: r253121
2017-09-24 00:16:12 +00:00
GCC Administrator
ed2fab6082 Daily bump.
From-SVN: r253113
2017-09-23 00:16:17 +00:00
Eric Botcazou
0350ea29c0 re PR bootstrap/81926 (go/parse.o differs between stage2 and stage3)
PR bootstrap/81926
	* cp-objcp-common.c (cp_get_debug_type): Do only one lookup.

From-SVN: r253110
2017-09-22 20:20:40 +00:00
Jakub Jelinek
c15f0c23da re PR sanitizer/81929 (exponential slowdown in undefined behavior sanitizer for streaming)
PR sanitizer/81929
	* tree.c (struct replace_placeholders_t): Add pset field.
	(replace_placeholders_r): Call cp_walk_tree with d->pset as
	last argument instead of NULL.  Formatting fix.
	(replace_placeholders): Add pset variable, add its address
	into data.  Pass &pset instead of NULL to cp_walk_tree.

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

From-SVN: r253108
2017-09-22 21:00:03 +02:00
GCC Administrator
c193a01040 Daily bump.
From-SVN: r253087
2017-09-22 00:16:13 +00:00
Alan Modra
896c30e0fd PR81996, __builtin_return_address(0) fails
rs6000_return_addr assumes that the stack link is at frame+0, which is
true for count>0.  For count==0, rs6000_return_addr is called with
frame==frame_pointer_rtx and the stack link is *not* at frame+0 if
-fstack-protector-all or -fsanitize=address because rs6000.h sets
FRAME_GROWS_DOWNWARD for those options.

	PR target/81996
	* gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use
	stack_pointer_rtx for count 0.  Update comments.  Break up
	large rtl expression.

From-SVN: r253067
2017-09-21 22:25:37 +09:30
Wilco Dijkstra
c568955a6d PR71951: Fix unwinding with -fomit-frame-pointer
As described in PR71951, if libgcc is built with -fomit-frame-pointer,
unwinding crashes, for example while doing a backtrace.  The underlying
reason is the Dwarf unwinder does not setup the frame pointer register
in the initialization code.  When later unwinding a function that uses
the frame pointer, it tries to read FP using _Unwind_GetGR, and this
crashes if has never restored FP.  To unwind correctly the first frame
must save and restore FP (it is unwound in a special way so that it
uses SP instead of FP).  This is done by adding -fno-omit-frame-pointer.

    gcc/
	PR target/71951
	* config/aarch64/aarch64.h (LIBGCC2_UNWIND_ATTRIBUTE): Define.

From-SVN: r253063
2017-09-21 12:16:31 +00:00
Jonathan Wakely
6445b688e5 Fix tests for std::clamp
* testsuite/25_algorithms/clamp/1.cc: Fix order of arguments and
	expected results when using predicate defining reverse order.
	* testsuite/25_algorithms/clamp/constexpr.cc: Likewise.

From-SVN: r253053
2017-09-21 11:11:21 +01:00
GCC Administrator
f7d5449279 Daily bump.
From-SVN: r253045
2017-09-21 00:16:17 +00:00
Jonathan Wakely
7899221766 Fix libstdc++ testsuite failures with -D_GLIBCXX_USE_CXX11_ABI=0
Backport from mainline
2017-06-14  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/test.xml: Correct instructions on running tests.
	* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Adjust to pass when
	-D_GLIBCXX_USE_CXX11_ABI=0 added to RUNTESTFLAGS.
	* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
	exceptions_failbit.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
	exceptions_failbit.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_other/char/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
	* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/ios_base/storage/2.cc: Likewise.

From-SVN: r253039
2017-09-20 23:26:26 +01:00
Jonathan Wakely
ae6af5239b PR libstdc++/79162 Fix std::string regression due to LWG 2946 (old ABI)
PR libstdc++/79162
	* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
	(basic_string::_If_sv): Remove from the overload set when the
	argument is derived from basic_string.

From-SVN: r253038
2017-09-20 23:26:19 +01:00
Jonathan Wakely
094932a3c3 PR libstdc++/79162 Fix std::string regression due to LWG 2946
PR libstdc++/79162
	* include/bits/basic_string.h (basic_string::_If_sv): Remove from the
	overload set when the argument is derived from basic_string.
	* testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc: New
	test.
	* testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc:
	New test.

From-SVN: r253025
2017-09-20 19:52:56 +01:00
Jonathan Wakely
7ef7062dbc Fix failing C++17 test
* testsuite/24_iterators/range_access_cpp17.cc: Fix order of dg-do
	and dg-options directives. Fix invalid test.

From-SVN: r253020
2017-09-20 17:51:03 +01:00
Jonathan Wakely
6c8a90ba12 PR libstdc++/82262 fix std::hash<std::optional<const T>>
PR libstdc++/82262
	* include/std/optional (__optional_hash_call_base): Add template
	parameter for remove_const_t<_Tp> and use it consistently.
	* testsuite/20_util/optional/hash.cc: Test optional<const T>.

From-SVN: r253015
2017-09-20 15:22:29 +01:00
Jonathan Wakely
598c1fda3c PR libstdc++/82254 fix std::is_nothrow_invocable_r w.r.t throwing conversions
PR libstdc++/82254
	* include/std/type_traits (__is_invocable): Add partial specialization
	for INVOKE<void> case and remove is_void<R> check from partial
	specialization for INVOKE<R> case.
	(__is_nt_invocable_impl): New helper for is_nothrow_invocable_r.
	(is_nothrow_invocable_r): Use __is_nt_invocable_impl.
	* testsuite/20_util/is_nothrow_invocable/value.cc: Add tests for
	conversions that can throw or fail to convert. Use static assert
	strings to explain negative results.
	* testsuite/20_util/is_nothrow_invocable/value_ext.cc: Use
	is_nothrow_constructible in is_nt_invocable_conv.

From-SVN: r253014
2017-09-20 15:22:25 +01:00
Jerry DeLisle
49614a55fb backport: re PR fortran/78387 (OpenMP segfault/stack size exceeded writing to internal file)
2017-09-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	Backport from trunk
	PR libgfortran/78387
	* io/list_read.c (nml_read_obj): Remove use of stash.
	* io/transfer.c (st_read_done, st_write_done): Likewise.
	* io/unit.c (stash_internal_unit): Delete function.
	(get_unit): Remove use of stash.
	(init_units): Likewise.
	(close_units): Likewise.
	* io/write.c (nml_write_obj): Likewise:

From-SVN: r252992
2017-09-20 01:32:59 +00:00
GCC Administrator
93a3014866 Daily bump.
From-SVN: r252989
2017-09-20 00:16:18 +00:00
Uros Bizjak
9e634ac9bc i386.c (fold_builtin_cpu): Add M_AMDFAM17H to processor_model and "amdfam17h" to arch_names_table.
* config/i386/i386.c (fold_builtin_cpu): Add M_AMDFAM17H
	to processor_model and "amdfam17h" to arch_names_table.
	* doc/extend.texi (__builtin_cpu_is): Document amdfam17h CPU name.

From-SVN: r252978
2017-09-19 16:57:14 +02:00
Martin Liska
cf9ff480ce Ignore empty string in target attribute (PR c++/81355).
2017-09-19  Martin Liska  <mliska@suse.cz>

	PR c++/81355
	* config/i386/i386.c (sorted_attr_string): Skip empty strings.

From-SVN: r252970
2017-09-19 09:03:05 +00:00
Martin Liska
c2d655fa22 Revert backport.
From-SVN: r252969
2017-09-19 09:02:33 +00:00
GCC Administrator
a851022421 Daily bump.
From-SVN: r252960
2017-09-19 00:16:16 +00:00
Jason Merrill
4d26b83715 PR c++/81236 - ICE with template-id in generic lambda
* parser.c (parsing_default_capturing_generic_lambda): Don't check
	for enclosing template.
	* semantics.c (finish_qualified_id_expr): Call it.
	* cp-tree.h: Adjust.

From-SVN: r252946
2017-09-18 14:37:16 -04:00
Jason Merrill
f16091882b PR c++/80767 - unnecessary instantiation of generic lambda
PR c++/82030 - ICE inheriting from multiple lambdas
	* call.c (convert_like_real): Call build_user_type_conversion_1 if
	cand is null.
	(add_conv_candidate): Build a ck_user conversion with no candidate.
	(compare_ics): Handle null candidate.

From-SVN: r252945
2017-09-18 14:37:10 -04:00
Jason Merrill
4d093be23a PR c++/78840 - ICE with const and nested generic lambda
* g++.dg/cpp1y/lambda-generic-const5.C: New.

From-SVN: r252944
2017-09-18 14:37:04 -04:00
Jason Merrill
5de2272480 PR c++/80935 - wrong C++17 error with lambda
* decl.c (check_for_uninitialized_const_var): Check
	is_instantiation_of_constexpr.

From-SVN: r252943
2017-09-18 14:36:59 -04:00
Jason Merrill
3ef1cd3d1e PR c++/81671 - nullptr_t template parameter
* pt.c (convert_nontype_argument): Fix nullptr_t check.

From-SVN: r252942
2017-09-18 14:36:53 -04:00
Jason Merrill
3f2b67a9bb PR c++/81525 - wrong constant value with generic lambda
* pt.c (tsubst_decl) [VAR_DECL]: Avoid clobbering auto.
	(tsubst_copy) [VAR_DECL]: Handle auto.

From-SVN: r252941
2017-09-18 14:36:47 -04:00
Richard Biener
e1eaa7a325 backport: [multiple changes]
2017-09-18  Richard Biener  <rguenther@suse.de>

	Backport from mainline
	2017-09-04  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82084
	* fold-const.h (can_native_encode_string_p): Declare.
	* fold-const.c (can_native_encode_string_p): Factor out from ...
	(native_encode_string): ... here.
	* tree-vect-stmts.c (vectorizable_store): Call it to avoid
	vectorizing stores from constants we later cannot handle.

	* g++.dg/torture/pr82084.C: New testcase.

	2017-09-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82108
	* tree-vect-stmts.c (vectorizable_load): Fix pointer adjustment
	for gap in the non-permutation SLP case.

	* gcc.dg/vect/pr82108.c: New testcase.

From-SVN: r252918
2017-09-18 10:13:54 +00:00
GCC Administrator
8983f2c385 Daily bump.
From-SVN: r252899
2017-09-18 00:16:14 +00:00
GCC Administrator
12636f3580 Daily bump.
From-SVN: r252891
2017-09-17 00:16:17 +00:00
GCC Administrator
fdd753cbaa Daily bump.
From-SVN: r252869
2017-09-16 00:16:12 +00:00
Jakub Jelinek
33a5063b3d backport: re PR c++/81314 (Undefined reference to a function with -fopenmp)
Backported from mainline
	2017-09-14  Jakub Jelinek  <jakub@redhat.com>

	PR c++/81314
	* cp-gimplify.c (omp_var_to_track): Look through references.
	(omp_cxx_notice_variable): Likewise.

	* testsuite/libgomp.c++/pr81314.C: New test.

From-SVN: r252806
2017-09-15 13:27:07 +02:00
Jakub Jelinek
8ccf92f52b backport: re PR target/81325 (-fcompare-debug failure on ppc64le)
Backported from mainline
	2017-09-14  Jakub Jelinek  <jakub@redhat.com>
 
	PR target/81325
	* cfgbuild.c (find_bb_boundaries): Ignore debug insns in decisions
	if and where to split a bb, except for splitting before debug insn
	sequences followed by non-label real insn.  Delete debug insns
	in between basic blocks.

	* g++.dg/cpp0x/pr81325.C: New test.

From-SVN: r252805
2017-09-15 13:26:03 +02:00