- 04 Sep, 2019 12 commits
-
-
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 -
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 -
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 -
From-SVN: r275387
Marek Polacek committed -
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 -
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 -
2019-09-04 Martin Liska <mliska@suse.cz> * mklog: Do not print changed functions for testsuite files. From-SVN: r275369
Martin Liska committed -
2019-09-04 Martin Liska <mliska@suse.cz> * mklog: Parse PR references from newly added test files. From-SVN: r275368
Martin Liska committed -
2019-09-04 Martin Liska <mliska@suse.cz> * mklog: Use argparse instead of getopt. From-SVN: r275367
Martin Liska committed -
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 -
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 -
From-SVN: r275362
GCC Administrator committed
-
- 03 Sep, 2019 22 commits
-
-
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 -
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 -
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 -
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 -
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. (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. From-SVN: r275352
Ian Lance Taylor committed -
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 -
From-SVN: r275343
Ulrich Weigand committed -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
From-SVN: r275328
GCC Administrator committed
-
- 02 Sep, 2019 6 commits
-
-
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
Paul Thomas committed -
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
Steven G. Kargl committed -
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
Bernd Edlinger committed -
PR tree-optimization/91632 * gcc.c-torture/execute/pr91632.c: New test. From-SVN: r275318
Jakub Jelinek committed -
* 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
Alexander Monakov committed -
* src/c++17/memory_resource.cc: Use __constinit keyword. From-SVN: r275315
Jonathan Wakely committed
-