Commit graph

171022 commits

Author SHA1 Message Date
Ulrich Weigand
2f2aeda98f Remove Cell Broadband Engine SPU targets
From-SVN: r275343
2019-09-03 15:08:28 +00:00
Bernd Edlinger
9343921853 re PR middle-end/91603 (Unaligned access in expand_assignment)
2019-09-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR middle-end/91603
        PR middle-end/91612
        PR middle-end/91613
        * expr.c (expand_expr_real_1): Handle unaligned decl_rtl
        and SSA_NAME referring to CONSTANT_P correctly.

testsuite:
2019-09-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR middle-end/91603
        * testsuite/gcc.target/arm/pr91603.c: New test.

From-SVN: r275342
2019-09-03 14:37:41 +00:00
Chung-Lin Tang
c6c2d1bc9b re PR other/79543 (Inappropriate "ld --version" checking)
2019-09-03  Chung-Lin Tang <cltang@codesourcery.com>

	libatomic/
	PR other/79543
	* acinclude.m4 (LIBAT_CHECK_LINKER_FEATURES): Fix GNU ld --version
	scanning to conform to the GNU Coding Standards.
	* configure: Regenerate.

	libffi/
	PR other/79543
	* acinclude.m4 (LIBAT_CHECK_LINKER_FEATURES): Fix GNU ld --version
	scanning to conform to the GNU Coding Standards.
	* configure: Regenerate.

	libgomp/
	PR other/79543
	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
	scanning to conform to the GNU Coding Standards.
	* configure: Regenerate.

	libitm/
	PR other/79543
	* acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Fix GNU ld --version
	scanning to conform to the GNU Coding Standards.
	* configure: Regenerate.

	libstdc++-v3/
	PR other/79543
	* acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Fix GNU ld --version
	scanning to conform to the GNU Coding Standards.
	* configure: Regenerate.

From-SVN: r275341
2019-09-03 14:10:26 +00:00
Richard Biener
c8d3491299 tree-ssa-sccvn.h (vn_nary_op_lookup): Remove.
2019-09-03  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.h (vn_nary_op_lookup): Remove.
	(vn_nary_op_insert): Likewise.
	* tree-ssa-sccvn.c (init_vn_nary_op_from_op): Remove.
	(vn_nary_op_lookup): Likewise.
	(vn_nary_op_insert): Likewise.

From-SVN: r275338
2019-09-03 11:24:18 +00:00
Ilya Leoshkevich
70b766b25a S/390: Commit forgotten test for r275336
gcc/testsuite/ChangeLog:

2019-09-03  Ilya Leoshkevich  <iii@linux.ibm.com>

	* gcc.target/s390/sigfpe-eh.c: Forgotten test.

From-SVN: r275337
2019-09-03 10:27:04 +00:00
Ilya Leoshkevich
837ee1e0b6 S/390: Fix failing RTL check in s390_canonicalize_comparison
The new sigfpe-eh.c fails with

    internal compiler error: RTL check: expected elt 0 type 'e' or 'u', have 'w' (rtx const_int)

This is most likely due to a typo: XEXP (*op1, 0) was used, when
XEXP (*op0, 1) was intended.  This did not cause any user-visible
problems, because reversed_comparison_code_parts ignores the
respective argument, and the release compiler is built without RTL
checks.

gcc/ChangeLog:

2019-09-03  Ilya Leoshkevich  <iii@linux.ibm.com>

	* config/s390/s390.c (s390_canonicalize_comparison): Use XEXP
	(*op0, 1) instead of XEXP (*op1, 0).

gcc/testsuite/ChangeLog:

2019-09-03  Ilya Leoshkevich  <iii@linux.ibm.com>

	* gcc.target/s390/sigfpe-eh.c: New test.

From-SVN: r275336
2019-09-03 09:29:02 +00:00
Kyrylo Tkachov
e1d5d19ec4 [AArch64] Add support for __jcvt intrinsic
This patch implements the __jcvt ACLE intrinsic [1] that maps down to the FJCVTZS [2] instruction from Armv8.3-a.
No fancy mode iterators or nothing. Just a single builtin, UNSPEC and define_insn and the associate plumbing.
This patch also defines __ARM_FEATURE_JCVT to indicate when the intrinsic is available.

