171715 Commits

Author SHA1 Message Date
Jonathan Wakely
0a789c10e9 Replace uses of std::tr1::unordered_map in testsuite
* testsuite/util/testsuite_abi.h: Use std::unordered_map instead of
	std::tr1::unordered_map.
	* testsuite/util/testsuite_allocator.h: Likewise.

From-SVN: r276584
2019-10-04 16:08:14 +01:00
Jeff Law
dde4026df0 h8300.md (cpymemsi): Disable.
* config/h8300/h8300.md (cpymemsi): Disable.
	(movmd, movmd_internal_<mode>, movstr, movsd):
	(movstr, movsd, stpcpy_internal_<mode>: Likewise.
	(movmd splitter, movsd splitter): Likewise.

From-SVN: r276582
2019-10-04 08:45:46 -06:00
Jeff Law
82de69ffc8 range-op.cc (range_tests): Avoid two tests when ints and shorts are the same size.
* range-op.cc (range_tests): Avoid two tests when ints and
	shorts are the same size.

From-SVN: r276581
2019-10-04 08:27:45 -06:00
Mark Eggleston
b1fc776335 Replace test cases for using automatic variables in equivalence statements.
From-SVN: r276580
2019-10-04 14:11:36 +00:00
Ian Lance Taylor
3694418a6d compiler: adjust code to avoid shadowing local variables
Also add a couple of missing calls to free after mpz_get_str.
    
    This should make the code clean with respect to -Wshadow=local.
    
    Based on patch by Bernd Edlinger.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/198837

From-SVN: r276579
2019-10-04 13:50:07 +00:00
Richard Sandiford
0ced79bc4c Fix gcc.target/aarch64/torture/simd-abi-8.c for big-endian
Fix a big-endian failure reported by Christophe.  Also tighten the
test so that it doesn't allow saving and restoring 128-bit vectors
as Q registers.

2019-10-04  Richard Sandiford  <richard.sandiford@arm.com>

gcc/testsuite/
	* gcc.target/aarch64/torture/simd-abi-8.c: Use -mlittle-endian.
	Check that there are no Q register saves or restores.

From-SVN: r276577
2019-10-04 13:27:53 +00:00
Jonathan Wakely
3459c90545 Add missing header required by previous change
* include/tr1/hashtable.h: Add header for __gnu_cxx::__alloc_traits.

From-SVN: r276576
2019-10-04 14:17:54 +01:00
Jonathan Wakely
44e4da6505 Adjust tr1::_Hashtable to work with std::allocator in C++20
In C++20 std::allocator will no longer define construct and destroy
member functions, so using them needs to go via allocator_traits.

	* include/tr1/hashtable.h (tr1::_Hashtable::_M_allocate_node): Use
	__gnu_cxx::__alloc_traits for allocator construct function.
	(tr1::_Hashtable::_M_deallocate_node): Likewise for destroy function.

From-SVN: r276575
2019-10-04 13:17:01 +01:00
Jonathan Wakely
8384956a1b Add <span> to <bits/stdc++.h> precompiled header
* include/precompiled/stdc++.h: Include <span> for C++20.
	* testsuite/17_intro/names.cc: Do not define 'e' for C++20.

From-SVN: r276574
2019-10-04 13:16:56 +01:00
Richard Biener
2e82a4615a loop-3.c: Fix undefined behavior.
2019-10-04  Richard Biener  <rguenther@suse.de>

	* gcc.c-torture/execute/loop-3.c: Fix undefined behavior.

From-SVN: r276572
2019-10-04 11:40:40 +00:00
Richard Biener
dd935a565b re PR debug/91968 (DW_AT_low_pc missing for DW_TAG_label with LTO)
2019-10-04  Richard Biener  <rguenther@suse.de>

	PR lto/91968
	* tree.c (find_decls_types_r): Do not remove LABEL_DECLs from
	BLOCK_VARS.

From-SVN: r276571
2019-10-04 11:37:16 +00:00
Yuliang Wang
6704445277 Fix gcc.target/aarch64/sve2/shracc_1.c for ILP32
2019-10-04  Yuliang Wang  <yuliang.wang@arm.com>

gcc/testsuite/
	* gcc.target/aarch64/sve2/shracc_1.c: Tighten scan-assembler-nots
	to avoid matching scalar code.

From-SVN: r276568
2019-10-04 10:40:47 +00:00
Tobias Burnus
981e39974e [Fortran] Fix column of %C diagnostic location
gcc/fortran/
        * error (error_print, gfc_format_decoder): Fix off-by one issue with %C.

        gcc/testsuite/
        * gfortran.dg/use_without_only_1.f90: Update column num in dg-warning.

From-SVN: r276567
2019-10-04 11:29:31 +02:00
Richard Biener
48528394ea re PR target/91982 (gcc.target/aarch64/sve/clastb_*.c tests failing with segfault)
2019-10-04  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/91982
	* tree-vect-loop.c (vectorizable_live_operation): Also guard
	against EXTRACT_LAST_REDUCTION.
	* tree-vect-stmts.c (vect_transform_stmt): Likewise.

From-SVN: r276566
2019-10-04 09:18:26 +00:00
Aldy Hernandez
3d203d0176 Adjust various comments and rename some functions in range-op.cc to
improve readability.

From-SVN: r276564
2019-10-04 07:08:56 +00:00
Jakub Jelinek
0fe2ae2902 re PR c++/71504 ([C++11] constexpr fails with multidimensional arrays)
PR c++/71504
	* constexpr.c (cxx_fold_indirect_ref_1): New function.
	(cxx_fold_indirect_ref): Use it.

	* g++.dg/cpp0x/constexpr-array21.C: New test.
	* g++.dg/cpp1y/constexpr-array7.C: New test.
	* g++.dg/cpp1z/constexpr-array1.C: New test.

2019-10-04  Jason Merrill  <jason@redhat.com>

	PR c++/71504
	* g++.dg/cpp0x/constexpr-array20.C: New test.

From-SVN: r276563
2019-10-04 08:56:02 +02:00
Jakub Jelinek
708935b2b4 re PR c++/91974 (function not sequenced before function argument)
PR c++/91974
	* cp-gimplify.c (cp_gimplify_expr) <case CALL_EXPR>: For
	-fstrong-eval-order ensure CALL_EXPR_FN side-effects are evaluated
	before any arguments.  Additionally, ensure CALL_EXPR_FN that isn't
	invariant nor OBJ_TYPE_REF nor SSA_NAME is forced into a temporary.

	* g++.dg/cpp1z/eval-order5.C: New test.

From-SVN: r276562
2019-10-04 08:54:05 +02:00
Bernd Edlinger
cf09ecdb94 invoke.texi (-Wshadow=global, [...]): Fix description.
2019-10-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * doc/invoke.texi (-Wshadow=global, -Wshadow=local,
        -Wshadow=compatible-local): Fix description.
        Add an example where -Wshadow=compatible-local does not
        warn.

From-SVN: r276561
2019-10-04 05:42:08 +00:00
GCC Administrator
38b8d26b46 Daily bump.
From-SVN: r276560
2019-10-04 00:16:26 +00:00
John David Anglin
c49af82c5f fptr.c: Disable -Warray-bounds warning.
* config/pa/fptr.c: Disable -Warray-bounds warning.

From-SVN: r276556
2019-10-03 23:51:42 +00:00
John David Anglin
320be74c5c pa.h (MAX_PCREL17F_OFFSET): Adjust.
* config/pa/pa.h (MAX_PCREL17F_OFFSET): Adjust.

From-SVN: r276555
2019-10-03 23:32:53 +00:00
John David Anglin
4a6cb9c0da pa.c (pa_output_call): Remove 64-bit sibcall sequence.
* config/pa/pa.c (pa_output_call): Remove 64-bit sibcall sequence.
	(pa_attr_length_call): Adjust length for 64-bit plabel sequence.

From-SVN: r276543
2019-10-03 22:39:49 +00:00
Aaron Sawdey
5d8bb3897e expr.c (emit_block_move_hints): Slightly cleaner fix to can_move_by_pieces issue.
2019-10-03  Aaron Sawdey <acsawdey@linux.ibm.com>

	* expr.c (emit_block_move_hints): Slightly cleaner fix to
	can_move_by_pieces issue.

From-SVN: r276542
2019-10-03 17:19:14 -05:00
Eduard-Mihai Burtescu
e1cb00db67 rust-demangle.c (looks_like_rust): Remove.
* rust-demangle.c (looks_like_rust): Remove.
	(rust_is_mangled): Don't check escapes.
	(is_prefixed_hash): Allow 0-9a-f permutations.
	(rust_demangle_sym): Don't bail on unknown escapes.
	* testsuite/rust-demangle-expected: Update 'main::$99$' test.

From-SVN: r276539
2019-10-03 15:54:47 -06:00
Steven G. Kargl
e23390d29e re PR fortran/91497 (-Wconversion warns when doing explicit type conversion)
2019-10-03  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/91497
	* simplify.c (gfc_simplify_dble, simplify_intconv, gfc_simplify_real,
	gfc_simplify_sngl): Disable -Wconversion and -Wconversion-extra
	warnings for explicit conversion of literal constants.

2019-10-03  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/91497
	* gfortran.dg/pr91497.f90: New test.

From-SVN: r276532
2019-10-03 20:46:26 +00:00
Iain Sandoe
24ec3cc957 [Darwin] Pick up SDKROOT as the sysroot fallback.
For compatibility with xcrun and the behaviour of the clang driver, make use
of the setting of the SDKROOT environment variable when it is available.
This applies to both finding headers and libraries (i.e. it is also passed to
ld64).

Priority:
 1. User's command-line specified --sysroot= or -isysroot.
 2. The SDKROOT variable when set, and validated.
 3. Any sysroot provided by --with-sysroot= configuration parameter.
 
SDKROOT is checked thus:
  1. Presence.
  2. That it starts with "/" (i.e. 'absolute').
  3. That it is not "/" only (since that's the default).
  4. That it is readable by the process executing the driver.

This is pretty much the same rule set as used by the clang driver.

NOTE: (3) might turn out to be overly restrictive in the case that we
have configured with --with-sysroot= and then we want to run on a system
with an installation of the headers/libraries in /.  We can revisit this
if that turns out to be an important use-case.

So one can do:

xcrun --sdk macosx /path/to/gcc ....

and that provides the SDK path as the sysroot to GCC as expected.

CAVEAT: An unfortunate effect of the fact that "gcc" (and "g++") are
executables in the Xcode installation, which are found ahead of any such
named in the $PATH:

PATH=/path/to/gcc/install:$PATH
xcrun --sdk macosx gcc .... 

does *not* work, instead that executes the clang from the xcode/commmand
line tools installation.

PATH=/path/to/gcc/install:$PATH
xcrun --sdk macosx x64_64-apple-darwinXX-gcc ... 

does work as expected, however.

gcc/ChangeLog:

2019-10-03  Iain Sandoe  <iain@sandoe.co.uk>

	PR target/87243
	* config/darwin-driver.c (maybe_get_sysroot_from_sdkroot): New.
	(darwin_driver_init): Use the sysroot provided by SDKROOT when that
	is available and the user has not set one on the command line.

From-SVN: r276530
2019-10-03 20:19:18 +00:00
Jan Hubicka
cfcf3551c4 * g++.dg/tree-ssa/pr61034.C: Add --param max-inline-insns-single-O2=200.
From-SVN: r276527
2019-10-03 19:45:23 +00:00
Dragan Mladjenovic
206c926ae2 re PR target/91769 (wrong code with -O2 on MIPS)
Fix PR target/91769

This fixes the issue by checking that addr's base reg is not part of dest
multiword reg instead just checking the first reg of dest.

gcc/ChangeLog:

2019-10-03  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>

	PR target/91769
	* config/mips/mips.c (mips_split_move): Use reg_overlap_mentioned_p
	instead of REGNO equality check on addr.reg.

gcc/testsuite/ChangeLog:

2019-10-03  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>

	PR target/91769
	* gcc.target/mips/pr91769.c: New test.

From-SVN: r276525
2019-10-03 19:17:20 +00:00
Julian Brown
6c7e076b74 Libgomp magic offset value self-documentation
2019-10-02  Julian Brown  <julian@codesourcery.com>
	    Cesar Philippidis  <cesar@codesourcery.com>

	libgomp/
	* libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
	* target.c (FIELD_TGT_EMPTY): Define.
	(gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
	as switch instead of list of ifs.
	(gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>

From-SVN: r276519
2019-10-03 17:48:36 +00:00
Bernd Edlinger
5dbe01a1ff primary.c (match_real_constant): Remove shadowing local vars.
2019-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * primary.c (match_real_constant): Remove shadowing local vars.
        Rename local vars.  Fix undefined behavior in loop termination.
        (gfc_convert_to_structure_constructor): Rename local var.

From-SVN: r276518
2019-10-03 17:03:43 +00:00
Jan Hubicka
2925cad215 params.def (PARAM_INLINE_HEURISTICS_HINT_PERCENT, [...]): New.
* params.def (PARAM_INLINE_HEURISTICS_HINT_PERCENT,
	PARAM_INLINE_HEURISTICS_HINT_PERCENT_O2): New.
	* doc/invoke.texi (inline-heuristics-hint-percent,
	inline-heuristics-hint-percent-O2): Document.
	* tree-inline.c (inline_insns_single, inline_insns_auto): Add new
	hint attribute.
	(can_inline_edge_by_limits_p): Use it.

From-SVN: r276516
2019-10-03 15:08:21 +00:00
Rainer Orth
ebf8247e7b Avoid reserved identifier in include/parallel/multiway_merge.h
* include/parallel/multiway_merge.h (_RAIter3): Replace _C by _Cp.

From-SVN: r276515
2019-10-03 14:35:35 +00:00
Rainer Orth
a164d19acb Check init_priority in g++.dg/cpp0x/gen-attrs-67.C
gcc/testsuite:
	* g++.dg/cpp0x/gen-attrs-67.C: Expect constructor priorities error
	on any !init_priority target.

From-SVN: r276510
2019-10-03 13:23:52 +00:00
Richard Sandiford
eec306385d [arm] Fix rtl-checking failure in arm_print_value
Noticed while debugging the arm bootstrap failure.

2019-10-03  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* config/arm/arm.c (arm_print_value): Use real_to_decimal
	to print CONST_DOUBLEs.

From-SVN: r276508
2019-10-03 13:05:31 +00:00
Andrea Corallo
12e088ba57 re PR jit/91928 (libgccjit fails on subsequent compilations in ipa-cp)
PR jit/91928

	* ipa-cp.c (ipa_cp_c_finalize): Release ipcp_transformation_sum.
	* ipa-prop.c (ipcp_free_transformation_sum): New function.
	* ipa-prop.h (ipcp_free_transformation_sum): Add declaration.

From-SVN: r276507
2019-10-03 12:39:55 +00:00
Thomas Koenig
3aad513c68 re PR fortran/84487 (Large rodate section increase in 465.tonto with r254427)
2019-10-03  Thomas Koenig <tkoenig@gcc.gnu.org>

	PR fortran/84487
	* trans-decl.c (gfc_get_symbol_decl): For __def_init, set
	DECL_ARTIFICAL and do not set TREE_READONLY.

2019-10-03  Thomas Koenig <tkoenig@gcc.gnu.org>

	PR fortran/84487
	* gfortran.dg/typebound_call_22.f03: xfail.

From-SVN: r276506
2019-10-03 12:39:42 +00:00
Mark Eggleston
f61e54e59c Character typenames in errors and warnings
Character type names now incorporate length, kind is only shown if
the default character is not being used.
    
Examples:
   
  character(7) is reported as CHARACTER(7)
  character(len=20,kind=4) is reported as CHARACTER(20,4)
   
dummy character variables with assumed length:
    
  character(*) is reported as CHARACTER(*)
  character(*,kind=4) is reported as CHARACTER(*,4)

From-SVN: r276505
2019-10-03 09:40:23 +00:00
Aldy Hernandez
38a734350f Makefile.in (OBJS): Add range.o and range-op.o.
* Makefile.in (OBJS): Add range.o and range-op.o.
	Remove wide-int-range.o.
	* function-tests.c (test_ranges): New.
	(function_tests_c_tests): Call test_ranges.
	* ipa-cp.c (ipa_vr_operation_and_type_effects): Call
	range_fold_unary_expr instead of extract_range_from_unary_expr.
	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Same.
	* range-op.cc: New file.
	* range-op.h: New file.
	* range.cc: New file.
	* range.h: New file.
	* selftest.h (range_tests): New prototype.
	* ssa.h: Include range.h.
	* tree-vrp.c (value_range_base::value_range_base): New
	constructors.
	(value_range_base::singleton_p): Do not call
	ranges_from_anti_range until sure we will need to.
	(value_range_base::type): Rename gcc_assert to
	gcc_checking_assert.
	(vrp_val_is_max): New argument.
	(vrp_val_is_min): Same.
	(wide_int_range_set_zero_nonzero_bits): Move from
	wide-int-range.cc.
	(extract_range_into_wide_ints): Remove.
	(extract_range_from_multiplicative_op): Remove.
	(extract_range_from_pointer_plus_expr): Abstract POINTER_PLUS code
	from extract_range_from_binary_expr.
	(extract_range_from_plus_minus_expr): Abstract PLUS/MINUS code
	from extract_range_from_binary_expr.
	(extract_range_from_binary_expr): Remove.
	(normalize_for_range_ops): New.
	(range_fold_binary_expr): New.
	(range_fold_unary_expr): New.
	(value_range_base::num_pairs): New.
	(value_range_base::lower_bound): New.
	(value_range_base::upper_bound): New.
	(value_range_base::upper_bound): New.
	(value_range_base::contains_p): New.
	(value_range_base::invert): New.
	(value_range_base::union_): New.
	(value_range_base::intersect): New.
	(range_compatible_p): New.
	(value_range_base::operator==): New.
	(determine_value_range_1): Call range_fold_*expr instead of
	extract_range_from_*expr.
	* tree-vrp.h (class value_range_base): Add new constructors.
	Add methods for union_, intersect, operator==, contains_p,
	num_pairs, lower_bound, upper_bound, invert.
	(vrp_val_is_min): Add handle_pointers argument.
	(vrp_val_is_max): Same.
	(extract_range_from_unary_expr): Remove.
	(extract_range_from_binary_expr): Remove.
	(range_fold_unary_expr): New.
	(range_fold_binary_expr): New.
	* vr-values.c (vr_values::extract_range_from_binary_expr): Call
	range_fold_binary_expr instead of extract_range_from_binary_expr.
	(vr_values::extract_range_basic): Same.
	(vr_values::extract_range_from_unary_expr): Call
	range_fold_unary_expr instead of extract_range_from_unary_expr.
	* wide-int-range.cc: Remove.
	* wide-int-range.h: Remove.

From-SVN: r276504
2019-10-03 08:08:50 +00:00
Michael Meissner
0a8c8f4d65 Undo unintended change to predicates.md in subversion id 276498
From-SVN: r276503
2019-10-03 00:17:56 +00:00
GCC Administrator
e6f53878db Daily bump.
From-SVN: r276502
2019-10-03 00:16:19 +00:00
Michael Meissner
e5ec901cec Use the SIGNED_16BIT_OFFSET_EXTRA_P macro for 16-bit signed tests.
2019-10-02   Michael Meissner  <meissner@linux.ibm.com>

	* config/rs6000/rs6000.c (mem_operand_gpr): Use
	SIGNED_16BIT_OFFSET_EXTRA_P.
	(mem_operand_ds_form): Use SIGNED_16BIT_OFFSET_EXTRA_P.
	(rs6000_mode_dependent_address): Use SIGNED_16BIT_OFFSET_EXTRA_P.

From-SVN: r276498
2019-10-03 00:13:40 +00:00
Joseph Myers
202be58655 Define WIDTH macros for C2x.
As part of the integration of TS 18661-1 into C2x, many features
became unconditional features not depending on any feature test macro
being defined.  This patch updates the conditionals on the *_WIDTH
macros in limits.h and stdint.h accordingly so that they are defined
for C2x.  The macro CR_DECIMAL_DIG in float.h does still require
__STDC_WANT_IEC_60559_BFP_EXT__ to be defined, and a test for this is
added.

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

gcc:
	* ginclude/stdint-gcc.h [__STDC_WANT_IEC_60559_BFP_EXT__]: Change
	condition on WIDTH macros to [__STDC_WANT_IEC_60559_BFP_EXT__ ||
	(__STDC_VERSION__ && __STDC_VERSION__ > 201710L)].
	* glimits.h: Likewise.

gcc/testsuite:
	* gcc.dg/cr-decimal-dig-2.c: New test.
	* gcc.dg/limits-width-2.c: New test.  Based on limits-width-1.c.
	* gcc.dg/stdint-width-2.c: New test.  Based on stdint-width-1.c.

From-SVN: r276497
2019-10-03 00:50:58 +01:00
Paolo Carlini
f5fc32e4a3 init.c (build_new): Use cp_expr_loc_or_input_loc in two places.
/cp
2019-10-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* init.c (build_new): Use cp_expr_loc_or_input_loc in two places.
	* name-lookup.c (do_pushdecl): Use DECL_SOURCE_LOCATION.
	(push_class_level_binding_1): Likewise.
	(set_decl_namespace): Likewise.

/testsuite
2019-10-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/diagnostic/integral-array-size-1.C: New.
	* g++.dg/cpp0x/alias-decl-1.C: Test location(s) too.
	* g++.dg/init/new43.C: Likewise.
	* g++.dg/lookup/friend12.C: Likewise.
	* g++.dg/lookup/pr79766.C: Likewise.
	* g++.dg/lookup/pr84375.C: Likewise.
	* g++.dg/other/new-size-type.C: Likewise.

From-SVN: r276496
2019-10-02 23:23:51 +00:00
Jakub Jelinek
775eaa4d83 re PR rtl-optimization/91976 (RTL check: expected code 'const_int', have 'reg' in emit_block_move_hints, at expr.c:1627)
PR rtl-optimization/91976
	* expr.c (emit_block_move_hints): Don't call can_move_by_pieces if
	size is not CONST_INT_P, set pieces_ok to false in that case.  Simplify
	CONST_INT_P (size) && pieces_ok to pieces_ok.  Formatting fix.

From-SVN: r276495
2019-10-03 00:33:39 +02:00
Jakub Jelinek
1006c9d439 constexpr.c (cxx_eval_constant_expression): If not skipping upon entry to body...
* constexpr.c (cxx_eval_constant_expression) <case CLEANUP_STMT>: If
	not skipping upon entry to body, run cleanup with the same *jump_target
	as it started to run the cleanup even if the body returns, breaks or
	continues.
	(potential_constant_expression_1): Allow CLEANUP_STMT.

	* g++.dg/ext/constexpr-attr-cleanup1.C: New test.

From-SVN: r276494
2019-10-03 00:32:56 +02:00
Jakub Jelinek
276a52d556 constexpr.c (cxx_eval_store_expression): Formatting fix.
* constexpr.c (cxx_eval_store_expression): Formatting fix.  Handle
	const_object_being_modified with array type.

From-SVN: r276493
2019-10-03 00:31:58 +02:00
Martin Sebor
bead578432 Add changelog entries for r276491.
From-SVN: r276492
2019-10-02 16:04:00 -06:00
Martin Sebor
d1090a8a80 PR tree-optimization/80936 - bcmp, bcopy, and bzero not declared nonnull
gcc/testsuite/ChangeLog:

	PR tree-optimization/80936
	* gcc.dg/Wnonnull-2.c: New test.
	* gcc.dg/Wnonnull-3.c: New test.
	* gcc.dg/nonnull-3.c: Expect more warnings.

gcc/ChangeLog:

	PR tree-optimization/80936
	* builtins.def (bcmp, bcopy, bzero): Declare nonnull.

From-SVN: r276491
2019-10-02 16:00:42 -06:00
Richard Sandiford
aa29ed6db6 Fix ALL_REGS thinko in initialisation of function_used_regs
My change to the -fipa-ra bookkeeping used ALL_REGS as the supposedly
safe default assumption, but ALL_REGS isn't literally all registers,
just a close approximation.

This caused a bootstrap failure on arm-linux-gnu, where the condition
code register isn't in ALL_REGS and so was being masked out of some
call-clobbered sets.

2019-10-02  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* cgraph.c (cgraph_node::rtl_info): Use SET_HARD_REG_SET
	instead of reg_class_contents[ALL_REGS].

From-SVN: r276489
2019-10-02 21:19:35 +00:00
Ian Lance Taylor
b7c4123032 runtime: mark go-context.S as no-executable-stack and split-stack supported
The .note.GNU-stack section tells the linker that this object does not
    require an executable stack.
    
    The .note.GNU-split-stack section tells the linker that functions in
    this object can be called directly by split-stack functions, without
    require a large stack.
    
    The .note.GNU-no-split-stack section tells the linker that functions
    in this object do not have a split-stack prologue.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/198440

From-SVN: r276488
2019-10-02 20:11:35 +00:00