1. 04 Sep, 2019 12 commits
    • PR libstdc++/41861 Add full steady_clock support to condition_variable · ad4d1d21
      The pthread_cond_clockwait function is available in glibc since the 2.30
      release. If this function is available in the C library it can be used
      to fix PR libstdc++/41861 by supporting std::chrono::steady_clock
      properly with std::condition_variable.
      
      This means that code using std::condition_variable::wait_for or
      std::condition_variable::wait_until with std::chrono::steady_clock is no
      longer subject to timing out early or potentially waiting for much
      longer if the system clock is warped at an inopportune moment.
      
      If pthread_cond_clockwait is available then std::chrono::steady_clock is
      deemed to be the "best" clock available which means that it is used for
      the relative wait_for calls and absolute wait_until calls using
      user-defined clocks. Calls explicitly using std::chrono::system_clock
      continue to use CLOCK_REALTIME via __gthread_cond_timedwait.
      
      If pthread_cond_clockwait is not available then
      std::chrono::system_clock is deemed to be the "best" clock available
      which means that the previous suboptimal behaviour remains.
      
      2019-09-04  Mike Crowe  <mac@mcrowe.com>
      
      	PR libstdc++/41861
      	* acinclude.m4 (GLIBCXX_CHECK_PTHREAD_COND_CLOCKWAIT): Check for new
      	pthread_cond_clockwait function.
      	* configure.ac: Use GLIBCXX_CHECK_PTHREAD_COND_CLOCKWAIT.
      	* configure: Regenerate.
      	* config.h.in: Regenerate.
      	* include/std/condition_variable: (condition_variable): Rename
      	__steady_clock_t typedef and add system_clock. Change __clock_t to be
      	a typedef for the preferred clock to convert arbitrary other clocks to.
      	[_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT] (wait_until): Add a steady_clock
      	overload.
      	(wait_until): Change __clock_t overload to use system_clock.
      	[_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT] (__wait_until_impl): Add
      	steady_clock overload that calls pthread_cond_clockwait.
      	(__wait_until_impl): Change __clock_t overload to use system_clock.
      	(condition_variable_any) [_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT]: Use
      	steady_clock for __clock_t if pthread_cond_clockwait is available.
      
      From-SVN: r275390
      Mike Crowe committed
    • Add user-defined clock to libstdc++ condition_variable tests · 76e0dd66
      2019-09-04  Mike Crowe  <mac@mcrowe.com>
      
      	* testsuite/30_threads/condition_variable/members/2.cc (test01):
      	Parameterise so that test can be run against an arbitrary clock.
      	(main): Test using std::chrono::steady_clock and a user-defined
      	clock in addition to the previous std::chrono::system_clock.
      	* testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
      
      From-SVN: r275389
      Mike Crowe committed
    • Disallow -fvtable-verify and -flto to be used together. · 9eb730b8
      Vtable verification currently does not work properly with
      link time optimization.  Until this can be fixed users should
      not be allowed to specify both options together.
      
      2019-09-04  Caroline Tice  <cmtice@google.com>
       
              *  opts.c (finish_options):  Disallow -fvtable-verify and -flto to be
                 specified together.
      
      From-SVN: r275388
      Caroline Tice committed
    • Remove -fdeduce-init-list. · db9d2274
      From-SVN: r275387
      Marek Polacek committed
    • re PR target/32413 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:396) · 0c7800b2
      	PR target/32413
      	* config/i386/i386.c (inline_secondary_memory_needed): Return true
      	for QI and HImode moves between SSE and general registers.
      
      From-SVN: r275377
      Uros Bizjak committed
    • Add warning Wenum-conversion for C and ObjC. · 68e2c199
      The patch enables warning with Wextra due to PR91593 and warnings with
      allmodconfig kernel build. Once these issues are resolved, we could
      consider promoting it to Wall.
      
      2019-09-04  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	PR c/78736
      	* doc/invoke.texi: Document -Wenum-conversion.
      
      c-family
      	* c.opt (Wenum-conversion): New option.
      
      c/
      	* c-typeck.c (convert_for_assignment): Handle Wenum-conversion.
      
      testsuite/
      	* gcc.dg/Wenum-conversion.c: New test-case.
      
      From-SVN: r275376
      Prathamesh Kulkarni committed
    • mklog: Do not print changed functions in testsuite · bc7f7ff9
      2019-09-04  Martin Liska  <mliska@suse.cz>
      
      	* mklog: Do not print changed functions for
      	testsuite files.
      
      From-SVN: r275369
      Martin Liska committed
    • mklog: parse PR references from new test files · a45de90e
      2019-09-04  Martin Liska  <mliska@suse.cz>
      
      	* mklog: Parse PR references from newly added
      	test files.
      
      From-SVN: r275368
      Martin Liska committed
    • Use argparse.ArgumentParser for mklog. · e94e92dc
      2019-09-04  Martin Liska  <mliska@suse.cz>
      
      	* mklog: Use argparse instead of getopt.
      
      From-SVN: r275367
      Martin Liska committed
    • re PR middle-end/36262 (Extreme memory usage of VRP compared to older versions) · dc91c653
      2019-09-04  Richard Biener  <rguenther@suse.de>
      
      	PR rtl-optimization/36262
      	* postreload-gcse.c: Include intl.h and gcse.h.
      	(insert_expr_in_table): Insert at the head of cur_expr->avail_occr
      	to avoid linear list walk.
      	(record_last_mem_set_info): Gate off if not computing transparentness.
      	(get_bb_avail_insn): If transparentness isn't computed give up
      	early.
      	(gcse_after_reload_main): Skip compute_transp and extended PRE
      	if gcse_or_cprop_is_too_expensive says so.
      
      From-SVN: r275365
      Richard Biener committed
    • gfortran.texi: Update documentation to catch up with BOZ changes. · f8e36f0a
      2019-09-03  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* gfortran.texi: Update documentation to catch up with BOZ changes.
      	* invoke.texi: Fix English from previous BOZ changes commit.
      
      From-SVN: r275364
      Steven G. Kargl committed
    • Daily bump. · 48259207
      From-SVN: r275362
      GCC Administrator committed
  2. 03 Sep, 2019 22 commits
    • compiler: only import variable into . if same package · 2974ecda
          
          If we dot-import a package, we should only add an imported variable to
          the package bindings if the variable is in the package being imported.
          A test case for this is the 1.13 os package, in which ErrClosed and
          friends are defined both locally and in the imported internal/oserror package.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/192718
      
      From-SVN: r275358
      Ian Lance Taylor committed
    • MSP430: Use default_elf_select_section to determine sections for data · 64be2b26
      2019-09-03  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* config/msp430/msp430.c (msp430_init_sections): Remove handling of the
      	noinit section.
      	(msp430_select_section): Handle decls with the "noinit" attribute with
      	default_elf_select_section.
      	Handle SECCAT_RODATA_MERGE_* section types with
      	default_elf_select_section.
      	Add comments about handling of unsupported section types.
      	(msp430_section_type_flags): Remove handling of the noinit section.
      
      From-SVN: r275357
      Jozef Lawrynowicz committed
    • MSP430: Setup exclusion tables for function and data attributes · f1deee91
      gcc/ChangeLog:
      
      2019-09-03  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* config/msp430/msp430.c (msp430_attr): Remove warnings about
      	conflicting msp430-specific attributes.
      	(msp430_section_attr): Likewise.
      	Add warnings about conflicts with generic "noinit" and "section"
      	attributes.
      	Fix grammar in -mlarge error message.
      	(msp430_data_attr): Rename to msp430_persist_attr.
      	Add warnings about conflicts with generic "noinit" and "section"
      	attributes.
      	Add warning for when variable is not initialized.
      	Chain conditionals which prevent the attribute being added.
      	(ATTR_EXCL): New helper.
      	(attr_reent_exclusions): New exclusion table.
      	(attr_naked_exclusions): Likewise.
      	(attr_crit_exclusions): Likewise.
      	(attr_lower_exclusions): Likewise.
      	(attr_upper_exclusions): Likewise.
      	(attr_either_exclusions): Likewise.
      	(attr_persist_exclusions): Likewise.
      	(msp430_attribute_table): Update with exclusion rules.
      	(msp430_output_aligned_decl_common): Don't output common symbol if decl
      	has a section.
      
      gcc/testsuite/ChangeLog:
      
      2019-09-03  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* gcc.target/msp430/data-attributes-2.c: New test.
      	* gcc.target/msp430/function-attributes-4.c: Update dg-warning
      	strings.
      	* gcc.target/msp430/region-attribute-misuse.c: Likewise.
      
      From-SVN: r275356
      Jozef Lawrynowicz committed
    • Implement TARGET_HANDLE_GENERIC_ATTRIBUTE · 7a4418a5
      gcc/ChangeLog:
      
      2019-09-03  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* config/msp430/msp430.c (TARGET_HANDLE_GENERIC_ATTRIBUTE): Define.
      	(msp430_handle_generic_attribute): New function.
      	* doc/tm.texi: Regenerate.
      	* doc/tm.texi.in: Add TARGET_HANDLE_GENERIC_ATTRIBUTE.
      	* hooks.c (hook_tree_treeptr_tree_tree_int_boolptr_null): New.
      	* hooks.h (hook_tree_treeptr_tree_tree_int_boolptr_null): New.
      	* target.def: Define new hook TARGET_HANDLE_GENERIC_ATTRIBUTE.
      
      gcc/c-family/ChangeLog:
      
      2019-09-03  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* c-attribs.c (handle_section_attribute): Call the
      	handle_generic_attribute target hook after performing target
      	independent processing.
      	(handle_noinit_attribute): Likewise.
      
      From-SVN: r275355
      Jozef Lawrynowicz committed
    • re PR tree-optimization/91504 (Inlining misses some logical operation folding) · 52792faa
      	PR tree-optimization/91504
      	* match.pd: Add ((~a & b) ^a) --> (a | b).
      
              PR tree-optimization/91504
      	gcc.dg/tree-ssa/pr91504.c: New test.
      
      From-SVN: r275354
      Kamlesh Kumar committed
    • 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
  3. 02 Sep, 2019 6 commits