[1] https://developer.arm.com/docs/101028/latest/data-processing-intrinsics
[2] https://developer.arm.com/docs/ddi0596/latest/simd-and-floating-point-instructions-alphabetic-order/fjcvtzs-floating-point-javascript-convert-to-signed-fixed-point-rounding-toward-zero

	* config/aarch64/aarch64.md (UNSPEC_FJCVTZS): Define.
	(aarch64_fjcvtzs): New define_insn.
	* config/aarch64/aarch64.h (TARGET_JSCVT): Define.
	* config/aarch64/aarch64-builtins.c (aarch64_builtins):
	Add AARCH64_JSCVT.
	(aarch64_init_builtins): Initialize __builtin_aarch64_jcvtzs.
	(aarch64_expand_builtin): Handle AARCH64_JSCVT.
	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
	__ARM_FEATURE_JCVT where appropriate.
	* config/aarch64/arm_acle.h (__jcvt): Define.

	* gcc.target/aarch64/acle/jcvt_1.c: New test.

From-SVN: r275335
2019-09-03 08:40:30 +00:00
Kyrylo Tkachov
10bd1d964e [AArch64] Implement ACLE intrinsics for FRINT[32,64][Z,X]
This patch implements the ACLE intrinsics to access the FRINT[32,64][Z,X] scalar[1] and vector[2][3] instructions
from Armv8.5-a. These are enabled when the __ARM_FEATURE_FRINT macro is defined.

They're added in a fairly standard way through builtins and unspecs at the RTL level.

	* config/aarch64/aarch64.md ("unspec"): Add UNSPEC_FRINT32Z,
	UNSPEC_FRINT32X, UNSPEC_FRINT64Z, UNSPEC_FRINT64X.
	(aarch64_<frintnzs_op><mode>): New define_insn.
	* config/aarch64/aarch64.h (TARGET_FRINT): Define.
	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
	__ARM_FEATURE_FRINT when appropriate.
	* config/aarch64/aarch64-simd-builtins.def: Add builtins for frint32z,
	frint32x, frint64z, frint64x.
	* config/aarch64/arm_acle.h (__rint32zf, __rint32z, __rint64zf,
	__rint64z, __rint32xf, __rint32x, __rint64xf, __rint64x): Define.
	* config/aarch64/arm_neon.h (vrnd32z_f32, vrnd32zq_f32, vrnd32z_f64,
	vrnd32zq_f64, vrnd32x_f32, vrnd32xq_f32, vrnd32x_f64, vrnd32xq_f64,
	vrnd64z_f32, vrnd64zq_f32, vrnd64z_f64, vrnd64zq_f64, vrnd64x_f32,
	vrnd64xq_f32, vrnd64x_f64, vrnd64xq_f64): Define.
	* config/aarch64/iterators.md (VSFDF): Define.
	(FRINTNZX): Likewise.
	(frintnzs_op): Likewise.

	* gcc.target/aarch64/acle/rintnzx_1.c: New test.
	* gcc.target/aarch64/simd/vrndnzx_1.c: Likewise.

From-SVN: r275334
2019-09-03 08:38:08 +00:00
Dennis Zhang
e0664b7a63 [AArch64] Add support for missing CPUs
This patch adds '-mcpu' options for following CPUs:
Cortex-A77, Cortex-A76AE, Cortex-A65, Cortex-A65AE, and Cortex-A34.

Related specifications are as following:
https://developer.arm.com/ip-products/processors/cortex-a

Bootstraped/regtested for aarch64-none-linux-gnu.

2019-09-03  Dennis Zhang  <dennis.zhang@arm.com>

	* config/aarch64/aarch64-cores.def (AARCH64_CORE): New entries
	for Cortex-A77, Cortex-A76AE, Cortex-A65, Cortex-A65AE, and
	Cortex-A34.
	* config/aarch64/aarch64-tune.md: Regenerated.
	* doc/invoke.texi: Document the new processors.

