- 05 Jan, 2019 5 commits
-
-
2019-01-05 Dominique d'Humieres <dominiq@gcc.gnu.org> * g++.dg/ext/sync-4.C: Add dg-xfail-run-if for darwin. From-SVN: r267592
Dominique d'Humieres committed -
gcc/c-family/ChangeLog: PR c/88546 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf. Handle C++ empty throw specification and C11 _Noreturn. (has_attribute): Also handle C11 _Noreturn. gcc/ChangeLog: PR c/88546 * attribs.c (decls_mismatched_attributes): Avoid warning for attribute leaf. gcc/testsuite/ChangeLog: PR c/88546 * g++.dg/ext/attr-copy.C: New test. * gcc.dg/attr-copy-4.c: Disable macro expansion tracking. * gcc.dg/attr-copy-6.c: New test. * gcc.dg/attr-copy-7.c: New test. From-SVN: r267591
Martin Sebor committed -
Traceback routines, e.g. callers and funcentry, may call __go_get_backtrace_state. If a profiling signal arrives while we are in the critical section of __go_get_backtrace_state, it tries to do a traceback, which also calls __go_get_backtrace_state, which tries to enter the same critical section and will deadlock. Prevent this deadlock by setting up runtime_in_callers before calling __go_get_backtrace_state. Found while investigating golang/go#29448. Will add a test in the next CL. Updates golang/go#29448. Reviewed-on: https://go-review.googlesource.com/c/156037 From-SVN: r267590
Ian Lance Taylor committed -
From-SVN: r267589
Jan Hubicka committed -
From-SVN: r267588
GCC Administrator committed
-
- 04 Jan, 2019 17 commits
-
-
The C++17 standard added some new members to std::basic_string, which were not previously instantiated in the library. This meant that the extern template declarations had to be disabled for C++17 mode. With this patch the new members are instantiated in the library and so the explicit instantiation declarations can be used for C++17. The new members added by C++2a are still not exported, and so the explicit instantiation declarations are still disabled for C++2a. * config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Make patterns less greedy for const member functions of std::basic_string. (GLIBCXX_3.4.26): Export member functions of std::basic_string added in C++17. * include/bits/basic_string.h (basic_string(__sv_wrapper, const A&)): Make non-standard constructor private. [!_GLIBCXX_USE_CXX11_ABI] (basic_string(__sv_wrapper, const A&)): Likewise. * include/bits/basic_string.tcc (std::string, std::wstring): Declare explicit instantiations for C++17 as well as earlier dialects. * src/c++17/Makefile.am: Add new source files. * src/c++17/Makefile.in: Regenerate. * src/c++17/cow-string-inst.cc: New file defining explicit instantiations for basic_string member functions added in C++17. * src/c++17/string-inst.cc: Likewise. From-SVN: r267585
Jonathan Wakely committed -
Add these constructors from C++11 which were missing from the COW basic_string. Additionally simplify the definitions of the basic_string::reference and basic_string::const_reference types as required by C++11. This allows filesystem::path::string<Allocator>() to be simplified, so that the same code is used for both basic_string implementations. * config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Export allocator-extended copy/move constructors for old std::basic_string. * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] (basic_string::reference, basic_string::const_reference): Define as plain references for C++11 and later. (basic_string::basic_string()): Put constructor body outside preprocessor conditional groups. (basic_string::basic_string(basic_string&&)): Move _Alloc_hider instead of copying it. (basic_string::basic_string(const basic_string&, const _Alloc&)): Define. (basic_string::basic_string(basic_string&&, const _Alloc&)): Define. * include/bits/fs_path.h [!_GLIBCXX_USE_CXX11_ABI]: Remove special cases for old basic_string. * testsuite/21_strings/basic_string/cons/char/8.cc: Test allocator-extended constructors unconditionally. Add extra members to allocator type when using old string ABI. * testsuite/21_strings/basic_string/allocator/71964.cc: Enable test for old string ABI. * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise. From-SVN: r267584
Jonathan Wakely committed -
gcc/c-family/ChangeLog: PR c/88363 * c-attribs.c (positional_argument): Also accept enumerated types. gcc/testsuite/ChangeLog: PR c/88363 * c-c++-common/attributes-4.c: New test. gcc/ChangeLog: PR c/88363 * doc/extend.texi (attribute alloc_align, alloc_size): Update. From-SVN: r267583
Martin Sebor committed -
This currently checks _GLIBCXX_USE_DUAL_ABI which is incorrect, as that can be true when _GLIBCXX_USE_CXX11_ABI == 0. The correct check would be _GLIBCXX_USE_CXX11_ABI == 1, but that's made redundant by the cxx11-abi effective target that the test requires. However, the test will fail if -fno-inline is used, so check __NO_INLINE__ instead. * testsuite/23_containers/list/61347.cc: Avoid spurious failure when -fno-inline added to test flags. From-SVN: r267582
Jonathan Wakely committed -
* gdbinit.in: Turn off pagination for the skip commands, restore it to previous state afterwards. From-SVN: r267581
Jakub Jelinek committed -
[PATCH][GCC][Aarch64] Change expected bfxil count in gcc.target/aarch64/combine_bfxil.c to 18 (PR/87763) gcc/testsuite/Changelog: 2019-01-04 Sam Tebbs <sam.tebbs@arm.com> PR gcc/87763 * gcc.target/aarch64/combine_bfxil.c: Change scan-assembler-times bfxil count to 18. From-SVN: r267579
Sam Tebbs committed -
This test started passing with the old ABI with r263808, so doesn't need to be marked XFAIL now. * testsuite/21_strings/basic_string/requirements/ explicit_instantiation/debug.cc: Remove XFAIL for old ABI. From-SVN: r267578
Jonathan Wakely committed -
* testsuite/27_io/filesystem/filesystem_error/copy.cc: Fix static assertion failures with old std::string ABI. From-SVN: r267577
Jonathan Wakely committed -
Using path::_List::erase(const_iterator) to remove a non-final component in path::lexically_normal() is a bug, because it leaves the following component with an incorrect _M_pos value. Instead of providing erase members that allow removing components from the middle, replace them with pop_back() and _M_erase_from(const_iterator) which only allow removing elements at the end. Most uses of erase are unaffected, because they only remove elements from the end anyway. The one use of erasure from the middle in lexically_normal() is replaced by calls to pop_back() and/or clearing the last component to leave it as an empty final filename. Also replace the "???" comment in lexically_normal() to document when that branch is taken. * include/bits/fs_path.h (path::_List::erase): Replace both overloads with ... (path::pop_back(), path::_M_erase_from(const_iterator)): New member functions that will only erase elements at the end. * src/filesystem/std-path.cc (path::_List::_Impl::pop_back()): Define. (path::_List::_Impl::_M_erase_from(const_iterator)): Define. (path::_List::operator=(const _List&)): Use _M_erase_from(p) instead of erase(p, end()). (path::_List::pop_back()): Define. (path::_List::_M_erase_from(const_iterator)): Define. (path::operator/=(const path&)): Use pop_back to remove last component and _M_erase_from to remove multiple components. (path::_M_append(basic_string_view<value_type>)): Likewise. (path::operator+=(const path&)): Likewise. (path::_M_concat(basic_string_view<value_type>)): Likewise. (path::remove_filename()): Likewise. (path::lexically_normal()): Use _List::_Impl iterators instead of path::iterator. Use pop_back to remove components from the end. Clear trailing filename, instead of using erase(const_iterator) to remove a non-final component. * testsuite/27_io/filesystem/path/generation/normal.cc: Test additional cases. * testsuite/27_io/filesystem/path/generation/normal2.cc: New test. From-SVN: r267576
Jonathan Wakely committed -
From-SVN: r267575
Eric Botcazou committed -
When erasing a trailing empty filename component, the output iterator was not decremented, causing the next component to be created at the wrong position. * src/filesystem/std-path.cc (path::operator+=(const path&)): Fix incorrect treatment of empty filename after trailing slash. * testsuite/27_io/filesystem/path/concat/path.cc: Test problem case. From-SVN: r267574
Jonathan Wakely committed -
These tests rely on inlining, so if -fno-inline is added to the compiler flags the tests fail. Use the predefined __NO_INLINE__ macro to detect that situation, and don't bother testing the move assignment. * testsuite/21_strings/basic_string/modifiers/assign/char/ move_assign_optim.cc: Avoid spurious failure when -fno-inline added to test flags. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/ move_assign_optim.cc: Likewise. From-SVN: r267573
Jonathan Wakely committed -
2019-01-04 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/48543 * gfortran.dg/const_chararacter_merge.f90: Actually remove. * gfortran.dg/merge_char_const.f90: Restore. From-SVN: r267572
Thomas Koenig committed -
PR target/88594 * config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead of GET_MODE (opN) as modes of the libcall arguments. * gcc.dg/pr88594.c: New test. From-SVN: r267571
Jakub Jelinek committed -
While their use for masking is indeed restricted to %k1...%k7, use as "normal" insn operands also permits %k0. Remove the unnecessary limitations, requiring quite a few testsuite adjustments. Oddly enough some AVX512{F,DQ} test cases already check for %k[0-7], while others did permit {%k0} - where they get touched here anyway this gets fixed at the same time. From-SVN: r267570
Jan Beulich committed -
gcc/ChangeLog: * calls.c (maybe_warn_nonstring_arg): Avoid assuming maxlen is set. gcc/testsuite/ChangeLog: * gcc.dg/Wstringop-truncation-6.c: New test. From-SVN: r267569
Martin Sebor committed -
From-SVN: r267568
GCC Administrator committed
-
- 03 Jan, 2019 18 commits
-
-
2019-01-03 Jonathan Wakely <jwakely@redhat.com> Jakub Jelinek <jakub@redhat.com> PR libstdc++/88607 * include/experimental/memory: Replace UTF-8 quote characters. * include/std/future: Replace UTF-8 "em dash" characters. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r267565
Jonathan Wakely committed -
There are a number of UTF-8 characters in comments which add no value and can be replaced with ASCII equivalents, or removed entirely for the section sign (U+00A7). PR libstdc++/88607 * include/bits/forward_list.h: Replace UTF-8 "ligature fi" character. * include/debug/forward_list: Likewise. * include/experimental/bits/shared_ptr.h: Remove UTF-8 "section sign" character. * include/experimental/chrono: Likewise. * include/experimental/functional: Likewise. * include/experimental/ratio: Likewise. * include/experimental/system_error: Likewise. * include/experimental/tuple: Likewise. * include/experimental/type_traits: Likewise. * include/parallel/workstealing.h: Replace UTF-8 "en dash" character. * include/parallel/multiseq_selection.h: Likewise. From-SVN: r267564
Jonathan Wakely committed -
These new facet functions were added to GCC 5.1 but the versions for the old std::string ABI were never exported from the shared library. PR libstdc++/88681 * config/abi/pre/gnu.ver: Add missing exports. * testsuite/22_locale/collate_byname/88681.cc: New test. * testsuite/22_locale/time_get/get/char/88681.cc: New test. * testsuite/22_locale/time_get/get/wchar_t/88681.cc: New test. From-SVN: r267563
Jonathan Wakely committed -
2019-01-03 Aaron Sawdey <acsawdey@linux.ibm.com> * config/rs6000/rs6000-string.c (expand_block_move): Don't use unaligned vsx and avoid lxvd2x/stxvd2x. (gen_lvx_v4si_move): New function. From-SVN: r267562
Aaron Sawdey committed -
Add a couple of test-cases using vector length 128, while checking that we override to vector length 32. 2019-01-03 Tom de Vries <tdevries@suse.de> * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test. * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test. From-SVN: r267559
Tom de Vries committed -
The vector length and maximum number of workers are known compile-time. Make these easily available during code generation via new functions. 2019-01-03 Tom de Vries <tdevries@suse.de> * config/nvptx/nvptx.c (MACH_VECTOR_LENGTH, MACH_MAX_WORKERS): Define. (init_axis_dim, nvptx_mach_max_workers, nvptx_mach_vector_length): New function. * config/nvptx/nvptx.h (struct machine_function): Add axis_dims. From-SVN: r267558
Tom de Vries committed -
Factor out populate_offload_attrs from nvptx_reorg. 2019-01-03 Tom de Vries <tdevries@suse.de> * config/nvptx/nvptx.c (struct offload_attrs): New. (populate_offload_attrs): New function. Factor mask extraction out of nvptx_reorg. Add extraction of dimensions. (nvptx_reorg): Use populate_offload_attrs. From-SVN: r267557
Tom de Vries committed -
Add early-out cases for for oacc_min_dims_p and routine_p in nvptx_goacc_validate_dims, allowing simplification of the rest of the function. 2019-01-03 Tom de Vries <tdevries@suse.de> * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add early-out cases for oacc_min_dims_p and routine_p. Add asserts for oacc_default_dims_p and offload_region_p. From-SVN: r267556
Tom de Vries committed -
The TARGET_GOACC_VALIDATE_DIMS hook requires an implementation to return a bool indicating whether the dims parameter has changed. Factor nvptx_goacc_validate_dims_1 out of nvptx_goacc_validate_dims, and calculate the return value in nvptx_goacc_validate_dims. 2019-01-03 Tom de Vries <tdevries@suse.de> * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): New function, factored out of ... (nvptx_goacc_validate_dims): ... here. From-SVN: r267555
Tom de Vries committed -
2019-01-02 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/48543 * gfortran.dg/const_chararacter_merge.f90: Remove. From-SVN: r267553
Thomas Koenig committed -
2019-01-03 Jan Hubicka <hubicka@ucw.cz> PR tree-optimization/85574 * tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused structure. (struct ssa_equip_hash_traits): Declare. (val_ssa_equiv): Use custom hash traits using operand_equal_p. From-SVN: r267552
Jan Hubicka committed -
PR target/88535 * config.guess: Import upstream version 2019-01-03. * config.sub: Import upstream version 2019-01-01. From-SVN: r267551
Rainer Orth committed -
re PR debug/88644 (Unexpected pub type info eliminated after r246973 (causes pubtypes-*.c to regress).) PR debug/88644 * dwarf2out.c (modified_type_die): If type is equal to sizetype, change it to qualified_type. * gcc.dg/debug/dwarf2/pr88644.c: New test. * gcc.dg/debug/dwarf2/pr80263.c: Remove darwin hack. 2019-01-03 Iain Sandoe <iain@sandoe.co.uk> * gcc.dg/pubtypes-2.c: Adjust expected pubtypes length. * gcc.dg/pubtypes-3.c: Likewise. * gcc.dg/pubtypes-4.c: Likewise. From-SVN: r267550
Jakub Jelinek committed -
* ipa-utils.c (scale_ipa_profile_for_fn): Break out from ... (ipa_merge_profiles): ... here; do not ICE on thunks and aliases. From-SVN: r267549
Jan Hubicka committed -
PR c++/88636 * decl.c (builtin_function_1): Return result of pushdecl_top_level or pushdecl rather than decl. * g++.target/i386/pr88636.C: New test. From-SVN: r267548
Jakub Jelinek committed -
/cp 2019-01-03 Paolo Carlini <paolo.carlini@oracle.com> * tree.c (handle_nodiscard_attribute): Improve warning location. /testsuite 2019-01-03 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp1z/nodiscard3.C: Test locations too. From-SVN: r267547
Paolo Carlini committed -
2019-01-03 Martin Liska <mliska@suse.cz> PR testsuite/88436 * gcc.target/powerpc/pr54240.c: Scan phiopt2. From-SVN: r267541
Martin Liska committed -
From-SVN: r267540
GCC Administrator committed
-