- 24 Oct, 2019 3 commits
-
-
https://gcc.gnu.org/ml/gcc-patches/2019-10/msg01707.html * cp-tree.c (CPTI_STD_IDENTIFIER): Delete. (std_identifier): Delete. (DECL_NAME_SPACE_STD_P): Compare against std_node. * decl.c (initialize_predefined_identifiers): 'std' is not needed. (cxx_init_decl_processing): Adjust creation of ::std. Use {push,pop}_nested_namespace. (cxx_builtin_function): Use {push,pop}_nested_namespace. * except.c (init_exception_processing): Likewise. * rtti.c (init_rtti_processing): Likewise. From-SVN: r277365
Nathan Sidwell committed -
* gcc.target/powerpc/pr70010.c: Add -Wno-psabi. * gcc.target/powerpc/pr70010-[12].c: Require LTO. * gcc.target/powerpc/pr91275.c: Add -mcpu=power8. From-SVN: r277363
David Edelsohn committed -
From-SVN: r277362
GCC Administrator committed
-
- 23 Oct, 2019 31 commits
-
-
dump-parse-tree.c (show_expr): Add dumping of BT_BOZ constants. From-SVN: r277358
Steven G. Kargl committed -
2019-10-23 Michael Meissner <meissner@linux.ibm.com> * config/rs6000/rs6000-protos.h (rs6000_adjust_insn_length): New declaration. * config/rs6000/rs6000.c (rs6000_insn_cost): Use num_insns insn attribute if it exists, rather than the insn size. If we use the insn size, adjust the size to remove the extra size that prefixed instructions take. (rs6000_adjust_insn_length): New function. * config/rs6000/rs6000.h (ADJUST_INSN_LENGTH): New target hook to update the instruction sized if prefixed instructions are used. * config/rs6000/rs6000.md (prefixed_length attribute): Delete. (non_prefixed_length attribute): Delete. (num_insns attribute): New insn attribute to return the number of instructions. (max_prefixed_insns attribute): New insn attribute to return the maximum number of prefixed instructions in an insn. (length attribute): Do not adjust for prefix instructions here, punt to ADJUST_INSN_LENGTH. (mov<mode>_64bit): Set max_prefixed_insns and num_insns. (movtd_64bit_nodm): Set max_prefixed_insns and num_insns. (mov<mode>_ppc64): Set max_prefixed_insns and num_insns. * config/rs6000/vsx.md: (vsx_mov<mode>_64bit): Set max_prefixed_insns and num_insns. From-SVN: r277352
Michael Meissner committed -
The C++11 requirement that an explicit exception-specification on a defaulted function match the implicit one was found to be problematic for std::atomic. This paper, adopted in February, simply removes that requirement: if an explicitly defaulted function has a different exception-specification, that now works just like a user-written function: either it isn't noexcept when it could be, or it is noexcept and will call terminate if an exception is thrown. * method.c (defaulted_late_check): Don't check explicit exception-specification on defaulted function. (after_nsdmi_defaulted_late_checks): Remove. * parser.h (struct cp_unparsed_functions_entry): Remove classes. * parser.c (unparsed_classes): Remove. (push_unparsed_function_queues, cp_parser_class_specifier_1): Adjust. From-SVN: r277351
Jason Merrill committed -
2019-10-23 Michael Meissner <meissner@linux.ibm.com> * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Reformat. (movtd_64bit_nodm): Reformat. (mov<mode>_32bit): Reformat. (mov<mode>_softfloat): Reformat. (FMOVE128_GPR splitter): Reformat. (DIFD splitter): Reformat. (TI2 splitter): Reformat. * config/rs6000/predicates.md (lwa_operand): If the bottom two bits of the offset for the memory address are non-zero, use PLWA if prefixed instructions are available. From-SVN: r277349
Michael Meissner committed -
* lto-streamer-out.c (cmp_symbol_files): Watch for overflow. From-SVN: r277348
Jan Hubicka committed -
* ipa-reference.c (varpool_removal_hook, ipa_reference_c_finalize): Fix previous patch. From-SVN: r277347
Jan Hubicka committed -
* lto-streamer-out.c (output_constructor): Push CTORS_OUT timevar. (cmp_symbol_files): New. (lto_output): Copy sections in file order. * lto-streamer.h (lto_file_decl_data): Add field order. * lto-common.c (lto_file_finalize): Add order attribute. (lto_create_files_from_ids): Pass order. (lto_file_read): UPdate call of lto_create_files_from_ids. From-SVN: r277346
Jan Hubicka committed -
* ipa-reference.h (ipa_reference_var_uid): Move offline. * ipa-reference.c (reference_vars_map_t): new type. (ipa_reference_vars_map, ipa_reference_vars_uids): New static vars. (ipa_reference_var_uid): Implement. (varpool_node_hooks): New static var. (varpool_removal_hook): New function. (is_improper): Do not check bitmap for id==-1 (get_static_name): Update. (ipa_init): Initialize new datastructures. (analyze_function): Do not recompute ids. (propagate): Free reference_vars_to_consider. (stream_out_bitmap): Update. (ipa_reference_read_optimization_summary): Update. From-SVN: r277345
Jan Hubicka committed -
2019-10-23 qing zhao <qing.zhao@oracle.com> PR gcov-profile/91971 * coverage.c (coverage_init): Mangle the full path of filename when filename is a absolute path. From-SVN: r277344
Qing Zhao committed -
* include/std/functional (invoke): Add constexpr for C++20. * include/std/version (__cpp_lib_constexpr_invoke): Define. * testsuite/20_util/function_objects/invoke/constexpr.cc: New test. From-SVN: r277343
Jonathan Wakely committed -
This patch is the first part of library support for constexpr std::vector and std::string. This only includes the changes to std::allocator, std::allocator_traits, std::construct_at, std::destroy_at, std::destroy and std::destroy_n. std::allocator::allocate and std::allocator::deallocate need to be added so that they can be intercepted by the compiler during constant evaluation. Outside of constant evaluation those new member functions just forward to the existing implementation in the base class. PR c++/91369 Implement P0784R7 changes to allocation and construction * include/bits/alloc_traits.h: Include <bits/stl_construct.h>. (allocator_traits::_S_allocate, allocator_traits::_S_construct) (allocator_traits::_S_destroy, allocator_traits::_S_max_size) (allocator_traits::_S_select, allocator_traits::allocate) (allocator_traits::deallocate, allocator_traits::construct) (allocator_traits::destroy, allocator_traits::max_size) (allocator_traits::select_on_container_copy_construction) (allocator_traits<allocator<T>>): Add constexpr specifier for C++20. (allocator_traits<allocator<T>>::construct): Use construct_at. (allocator_traits<allocator<T>>::destroy): Use destroy_at. (__alloc_on_copy, __alloc_on_move, __alloc_on_swap): Add constexpr specifier. (_Destroy(ForwardIterator, ForwardIterator, Alloc&)) (_Destroy(ForwardIterator, ForwardIterator, allocator<T>&)): Move here from <bits/stl_construct.h>. * include/bits/allocator.h (allocator::~allocator): Remove for C++20. (allocator::allocate, allocate::deallocate): Define for C++20 and up. (operator==, operator!=): Add constexpr specifier for C++20. * include/bits/stl_construct.h: Don't include <ext/alloc_traits.h>. (destroy_at): For C++20 add constexpr specifier and support for destroying arrays. (construct_at): Define new function for C++20. (_Construct): Return result of placement new-expression. For C++11 and up add constexpr. For C++20 dispatch to std::construct_at during constant evaluation. (_Destroy(pointer)): Add constexpr specifier. For C++20 dispatch to std::destroy_at during constant evaluation. (_Destroy_aux::__destroy, _Destroy_n_aux::__destroy_n): Add constexpr specifier for C++20. (_Destroy(ForwardIterator, ForwardIterator)) (_Destroy(ForwardIterator, Size)): Likewise. Do not elide trivial destructors during constant evaluation. (destroy, destroy_n): Add constexpr specifier for C++20. (_Destroy(ForwardIterator, ForwardIterator, Alloc&)) (_Destroy(ForwardIterator, ForwardIterator, allocator<T>&)): Move to <bits/alloc_traits.h>, to remove dependency on allocators. * include/bits/stl_uninitialized.h: Include <ext/alloc_traits.h>. Include <bits/stl_pair.h> instead of <utility>. * include/ext/alloc_traits.h: Always include <bits/alloc_traits.h>. (__alloc_traits::construct, __alloc_traits::destroy) (__alloc_traits::_S_select_on_copy, __alloc_traits::_S_on_swap): Add constexpr specifier. * include/ext/malloc_allocator.h (operator==, operator!=): Add constexpr specifier for C++20. * include/ext/new_allocator.h (operator==, operator!=): Likewise. * testsuite/20_util/headers/memory/synopsis.cc: Add constexpr. * testsuite/20_util/scoped_allocator/69293_neg.cc: Ignore additional errors due to constexpr function called after failed static_assert. * testsuite/20_util/specialized_algorithms/construct_at/1.cc: New test. * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: Ignore additional errors due to constexpr function called after failed static_assert. * testsuite/23_containers/vector/cons/destructible_neg.cc: Likewise. From-SVN: r277342
Jonathan Wakely committed -
2019-10-23 Jozef Lawrynowicz <jozef.l@mittosystems.com> * config/msp430/msp430-protos.h (msp430_has_hwmult): New. * config/msp430/msp430.c (msp430_no_hwmult): Remove. (msp430_has_hwmult): New. (msp430_output_labelref): s/msp430_hwmult_type != MSP430_HWMULT_NONE/msp430_has_hwmult ()/ * config/msp430/msp430.md (mulhisi3): Likewise. (umulhisi3): Likewise. (mulsidi3): Likewise. (umulsidi3): Likewise. From-SVN: r277341
Jozef Lawrynowicz committed -
2019-10-23 Jozef Lawrynowicz <jozef.l@mittosystems.com> * config/msp430/lib2hw_mul.S: Fix wrong syntax in branch instruction. s/RESULT_LO/RESLO, s/RESULT_HI/RESHI, s/MPY_OP1/MPY, s/MPY_OP1_S/MPYS, s/MAC_OP1/MAC, s/MPY_OP2/OP2, s/MAC_OP2/OP2. Define symbols for 32-bit and f5series hardware multiply register addresses. Replace hard-coded register addresses with symbols. Fix "_mspabi*" typo. Fix whitespace. * config/msp430/lib2mul.c: Add comment. From-SVN: r277340
Jozef Lawrynowicz committed -
* testsuite/20_util/bind/91371.cc: Fix test to compile as C++11. From-SVN: r277339
Jonathan Wakely committed -
This helper function is not a valid constexpr function in C++11, so should only be marked constexpr for C++14 and later. * include/debug/helper_functions.h (__valid_range): Change _GLIBCXX_CONSTEXPR to _GLIBCXX14_CONSTEXPR. From-SVN: r277338
Jonathan Wakely committed -
* include/ext/throw_allocator.h (throw_allocator_base): Qualify size_t and ptrdiff_t. From-SVN: r277337
Jonathan Wakely committed -
These changes are largely useless, because most of them are simply allowing 'reference' and 'const_reference' types to be obtained from an allocator, and since C++11 allocators don't define reference types (they just use plain lvalue references. Pretending to support C++98 allocators with user-defined reference types is a waste of time (especially as several of the pb_ds types appear to use a static allocator object which means stateful allocators are not supported). * include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Use detail::rebind_traits. * include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp: Likewise. * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Likewise. * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Likewise. * include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp: Likewise. * include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp: Likewise. * include/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp: Likewise. * include/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp: Likewise. * include/ext/pb_ds/detail/branch_policy/branch_policy.hpp: Likewise. * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Likewise. * include/ext/pb_ds/detail/cond_dealtor.hpp: Likewise. * include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp (has_eq_fn): Likewise. * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Likewise. * include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Likewise. * include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Likewise. * include/ext/pb_ds/detail/left_child_next_sibling_heap_/ left_child_next_sibling_heap_.hpp: Likewise. * include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp: Likewise. * include/ext/pb_ds/detail/left_child_next_sibling_heap_/ point_const_iterator.hpp: Likewise. * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Likewise. * include/ext/pb_ds/detail/ov_tree_map_/ constructors_destructor_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Likewise. * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Likewise. * include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Likewise. * include/ext/pb_ds/detail/rb_tree_map_/node.hpp: Likewise. * include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Likewise. * include/ext/pb_ds/detail/splay_tree_/node.hpp: Likewise. * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Likewise. * include/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp: Likewise. * include/ext/pb_ds/detail/type_utils.hpp: Fix typo in comment. * include/ext/pb_ds/detail/types_traits.hpp (stored_value): Add bool parameter to control whether the hash value is stored. (select_base_type): New class template and partial specialization. (maybe_null_type): Likewise. (rebind_traits): New class template. (type_base): Remove four nearly identical specializations. (type_dispatch): Remove. (type_traits): Use select_base_type and maybe_null_type instead of type_base to control differences between specializations. * include/ext/pb_ds/list_update_policy.hpp: Use detail::rebind_traits. * include/ext/pb_ds/priority_queue.hpp: Likewise. * include/ext/pb_ds/tree_policy.hpp: Likewise. * include/ext/pb_ds/trie_policy.hpp: Likewise. From-SVN: r277336
Jonathan Wakely committed -
This makes these extensions work with types meeting the Cpp17Allocator requirements as well as the C++98 Allocator requirements. * include/backward/hash_set (hash_set): Use __alloc_traits. * include/backward/hashtable.h (_Hashtable): Likewise. * include/ext/alloc_traits.h (__alloc_traits::allocate): Add overload taking a hint. * include/ext/extptr_allocator.h (_ExtPtr_allocator::allocate): Ignore hint. * include/ext/slist (_Slist_base): Use __alloc_traits. * include/tr1/hashtable.h (_Hashtable): Likewise. * include/tr1/regex (match_results): Use vector::const_reference instead of assuming the allocator defines it. * testsuite/backward/hash_map/23528.cc: Use allocator_traits in C++11. * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc: Use __gnu_test::max_size. * testsuite/tr1/6_containers/unordered_multimap/capacity/ 29134-multimap.cc: Likewise. * testsuite/tr1/6_containers/unordered_multiset/capacity/ 29134-multiset.cc: Likewise. * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc: Likewise. From-SVN: r277335
Jonathan Wakely committed -
PR ipa/92074 * params.def (inline-heuristics-hint-percent): Set to 600. From-SVN: r277333
Jan Hubicka committed -
gcc/cp/ * parser.c (cp_parser_constructor_declarator_p): Pass an empty decl-specifier-seq to make sure we parse type constraints as part of a type-specifier. gcc/testsuite/ * g++.dg/cpp2a/concepts5.C: New test. From-SVN: r277323
Andrew Sutton committed -
2019-10-23 Richard Biener <rguenther@suse.de> PR tree-optimization/65930 * tree-vect-loop.c (check_reduction_path): Allow conversions that only change the sign. (vectorizable_reduction): Relax latch def stmts we handle further. * gcc.dg/vect/vect-reduc-2char-big-array.c: Adjust. * gcc.dg/vect/vect-reduc-2char.c: Likewise. * gcc.dg/vect/vect-reduc-2short.c: Likewise. * gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise. * gcc.dg/vect/vect-reduc-pattern-2c.c: Likewise. From-SVN: r277322
Richard Biener committed -
PR debug/90231 * tree-ssa-loop-ivopts.c (get_debug_computation_at): New function. (remove_unused_ivs): Use it instead of get_computation_at. When choosing best candidate, only consider candidates where get_debug_computation_at actually returns non-NULL. From-SVN: r277321
Jakub Jelinek committed -
constexpr.c (cxx_eval_constant_expression): Temporarily change input_location to CLEANUP_STMT location. * constexpr.c (cxx_eval_constant_expression) <case CLEANUP_STMT>: Temporarily change input_location to CLEANUP_STMT location. * g++.dg/cpp2a/constexpr-dtor3.C: Expect in 'constexpr' expansion of message on the line with variable declaration. * g++.dg/ext/constexpr-attr-cleanup1.C: Likewise. From-SVN: r277320
Jakub Jelinek committed -
PR tree-optimization/92131 * tree-vrp.c (extract_range_from_plus_minus_expr): If the resulting range would be symbolic, drop to varying for any explicit overflow in the constant part or if neither range is a singleton. From-SVN: r277314
Eric Botcazou committed -
2019-10-23 Martin Liska <mliska@suse.cz> PR middle-end/81669 * fibonacci_heap.h (fibonacci_node::fibonacci_node): Initialize m_data. From-SVN: r277313
Martin Liska committed -
aarch64_emit_approx_sqrt handles both vectors and scalars and was using mode_for_int_vector even for the scalar case. Although that happened to work, it isn't how mode_for_int_vector is supposed to be used. 2019-10-23 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Use int_mode_for_mode rather than mode_for_int_vector for scalars. From-SVN: r277311
Richard Sandiford committed -
2019-10-23 Richard Biener <rguenther@suse.de> PR tree-optimization/92179 * tree-vect-stmts.c (vectorizable_shift): For shift args that are all the same remove type restriction in the SLP case. Adjust SLP code to handle converting of the shift arg to only apply in case the modes are different. From-SVN: r277310
Richard Biener committed -
2019-10-23 Martin Liska <mliska@suse.cz> PR ipa/91969 * ipa-inline.c (recursive_inlining): Do not print when curr->count is not initialized. 2019-10-23 Martin Liska <mliska@suse.cz> PR ipa/91969 * g++.dg/ipa/pr91969.C: New test. From-SVN: r277309
Martin Liska committed -
tree-vect-slp.c (vect_build_slp_tree_2): Do not build op from scalars in case there's a constant operand in its definition. 2019-10-23 Richard Biener <rguenther@suse.de> * tree-vect-slp.c (vect_build_slp_tree_2): Do not build op from scalars in case there's a constant operand in its definition. From-SVN: r277308
Richard Biener committed -
There are some cases in which the value for the max skip to a p2align directive can be negative. The older assembler just ignores these cases where newer tools produce an error. To preserve behaviour, we avoid emitting out of range values. gcc/ChangeLog: 2019-10-23 Iain Sandoe <iain@sandoe.co.uk> * config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Guard against out of range max skip or log values. From-SVN: r277307
Iain Sandoe committed -
From-SVN: r277306
GCC Administrator committed
-
- 22 Oct, 2019 6 commits
-
-
My recent change to this file broke running the testsuite with -std=c++98 because std::unordered_map isn't available. This fixes it. * testsuite/util/testsuite_abi.h: Restore use of tr1/unordered_map when compiled as C++98. From-SVN: r277302
Jonathan Wakely committed -
* include/bits/memoryfwd.h (uses_allocator): Do not declare for C++98. * testsuite/17_intro/names.cc: Check uses_allocator in C++98. From-SVN: r277301
Jonathan Wakely committed -
C++20 removes a number of std::allocator members that have correct defaults provided by std::allocator_traits, so aren't needed. Several extensions including __gnu_cxx::hash_map and tr1 containers are no longer usable with std::allocator in C++20 mode. They need to be updated to use __gnu_cxx::__alloc_traits in a follow-up patch. * include/bits/alloc_traits.h (allocator_traits<allocator<T>>::allocate): Ignore hint for C++20. (allocator_traits<allocator<T>>::construct): Perform placement new directly for C++20, instead of calling allocator<T>::construct. (allocator_traits<allocator<T>>::destroy): Call destructor directly for C++20, instead of calling allocator<T>::destroy. (allocator_traits<allocator<T>>::max_size): Return value directly for C++20, instead of calling std::allocator<T>::max_size(). (__do_alloc_on_copy, __do_alloc_on_move, __do_alloc_on_swap): Do not define for C++17 and up. (__alloc_on_copy, __alloc_on_move, __alloc_on_swap): Use if-constexpr for C++17 and up, instead of tag dispatching. * include/bits/allocator.h (allocator<void>): Remove for C++20. (allocator::pointer, allocator::const_pointer, allocator::reference) (allocator::const_reference, allocator::rebind): Remove for C++20. * include/bits/basic_string.h (basic_string): Use __alloc_traits to rebind allocator. * include/bits/memoryfwd.h (allocator<void>): Remove for C++20. * include/ext/debug_allocator.h: Use __alloc_traits for rebinding. * include/ext/malloc_allocator.h (malloc_allocator::~malloc_allocator) (malloc_allocator::pointer, malloc_allocator::const_pointer) (malloc_allocator::reference, malloc_allocator::const_reference) (malloc_allocator::rebind, malloc_allocator::max_size) (malloc_allocator::construct, malloc_allocator::destroy): Do not define for C++20. (malloc_allocator::_M_max_size): Define new function. * include/ext/new_allocator.h (new_allocator::~new_allocator) (new_allocator::pointer, new_allocator::const_pointer) (new_allocator::reference, new_allocator::const_reference) (new_allocator::rebind, new_allocator::max_size) (new_allocator::construct, new_allocator::destroy): Do not define for C++20. (new_allocator::_M_max_size): Define new function. * include/ext/rc_string_base.h (__rc_string_base::_Rep): Use __alloc_traits to rebind allocator. * include/ext/rope (_Rope_rep_base, _Rope_base): Likewise. (rope::rope(CharT, const allocator_type&)): Use __alloc_traits to construct character. * include/ext/slist (_Slist_base): Use __alloc_traits to rebind allocator. * include/ext/sso_string_base.h (__sso_string_base::_M_max_size): Use __alloc_traits. * include/ext/throw_allocator.h (throw_allocator): Do not use optional members of std::allocator, use __alloc_traits members instead. * include/ext/vstring.h (__versa_string): Use __alloc_traits. * include/ext/vstring_util.h (__vstring_utility): Likewise. * include/std/memory: Include <bits/alloc_traits.h>. * testsuite/20_util/allocator/8230.cc: Use __gnu_test::max_size. * testsuite/20_util/allocator/rebind_c++20.cc: New test. * testsuite/20_util/allocator/requirements/typedefs.cc: Do not check for pointer, const_pointer, reference, const_reference or rebind in C++20. * testsuite/20_util/allocator/requirements/typedefs_c++20.cc: New test. * testsuite/23_containers/deque/capacity/29134.cc: Use __gnu_test::max_size. * testsuite/23_containers/forward_list/capacity/1.cc: Likewise. * testsuite/23_containers/list/capacity/29134.cc: Likewise. * testsuite/23_containers/map/capacity/29134.cc: Likewise. * testsuite/23_containers/multimap/capacity/29134.cc: Likewise. * testsuite/23_containers/multiset/capacity/29134.cc: Likewise. * testsuite/23_containers/set/capacity/29134.cc: Likewise. * testsuite/23_containers/vector/capacity/29134.cc: Likewise. * testsuite/ext/malloc_allocator/variadic_construct.cc: Do not run test for C++20. * testsuite/ext/new_allocator/variadic_construct.cc: Likewise. * testsuite/ext/vstring/capacity/29134.cc: Use __gnu_test::max_size. * testsuite/util/replacement_memory_operators.h: Do not assume Alloc::pointer exists. * testsuite/util/testsuite_allocator.h (__gnu_test::max_size): Define helper to call max_size for any allocator. From-SVN: r277300
Jonathan Wakely committed -
When using lto-dump -callgraph with two or more .o files containing distinct functions with the same name, dump_graphviz incorrectly merged those functions into a single node. This patch fixes this issue by calling `dump_name` instead of `name`, therefore concat'ing the function name with the node's id. To understeand what was the issue, let's say you have two files: a.c: static void foo (void) { do_something (); } b.c: static void foo (void) { do_something_else (); } These are distinct functions and should be represented as distinct nodes in the callgraph dump. 2019-10-22 Giuliano Belinassi <giuliano.belinassi@usp.br> * cgraph.c (dump_graphviz): Change name to dump_name From-SVN: r277299
Giuliano Belinassi committed -
2019-10-22 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/92174 * decl.c (attr_decl1): Move check for F2018:C822 from here ... * array.c (gfc_set_array_spec): ... to here. From-SVN: r277297
Steven G. Kargl committed -
PR tree-optimization/85887 * decl.c (expand_static_init): Drop ECF_LEAF from __cxa_guard_acquire and __cxa_guard_release. From-SVN: r277293
Jakub Jelinek committed
-