From-SVN: r275333
2019-09-03 08:27:58 +00:00
Bernd Edlinger
bca3073692 libphobos.exp (libphobos_init): Add multi-lib libgcc dirs to the ld_library_path var.
2019-09-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * testsuite/lib/libphobos.exp (libphobos_init): Add multi-lib libgcc 
        dirs to the ld_library_path var.

From-SVN: r275332
2019-09-03 08:24:03 +00:00
Kyrylo Tkachov
75f935365d [AArch64] Add Linux hwcap strings for some extensions
This patch adds feature strings for some of the extensions. This string is what is read from /proc/cpuinfo on Linux systems
and used during -march=native detection.

The strings are taken from the kernel source tree at:
https://github.com/torvalds/linux/blob/master/arch/arm64/kernel/cpuinfo.c#L45


	* config/aarch64/aarch64-option-extensions.def (sb): Add feature
	string.
	(ssbs): Likewise.
	(sve2): Likewise.
	(sve2-sm4): Likewise.
	(sveaes): Likewise.
	(svesha3): Likewise.
	(svebitperm): Likewise.

From-SVN: r275331
2019-09-03 08:06:43 +00:00
Jakub Jelinek
3729852e40 re PR tree-optimization/91597 (GCC miscompiles a branch depending on a pointer tag)
PR tree-optimization/91597
	* tree-vrp.c (extract_range_from_binary_expr): Remove unsafe
	BIT_AND_EXPR optimization for pointers, even if both operand
	ranges don't include NULL, the result can be NULL.

	* gcc.c-torture/execute/pr91597.c: New test.

Co-Authored-By: Richard Biener <rguenther@suse.de>

From-SVN: r275330
2019-09-03 09:50:46 +02:00
Alexandre Oliva
e4a8d4a7ec [x86 testsuite] preserve full register across main
This test uses a call-saved register as a global variable.  It
attempts to preserve its value across main, but only the lower int
part is preserved, which is not good enough for x86_64, when the
runtime that calls main() happens to hold something in the chosen
register that is not a zero-extension from the 32-bit value, and
rightfully expects the full register to remain unchanged when main()
returns.


for  gcc/testsuite/ChangeLog

	* gcc.target/i386/20020616-1.c: Preserve full register across
	main.

From-SVN: r275329
2019-09-03 06:06:02 +00:00
GCC Administrator
97d6a7c80e Daily bump.
From-SVN: r275328
2019-09-03 00:16:40 +00:00
Paul Thomas
f79be3a7db re PR fortran/91589 (ICE in gfc_conv_component_ref, at fortran/trans-expr.c:2447)
2019-09-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/91589
	* primary.c (gfc_match_varspec): Return MATCH_NO on an apparent
	component ref, when the primary type is intrinsic.

2019-09-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/91589
	* gfortran.dg/pr91589.f90 : New test.

From-SVN: r275324
2019-09-02 19:54:02 +00:00
Steven G. Kargl
be0fb5484a re PR fortran/91552 (ICE with valid array constructor)
2019-09-02  Steven G. Kargl  <kargl@gc.gnu.org>

	PR fortran/91552
	* array.c (walk_array_constructor): New function.
	(gfc_match_array_constructor): Use it.

2019-09-02  Steven G. Kargl  <kargl@gc.gnu.org>

	PR fortran/91552
	* gfortran.dg/pr91552.f90: New test.

From-SVN: r275322
2019-09-02 16:46:54 +00:00
Bernd Edlinger
b82c2e6fce re PR middle-end/91605 (ICE in ix86_avx256_split_vector_move_misalign, at config/i386/i386-expand.c:489 since r274986)
2019-09-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR middle-end/91605
        * expr.c (addr_expr_of_non_mem_decl_p_1): Refactor into...
        (non_mem_decl_p): ...this.
        (mem_ref_refers_to_non_mem_p): Handle DECL_P as well ase MEM_REF.
        (expand_assignment): Call mem_ref_referes_to_non_mem_p
        unconditionally as before.

