1. 03 Sep, 2019 17 commits
    • rust-demangle.c (unescape): Remove. · 42bf58bb
      	* rust-demangle.c (unescape): Remove.
      	(parse_lower_hex_nibble): New function.
      	(parse_legacy_escape): New function.
      	(is_prefixed_hash): Use parse_lower_hex_nibble.
      	(looks_like_rust): Use parse_legacy_escape.
      	(rust_demangle_sym): Use parse_legacy_escape.
      	* testsuite/rust-demangle-expected: Add 'llv$u6d$' test.
      
      From-SVN: r275353
      Eduard-Mihai Burtescu committed
    • c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand when using -fgo-dump-spec. · 5f76ab15
      	* c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
      	when using -fgo-dump-spec.
      
      From-SVN: r275352
      Ian Lance Taylor committed
    • re PR target/91604 (ICE in extract_insn at recog.c:2310 since r272323) · deeedbad
      	PR target/91604
      	* config/i386/i386-expand.c (split_double_mode): If there is more than
      	one MEM operand and they are rtx_equal_p, reuse lo_half/hi_half from
      	already split matching MEM operand instead of calling adjust_address
      	again.
      
      	* gcc.target/i386/pr91604.c: New test.
      
      From-SVN: r275344
      Jakub Jelinek committed
    • Remove Cell Broadband Engine SPU targets · 2f2aeda9
      From-SVN: r275343
      Ulrich Weigand committed
    • re PR middle-end/91603 (Unaligned access in expand_assignment) · 93439218
      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
      Bernd Edlinger committed
    • re PR other/79543 (Inappropriate "ld --version" checking) · c6c2d1bc
      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
      Chung-Lin Tang committed
    • tree-ssa-sccvn.h (vn_nary_op_lookup): Remove. · c8d34912
      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
      Richard Biener committed
    • S/390: Commit forgotten test for r275336 · 70b766b2
      gcc/testsuite/ChangeLog:
      
      2019-09-03  Ilya Leoshkevich  <iii@linux.ibm.com>
      
      	* gcc.target/s390/sigfpe-eh.c: Forgotten test.
      
      From-SVN: r275337
      Ilya Leoshkevich committed
    • S/390: Fix failing RTL check in s390_canonicalize_comparison · 837ee1e0
      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
      Ilya Leoshkevich committed
    • [AArch64] Add support for __jcvt intrinsic · e1d5d19e
      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
      Kyrylo Tkachov committed
    • [AArch64] Implement ACLE intrinsics for FRINT[32,64][Z,X] · 10bd1d96
      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
      Kyrylo Tkachov committed
    • [AArch64] Add support for missing CPUs · e0664b7a
      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
      Dennis Zhang committed
    • libphobos.exp (libphobos_init): Add multi-lib libgcc dirs to the ld_library_path var. · bca30736
      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
      Bernd Edlinger committed
    • [AArch64] Add Linux hwcap strings for some extensions · 75f93536
      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
      Kyrylo Tkachov committed
    • re PR tree-optimization/91597 (GCC miscompiles a branch depending on a pointer tag) · 3729852e
      	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
      Jakub Jelinek committed
    • [x86 testsuite] preserve full register across main · e4a8d4a7
      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
      Alexandre Oliva committed
    • Daily bump. · 97d6a7c8
      From-SVN: r275328
      GCC Administrator committed
  2. 02 Sep, 2019 17 commits
  3. 01 Sep, 2019 6 commits
    • PR c++/91129 - wrong error with binary op in template argument. · 556f8de3
      	* 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
      Marek Polacek committed
    • 2019-09-01 François Dumont <fdumont@gcc.gnu.org> · a37ab089
      	* testsuite_files/util/testsuite_performance.h
      	(resource_counter::start): Ignore unused malloc(0) result.
      
      From-SVN: r275284
      François Dumont committed
    • [testsuite] Unsupport 20190827-1.c for targets without alias support. · 3791ba49
      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
      Iain Sandoe committed
    • target-supports.exp (check_effective_target_pthread): Add #include <pthread.h>… · 4c122404
      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
      Eric Botcazou committed
    • re PR target/91472 (gmp testsuite segfaults with gcc-8 and gcc-9, works fine with gcc-7) · 2dae2123
      	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
      Eric Botcazou committed
    • array.c (spec_dimen_size): Check for the presence of expressions for the bounds. · 70570ec1
      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
      Paul Thomas committed