- 29 Apr, 2019 18 commits
-
-
* tree-ssa-uninit.c (is_pred_expr_subset_of): Correctly handle cases where cond2 is NE_EXPR. (is_value_included_in): Update comment. * gcc.dg/uninit-25-gimple.c: New test. * gcc.dg/uninit-25.c: New test. * gcc.dg/uninit-26.c: New test. * gcc.dg/uninit-27-gimple.c: New test. From-SVN: r270660
Vladislav Ivanishin committed -
2019-04-29 Michael K. Darling <darlingm@gmail.com> * gnatvsn.ads: Bump Library_Version to 10. From-SVN: r270659
Michael K. Darling committed -
This avoids a compiler crash on invalid code. Fixes https://gcc.gnu.org/PR90272 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/174377 From-SVN: r270658
Ian Lance Taylor committed -
re PR tree-optimization/90278 (ICE: verify_gimple failed (error: statement marked for throw, but doesn't)) 2019-04-29 Richard Biener <rguenther@suse.de> PR tree-optimization/90278 * tree-ssa-forwprop.c (pass_forwprop::execute): Transfer/clean EH on comparison simplification. * gcc.dg/torture/pr90278.c: New testcase. From-SVN: r270657
Richard Biener committed -
If a noexcept function calls a function that might throw, doing the tail call optimization means that an exception thrown in the called function will propagate out, breaking the noexcept specification. So we need to prevent the optimization in that case. * tree-tailcall.c (find_tail_calls): Don't turn a call from a nothrow function to a might-throw function into a tail call. From-SVN: r270656
Jason Merrill committed -
https://gcc.gnu.org/ml/gcc-patches/2019-04/msg01174.html * decl.c (duplicate_decls): Add whitespace, move comments into conditional blocks. * method.c (explain_implicit_non_constexpr): Refactor. * pt.c (check_explicit_specialization): Fix indentation. * semantics.c (process_outer_var_ref): Reformat. (finish_id_expression_1): Use STRIP_TEMPLATE. From-SVN: r270655
Nathan Sidwell committed -
...since it was only ever zero in practice. I wondered about making it a symbolic constant instead, but it didn't seem worth it when there was only one user (and that user was part of the internal tree-data-ref.c implementation). 2019-04-29 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-data-ref.h (data_dependence_relation::inner_loop): Delete. (DDR_INNER_LOOP): Likewise. * tree-data-ref.c (dump_data_dependence_relation): Update accordingly. (initialize_data_dependence_relation): Likewise. (insert_innermost_unit_dist_vector): Use 0 instead of DDR_INNER_LOOP. From-SVN: r270654
Richard Sandiford committed -
PR rtl-optimization/90257 * cfgrtl.c (flow_active_insn_p): Return true for USE of a function return value. Revert the revert: 2019-04-21 H.J. Lu <hongjiu.lu@intel.com> PR target/90178 Revert: 2018-11-21 Uros Bizjak <ubizjak@gmail.com> Revert the revert: 2013-10-26 Vladimir Makarov <vmakarov@redhat.com> Revert: 2013-10-25 Vladimir Makarov <vmakarov@redhat.com> * lra-spills.c (lra_final_code_change): Remove useless move insns. From-SVN: r270653
Jakub Jelinek committed -
2019-04-29 Richard Biener <rguenther@suse.de> * tree-ssa.c (insert_debug_temp_for_var_def): For {CLOBBER} rhs issue a reset. From-SVN: r270652
Richard Biener committed -
* include/bits/stl_algo.h (generate_n): Adjust doxygen comment. From-SVN: r270651
Jonathan Wakely committed -
* include/bits/move.h (swap(T&, T&), swap(T (&)[N], T (&)[N])): Use _GLIBCXX_NOEXCEPT_IF to simplify declarations. From-SVN: r270650
Jonathan Wakely committed -
PR libstdc++/71312 * src/c++11/shared_ptr.cc (get_mutex): Align pool mutexes to 64 bytes. From-SVN: r270649
Jonathan Wakely committed -
We already added it to the std::vector primary template. * include/bits/stl_bvector.h (vector<bool>::empty()): Add nodiscard attribute. From-SVN: r270648
Jonathan Wakely committed -
This class template has been unused since __gnu_debug::__base was removed in r263786. * include/bits/stl_iterator_base_types.h (_Iter_base): Remove unused class template and partial specialization. From-SVN: r270647
Jonathan Wakely committed -
The standard only requires that _Size can be converted to an integral type, not that it can be used for arithmetic. Add a new set of __size_to_integer helper functions to do the conversion (which will be ambiguous if there is no one conversion that is better than any others). Also add tests for DR 426 which requires these algorithms and search_n to handle negative values of n. PR libstdc++/87982 * include/bits/stl_algo.h (generate_n): Convert _Size parameter to an integral type. * include/bits/stl_algobase.h (__size_to_integer): New overloaded functions to convert a value to an integral type. (__fill_n_a, __fill_n_a): Assert that __n is already an integral type. (fill_n): Convert _Size parameter to an integral type. * testsuite/25_algorithms/fill_n/dr426.cc: New test. * testsuite/25_algorithms/generate_n/87982.cc: New test. * testsuite/25_algorithms/generate_n/dr426.cc: New test. From-SVN: r270646
Jonathan Wakely committed -
Merges upstream druntime aab44549, phobos 3dc363783. Reviewed-on: https://github.com/dlang/druntime/pull/2590 https://github.com/dlang/phobos/pull/6983 libphobos/ChangeLog: 2019-04-28 Iain Buclaw <ibuclaw@gdcproject.org> * libdruntime/gcc/sections/elf_shared.d (IBMZ_Any): Define when version S390 or SystemZ. Use condition instead of SystemZ. (getTLSRange): Return null on GNU_EMUTLS targets. From-SVN: r270639
Iain Buclaw committed -
Merges upstream druntime 1ca80e4e, phobos b5e9661a0. Reviewed-on: https://github.com/dlang/druntime/pull/2587 https://github.com/dlang/phobos/pull/6981 From-SVN: r270638
Iain Buclaw committed -
From-SVN: r270637
GCC Administrator committed
-
- 28 Apr, 2019 3 commits
-
-
From-SVN: r270633
Jonathan Wakely committed -
2019-04-28 Nina Dinka Ranns <dinka.ranns@gmail.com> * libstdc++-v3/include/std/tuple: (tuple()): Add noexcept-specification. (tuple(const _Elements&...)): Likewise (tuple(_UElements&&...)): Likewise (tuple(const tuple<_UElements...>&)): Likewise (tuple(tuple<_UElements...>&&)): Likewise (tuple(const _T1&, const _T2&)): Likewise (tuple(_U1&&, _U2&&)): Likewise (tuple(const tuple<_U1, _U2>&): Likewise (tuple(tuple<_U1, _U2>&&): Likewise (tuple(const pair<_U1, _U2>&): Likewise (tuple(pair<_U1, _U2>&&): Likewise * libstdc++-v3/testsuite/20_util/tuple/cons/noexcept_specs.cc: New From-SVN: r270632
Nina Dinka Ranns committed -
From-SVN: r270630
GCC Administrator committed
-
- 27 Apr, 2019 7 commits
-
-
PR c++/90173 * g++.dg/cpp1z/class-deduction66.C: Use dg-do compile instead of dg-do run. From-SVN: r270626
Jakub Jelinek committed -
gcc/ChangeLog: 2019-04-27 Iain Buclaw <ibuclaw@gdcproject.org> * config/netbsd-d.c: Include memmodel.h. Remove unused tree.h, varasm.h, and netbsd-protos.h. From-SVN: r270625
Iain Buclaw committed -
2019-04-27 Marc Glisse <marc.glisse@inria.fr> PR libstdc++/87106 * include/bits/stl_uninitialized.h (__relocate_object_a): Mark the arguments with __restrict. From-SVN: r270624
Marc Glisse committed -
PR target/89261 * config/i386/i386-protos.h (ix86_data_alignment): Change the second argument type to unsigned int. * config/i386/i386.c (ix86_data_alignment): Change "align" argument type to unsigned int. testsuite/ChangeLog: PR target/89261 * gcc.target/i386/pr89261.c: New test. From-SVN: r270623
Uros Bizjak committed -
2019-04-27 Martin Liska <mliska@suse.cz> PR middle-end/90258 * opt-suggestions.c (option_proposer::build_option_suggestions): When get_valid_option_values returns empty values, add the misspelling candidate. 2019-04-27 Martin Liska <mliska@suse.cz> PR middle-end/90258 * gcc.dg/completion-5.c: New test. * gcc.target/i386/spellcheck-options-5.c: New test. From-SVN: r270622
Martin Liska committed -
This improves optimization of code storing constants to memory. Given this testcase: void sub1 (int *a, long long *b) { *a = 1; *b = 1; } an unpatched rv64 compiler emits two li instructions, one for an SImode pseudo and one for a DImode pseudo. With the patch, we get a single DImode li insn. gcc/ * config/riscv/riscv-protos.h (riscv_move_integer): Add machine_mode parameter. * config/riscv/riscv.c (riscv_move_integer): New parameter orig_mode. Pass orig_mode to riscv_build_integer. (riscv_split_integer): Pass mode to riscv_move_integer. (riscv_legitimize_const_move): Likewise. (riscv_legitimize_move): For MEM dest and CONST_INT src case, new local promoted_mode. Replace force_reg call with code to load constant into promoted reg and then subreg it for the store. * config/riscv/riscv.md (low<mode>+1): Pass <GPR:MODE>mode to riscv_move_integer. gcc/testsuite/ * gcc.target/riscv/load-immediate.c: New. From-SVN: r270621
Jim Wilson committed -
From-SVN: r270620
GCC Administrator committed
-
- 26 Apr, 2019 12 commits
-
-
AIX doesn't allow to mmap an address range which is already mmap. Therefore, once the region has been allocated, it must munmap before being able to play with it. The corresponding Go Toolchain patch is CL 174059. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/174138 From-SVN: r270615
Ian Lance Taylor committed -
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. From-SVN: r270613
H.J. Lu committed -
gcc/cp: PR c++/90243 - orphaned note in uninstantiated constexpr function * decl.c (check_for_uninitialized_const_var): Suppress notes if no error was shown. gcc/testsuite: PR c++/90243 * g++.dg/diagnostic/pr90243.C: New test. From-SVN: r270610
Jonathan Wakely committed -
* include/experimental/bits/fs_path.h (path::_S_convert_loc<_InputIterator>): Create const std::string to avoid redundant call to _S_convert_loc with non-const pointers. From-SVN: r270608
Jonathan Wakely committed -
* gdbhooks.py: Fix UnicodeDecodeErrors when printing trees with corrupt codes. From-SVN: r270607
Eugene Sharygin committed -
PR debug/90197 * c-tree.h (c_finish_loop): Add 2 further location_t arguments. * c-parser.c (c_parser_while_statement): Adjust c_finish_loop caller. (c_parser_do_statement): Likewise. (c_parser_for_statement): Likewise. Formatting fixes. * c-typeck.c (c_finish_loop): Add COND_LOCUS and INCR_LOCUS arguments, emit DEBUG_BEGIN_STMTs if needed. From-SVN: r270606
Jakub Jelinek committed -
* libiberty.h (vasprintf): Don't declare if HAVE_DECL_VASPRINTF is not defined. From-SVN: r270605
Michael Forney committed -
The pmr::string typedef isn't available for the old COW string, so some tests that use it were failing. * testsuite/20_util/variant/run.cc: Use a new Hashable type to test hashing, because pmr::string depends on _GLIBCXX_USE_CXX11_ABI==1. * testsuite/21_strings/basic_string/hash/hash.cc [!_GLIBCXX_USE_CXX11_ABI]: Don't test pmr strings. * testsuite/21_strings/basic_string/hash/hash_char8_t.cc [!_GLIBCXX_USE_CXX11_ABI]: Likewise. From-SVN: r270604
Jonathan Wakely committed -
/cp 2019-04-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/90173 * decl.c (grokdeclarator): Set type to error_mark_node upon error about template placeholder type non followed by a simple declarator-id. /testsuite 2019-04-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/90173 * g++.dg/cpp1z/class-deduction66.C: New. From-SVN: r270603
Paolo Carlini committed -
Jakub noted in https://gcc.gnu.org/ml/libstdc++/2019-04/msg00140.html that an unwanted std::wstring::_M_replace_dispatch symbol has started to be exported from the Fedora shared library. This symbol is triggered by the instantiation of std::wstring::assign(const char*, const char*) from std::__str_codecvt_in which is called from path::_S_convert_loc. The branch that triggers that instantiation can't actually happen in that case, because codecvt facets will only return noconv when the input and output types are the same. Guarding the assign call with an if-constexpr check that the types are the same avoids instantiating template specializations that will never actually be needed. * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace wildcard that matches wstring::_M_replace_dispatch with more specific patterns. * include/bits/fs_path.h (path::_S_convert_loc<_InputIterator>): Create const std::string to avoid redundant call to _S_convert_loc with non-const pointers. * include/bits/locale_conv.h (__do_str_codecvt): Use if-constexpr to avoid unnecessary basic_string::assign instantiations. From-SVN: r270602
Jonathan Wakely committed -
The 20_util/scoped_allocator/69293_neg.cc test was failing in C++2a mode because the expected static_assert text wasn't matched. The code is still ill-formed in C++2a, but uses the new __uses_alloc_args function and so fails a different static_assert. This patch adds the same string to the new static_assert, so the test passes. Now that G++ allows concepts to be declared without 'bool' we can use the correct C++2a syntax for the _Std_pair concept used to constrain the uses-allocator construction utilities. Also add a new test to verify that pmr::polymorphic_allocator correctly performs recursive uses-allocator construction for nested pairs in C++2a. * include/std/memory (__uses_alloc_args): Add string-literal to static_assert, to match the one in __uses_alloc. [__cpp_concepts] (_Std_pair): Use C++2a syntax for concept. * testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: Check for recursive uses-allocator construction of nested pairs. * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc:: Add comment. From-SVN: r270600
Jonathan Wakely committed -
* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Update. * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. From-SVN: r270598
Jakub Jelinek committed
-