testsuite:
2019-09-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR middle-end/91605
        * g++.target/i386/pr91605.C: New test.

From-SVN: r275320
2019-09-02 14:26:26 +00:00
Jakub Jelinek
1525fa83cc re PR tree-optimization/91632 (Probably wrong code since r275026)
PR tree-optimization/91632
	* gcc.c-torture/execute/pr91632.c: New test.

From-SVN: r275318
2019-09-02 15:35:54 +02:00
Alexander Monakov
2b196fb76e contrib/vimrc: override formatting options for more files
* vim-gcc-dev/syntax/gcc-match.vim: Do not override 'tabstop' here.
	* vimrc: Set preferred values for 'tabstop', 'softtabstop',
	'shiftwidth', 'noexpandtab', 'textwidth', 'formatoptions' for all
	files, not just C-like files.

From-SVN: r275316
2019-09-02 15:30:02 +03:00
Jonathan Wakely
d2faf10f95 Use __constinit keyword in libstdc++ sources
* src/c++17/memory_resource.cc: Use __constinit keyword.

From-SVN: r275315
2019-09-02 12:31:34 +01:00
Jonathan Wakely
30f43083ae Update libstdc++ docs for library version bumps
* doc/xml/manual/abi.xml: Document 9.x library versions.
	* doc/html/*: Regenerate.

From-SVN: r275314
2019-09-02 12:31:30 +01:00
Jonathan Wakely
6e672b1801 Minor simplifications for std::to_chars implementation
* include/std/charconv (__detail::__to_chars_2_len): Use std::log2p1.
	(__detail::__to_chars_8_len): Remove.
	(__detail::__to_chars_8): Inline length calculation here.
	(__detail::__from_chars_binary): Use numeric_limits instead of
	CHAR_BIT.

From-SVN: r275313
2019-09-02 12:31:25 +01:00
Eric Botcazou
000a5f8d23 re PR target/91323 (LTGT rtx produces UCOMISS instead of COMISS)
PR target/91323
	* doc/generic.texi (LTGT_EXPR): Merge with other comparison operators.
	* rtl.def (LTGT): Likewise.  Add note about floating-point exceptions.
	* tree.def (LTGT_EXPR): Likewise.
	* config/sparc/sparc.c (select_cc_mode): Return CCFPEmode for LTGT.

From-SVN: r275303
2019-09-02 10:10:23 +00:00
Jakub Jelinek
976f9aa1e8 re PR go/91617 (Many go test case failures after r275026)
PR go/91617
	* fold-const.c (range_check_type): For enumeral and boolean
	type, pass 1 to type_for_size langhook instead of
	TYPE_UNSIGNED (etype).  Return unsigned_type_for result whenever
	etype isn't TYPE_UNSIGNED INTEGER_TYPE.
	(build_range_check): Don't call unsigned_type_for for pointer types.
	* match.pd (X / C1 op C2): Don't call unsigned_type_for on
	range_check_type result.

From-SVN: r275299
2019-09-02 10:38:13 +02:00
Rainer Orth
8756957f01 Update Solaris baselines for GCC 10.0
* config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
	* config/abi/post/i386-solaris/amd64/baseline_symbols.txt: Likewise.
	* config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
	* config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
	Likewise.

From-SVN: r275298
2019-09-02 08:31:07 +00:00
Eric Botcazou
0f605e4049 gimple-ssa-strength-reduction.c (valid_mem_ref_cand_p): New function.
* gimple-ssa-strength-reduction.c (valid_mem_ref_cand_p): New function.
	(replace_ref): Do not replace a chain of only two candidates which are
	valid memory references.

From-SVN: r275297
2019-09-02 08:14:47 +00:00
Martin Liska
c746efcab3 Set tabstop=8 for gcc-match file types.
2019-09-02  Martin Liska  <mliska@suse.cz>

	* vim-gcc-dev/syntax/gcc-match.vim: Set tabstop=8.

From-SVN: r275295
2019-09-02 07:46:18 +00:00
Martin Liska
1acbaa7530 Fix thinko in early bail out in tree-switch-conversion.
2019-09-02  Martin Liska  <mliska@suse.cz>

	* tree-switch-conversion.c (jump_table_cluster::find_jump_tables):
	Bail out when we'll end up with the same number of clusters as
	at the beginning.
	(bit_test_cluster::find_bit_tests): Likewise for bit tests.
	(jump_table_cluster::can_be_handled): Remove the guard
	as it's already handled in ::is_enabled.  Allocate output
	after early bail out.

From-SVN: r275293
2019-09-02 07:09:39 +00:00
Martin Liska
ae0d3f6a59 Use cxx_printable_name for __PRETTY_FUNCTION__ in cp_fname_init.
2019-09-02  Martin Liska  <mliska@suse.cz>

	PR c++/91155
	* c-common.c (fname_as_string): Use cxx_printable_name for
	__PRETTY_FUNCTION__ same as was used before r265711.
2019-09-02  Martin Liska  <mliska@suse.cz>

	PR c++/91155
	* g++.dg/torture/pr91155.C: New test.

From-SVN: r275292
2019-09-02 07:07:11 +00:00
Martin Liska
9297e01329 Consider also negative edges in cycle detection.
2019-09-02  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/91601
	* gcov.c (path_contains_zero_cycle_arc): Rename to ...
	(path_contains_zero_or_negative_cycle_arc): ... this and handle
	also negative edges.
	(circuit): Handle also negative edges as they can happen
	in some situations.

From-SVN: r275291
2019-09-02 07:06:54 +00:00
GCC Administrator
ea323e9e92 Daily bump.
From-SVN: r275290
2019-09-02 00:16:37 +00:00
Marek Polacek
556f8de3be PR c++/91129 - wrong error with binary op in template argument.
* typeck.c (warn_for_null_address): Use fold_for_warn instead of
	fold_non_dependent_expr.
	(cp_build_binary_op): Likewise.

	* g++.dg/cpp1y/nontype1.C: New test.

From-SVN: r275285
2019-09-01 22:54:15 +00:00
François Dumont
a37ab089c2 2019-09-01 François Dumont <fdumont@gcc.gnu.org>
* testsuite_files/util/testsuite_performance.h
	(resource_counter::start): Ignore unused malloc(0) result.

From-SVN: r275284
2019-09-01 20:11:42 +00:00
Iain Sandoe
3791ba494b [testsuite] Unsupport 20190827-1.c for targets without alias support.
gcc/testsuite/

2019-09-01  Iain Sandoe  <iain@sandoe.co.uk>

	* gcc.c-torture/compile/20190827-1.c: Add dg-requires-alias.

From-SVN: r275274
2019-09-01 18:38:59 +00:00
Eric Botcazou
4c122404fa target-supports.exp (check_effective_target_pthread): Add #include <pthread.h> directive to the test.
* lib/target-supports.exp (check_effective_target_pthread): Add
	#include <pthread.h> directive to the test.

From-SVN: r275271
2019-09-01 12:55:58 +00:00
Eric Botcazou
2dae212347 re PR target/91472 (gmp testsuite segfaults with gcc-8 and gcc-9, works fine with gcc-7)
PR target/91472
	* config/sparc/sparc.c (sparc_cannot_force_const_mem): Return true
	during LRA/reload in PIC mode if the PIC register hasn't been used yet.
	(sparc_pic_register_p): Test reload_in_progress for consistency's sake.

From-SVN: r275270
2019-09-01 12:55:22 +00:00
Paul Thomas
70570ec192 array.c (spec_dimen_size): Check for the presence of expressions for the bounds.
2019-09-01  Paul Thomas  <pault@gcc.gnu.org>

	* array.c (spec_dimen_size): Check for the presence of
	expressions for the bounds.
	* decl.c (gfc_match_end): Add case COMP_SELECT_RANK.
	* dump-parse-tree.c(show_symbol): Show the arrayspec of class
	entities.
	(show_code_node): Show the code for SELECT_RANK.
	* expr.c (gfc_check_vardef_context): Omit the context of
	variable definition for select rank associate names since the
	ASSUMED RANK throws.
	* gfortran.h : Add ST_SELECT_RANK and ST_RANK to enum
	gfc_statement. Add select_rank_temporary to symbol attribute
	structure. Add EXEC_SELECT_RANK to enum gfc_exec_op.
	* match.c (match_exit_cycle): Add COMP_SELECT_RANK.
	(copy_ts_from_selector_to_associate): Add as special case for
	assumed rank class variables.
	(select_intrinsic_set_tmp): Clean up the code by using symbols
	for references to the temporary and the selector.
	(select_type_set_tmp): Ditto.
	(select_rank_set_tmp): New function.
	(gfc_match_select_rank): New function.
	(gfc_match_rank_is): New function.
	* match.h : Add prototypes for gfc_match_select_rank and
	gfc_match_rank_is.
	* parse.c (decode_statement): Attempt to match select_rank and
	rank statements.
	(next_statement, gfc_ascii_statement): Add ST_SELECT_RANK.
	(parse_select_rank_block): New function.
	(parse_executable): Parse select rank block for ST_SELECT_RANK.
	* parse.h : Add COMP_SELECT_RANK to enum gfc_compile_state.
	* resolve.c (resolve_variable): Exclude select_rank_temporaries
	from the check on use of ASSUMED RANK.
	(gfc_resolve_expr): Make sure that unlimited polymorphic select
	rank temporaries expressions are not resolved again after being
	successfully resolved.
	(resolve_assoc_var): Do not do the rank check for select rank
	temporaries.
	(resolve_select_rank): New function.
	(gfc_resolve_blocks): Deal with case EXEC_SELECT_RANK.
	(resolve_symbol): Exclude select rank temporaries for check on
	use of ASSUMED RANK.
	* st.c (gfc_free_statement): Include EXEC_SELECT_RANK.
	* trans-array.c (gfc_conv_array_ref): Select rank temporaries
	may have dimen == 0.
	(gfc_conv_expr_descriptor): Zero the offset of select rank
	temporaries.
	* trans-stmt.c (copy_descriptor): New function.
	(trans_associate_var): Add code to associate select rank temps.
	(gfc_trans_select_rank_cases): New function.
	(gfc_trans_select_rank): New function.
	* trans-stmt.h : Add prototype for gfc_trans_select_rank.
	trans.c (trans_code): Add select rank case.


2019-09-01  Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/select_rank_1.f90 : New test.
	* gfortran.dg/select_rank_2.f90 : New test.

From-SVN: r275269
2019-09-01 12:53:02 +00:00
Gerald Pfeifer
3e7254c5e4 policy_data_structures_biblio.xml (COM: Component Model Object Technologies): Adjust name and link.
* doc/xml/manual/policy_data_structures_biblio.xml (COM: Component
	Model Object Technologies): Adjust name and link.

From-SVN: r275268
2019-09-01 12:42:41 +00:00
Jakub Jelinek
9151048d85 re PR middle-end/91623 (-msse4.1 -O3 segfault in /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/smmintrin.h:270:10)
PR middle-end/91623
	* optabs.c (expand_vec_cond_expr): If op0 is a VECTOR_CST and only
	EQ_EXPR/NE_EXPR is supported, verify that op0 only contains
	zeros or negative elements and use NE_EXPR instead of LT_EXPR against
	zero vector.

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

From-SVN: r275267
2019-09-01 13:57:10 +02:00
Jakub Jelinek
d1e2e50a5f re PR lto/91572 (lto1: error: type variant has different ‘TREE_TYPE’ since r269862)
PR lto/91572
	* tree.c (find_decls_types_in_node): Also walk TREE_PURPOSE of
	GIMPLE_ASM TREE_LIST operands.

	* g++.dg/lto/pr91572_0.C: New test.

From-SVN: r275266
2019-09-01 13:56:13 +02:00
Bernd Edlinger
12b19f6aaf Fix wrong dates in ChangeLog
From-SVN: r275265
2019-09-01 10:40:52 +00:00
GCC Administrator
7a9f7e59dd Daily bump.
From-SVN: r275264
2019-09-01 00:16:48 +00:00
Jason Merrill
ad527d8018 Add source location to TRAIT_EXPR.
Since TRAIT_EXPR is exceptional, maybe_wrap_with_location won't wrap it, so
we need to put its location in the TRAIT_EXPR node itself.

	* cp-tree.h (TRAIT_EXPR_LOCATION): New.
	(struct tree_trait_expr): Add locus field.
	* parser.c (cp_parser_trait_expr): Pass trait_loc down.
	* pt.c (tsubst_copy_and_build) [TRAIT_EXPR]: Likewise.
	* semantics.c (finish_trait_expr): Add location parm.
	* tree.c (cp_expr_location): Handle TRAIT_EXPR.

From-SVN: r275260
2019-08-31 18:09:47 -04:00
Joseph Myers
bd486c8cdf * es.po: Update.
From-SVN: r275258
2019-08-31 22:49:27 +01:00
Gerald Pfeifer
8498adc271 generic.texi (Unary and Binary Expressions): Mark up an instance of TYPE_MIN.
* doc/generic.texi (Unary and Binary Expressions): Mark up
	an instance of TYPE_MIN.

From-SVN: r275243
2019-08-31 17:20:28 +00:00
Stafford Horne
fd631eb5a7 or1k: Fix issue with set_got clobbering LR (r9)
When compiling glibc we found that the GOT register was being allocated
r9 when the instruction was still set_got_tmp.  That is a problem
because r9 is the Link Register (LR) in OpenRISC which is used/clobbered
in set_got.  We cannot use r9 as the GOT register.  Also, we cannot
simply say set_got_tmp clobbers r9 as this is the reason for having the
temporary set_got_tmp.

Fix by using a register class constraint that does not allow r9 during
register allocation.

gcc/ChangeLog:

        * config/or1k/constraints.md (t): New constraint.
        * config/or1k/or1k.h (GOT_REGS): New register class.
        * config/or1k/or1k.md (set_got_tmp, set_got): Use t contraint.

From-SVN: r275242
2019-08-31 06:00:56 +00:00
Ian Lance Taylor
3ba155dd19 compiler: check for notinheap struct at each struct field
When generating write barriers, we were only checking for a notinheap
    struct at the outermost struct.  That mishandled the case of setting a
    pointer to a notinheap struct as a field of another struct that is not
    notinheap.  This caused an invalid write barrier error when building
    the 1.13 version of the runtime.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/192279

From-SVN: r275240
2019-08-31 03:07:48 +00:00
Ian Lance Taylor
c70ff9f9be compiler, runtime: support and use single argument go:linkname
The gc compiler has started permitting go:linkname comments with a
    single argument to mean that a function should be externally visible
    outside the package.  Implement this in the Go frontend.
    
    Change the libgo runtime package to use it, rather than repeating the
    name just to export a function.
    
    Remove a couple of unnecessary go:linkname comments on declarations.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/192197

From-SVN: r275239
2019-08-31 03:01:15 +00:00
Ian Lance Taylor
e7c8f75569 compiler: don't report runtime escapes if we've seen errors
If we get errors during compilation, we skip the escape analysis pass.
    If we are compiling the runtime package, we report an error if a bound
    method expression escapes.  The effect is that if we get an error
    while compiling the runtime package, we would report confusing and
    meaningless errors about bound method expressions escaping.
    
    This CL stops doing that.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/192720

From-SVN: r275238
2019-08-31 02:56:55 +00:00
Ian Lance Taylor
d24c41ef1a runtime: always build panic32.go
Avoids problems with arm64 ILP32 mode.  We might want to handle that
    mode better in general, but always building panic32.go is simple and
    fixes the build.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/192723

From-SVN: r275237
2019-08-31 02:55:09 +00:00