1. 31 May, 2019 22 commits
    • runtime: implement cheaper context switch on Linux/AMD64 · 4d12cf3c
          
          Currently, goroutine switches are implemented with libc
          getcontext/setcontext functions, which saves/restores the machine
          register states and also the signal context. This does more than
          what we need, and performs an expensive syscall.
          
          This CL implements a simplified version of getcontext/setcontext,
          in assembly, that only saves/restores the necessary part, i.e.
          the callee-save registers, and the PC, SP. A simplified version
          of makecontext, written in C, is also added. Currently this is
          only implemented on Linux/AMD64.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/178298
      
      From-SVN: r271818
      Ian Lance Taylor committed
    • apply unary op to both sides of (vec_cond x cst1 cst2) · 34a13a52
      2019-05-31  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* match.pd (~(vec?cst1:cst2)): New transformation.
      
      gcc/testsuite/
      	* g++.dg/tree-ssa/cprop-vcond.C: New file.
      
      From-SVN: r271817
      Marc Glisse committed
    • Simplify more EXACT_DIV_EXPR comparisons · 9cf60d3b
      2019-05-31  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* match.pd (X/[ex]D<Y/[ex]D): Handle negative denominator.
      	((size_t)(A /[ex] B) CMP C): New transformation.
      
      gcc/testsuite/
      	* gcc.dg/tree-ssa/cmpexactdiv-3.c: New file.
      	* gcc.dg/tree-ssa/cmpexactdiv-4.c: New file.
      	* gcc.dg/Walloca-13.c: Xfail.
      
      From-SVN: r271816
      Marc Glisse committed
    • New .md construct: define_insn_and_rewrite · f4fde1b3
      Several SVE patterns need define_insn_and_splits that generate the
      same insn_code, but with different operands.  That's probably a
      niche requirement, but it's cropping up often enough on the ACLE
      branch that I think it would be good to have a syntactic sugar for it.
      
      This patch therefore adds a new construct called define_insn_and_rewrite.
      It's basically a define_insn_and_split with an implicit split pattern,
      obtained by copying the insn pattern and replacing match_operands with
      match_dups and match_operators with match_op_dups.
      
      2019-05-31  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* doc/md.texi: Document define_insn_and_rewrite.
      	* rtl.def (DEFINE_INSN_AND_REWRITE): New rtx code.
      	* gensupport.c (queue_elem): Update comment.
      	(replace_operands_with_dups): New function.
      	(gen_rewrite_sequence): Likewise.
      	(process_rtx): Handle DEFINE_INSN_AND_REWRITE.
      	* read-rtl.c (apply_subst_iterator): Likewise.
      	(add_condition_to_rtx, named_rtx_p): Likewise.
      	(rtx_reader::read_rtx_operand): Likewise.
      	* config/aarch64/aarch64-sve.md
      	(while_ult<GPI:mode><PRED_ALL:mode>_cc): Rename to...
      	(*while_ult<GPI:mode><PRED_ALL:mode>_cc): ...this and use
      	define_insn_and_rewrite.
      	(*cond_<optab><mode>_any): Turn into define_insn_and_rewrites.
      	Remove separate define_split.
      
      From-SVN: r271815
      Richard Sandiford committed
    • Add noexcept to tuple<> and simplify tuple<T1,T2> noexcept-specifiers · b1bb4869
      	* include/std/tuple (tuple<>): Add noexcept to allocator-extended
      	constructors.
      	(tuple<T1, T2>::__nothrow_default_constructible()): New helper
      	function.
      	(tuple<T1, T2>::tuple(), explicit tuple<T1, T2>::tuple()): Use helper.
      
      From-SVN: r271814
      Jonathan Wakely committed
    • tree-ssa-alias.c (type_has_components_p): New function. · 1facd627
      
      	* tree-ssa-alias.c (type_has_components_p): New function.
      	(aliasing_component_refs_p): Use it.
      
      From-SVN: r271813
      Jan Hubicka committed
    • Fix breakage due to removing __gnu_cxx::size_t declaration · ff0b7e88
      Restore the using-declaration but locally in the source file, not in the
      header.
      
      	* src/c++98/bitmap_allocator.cc: Add using-declaration for size_t.
      
      From-SVN: r271812
      Jonathan Wakely committed
    • [C++PATCH] Lambda names are anonymous · ca3edeae
      https://gcc.gnu.org/ml/gcc-patches/2019-05/msg02126.html
      	* cp-tree.h (IDENTIFIER_LAMBDA_P): New.
      	(TYPE_ANON_P): New.
      	(LAMBDA_TYPE_P, TYPE_UNNAMED_P):  Likewise.
      	(LAMBDANAME_PREFIX, LAMBDANAME_FORMAT): Delete.
      	(make_lambda_name): Don't declare.
      	* error.c (dump_aggr_type): Check for lambdas before other
      	anonymous names.
      	* lambda.c (begin_lambda_type): Use make_anon_name.
      	* cp-lang.c (cxx_dwarf_name): Lambda names smell anonymous.
      	* mangle.c (write_local_name): Likewise.
      	* name-lookup.c (lambda_cnt, make_lambda_name): Delete.
      
      From-SVN: r271811
      Nathan Sidwell committed
    • cpu-future.c: Require powerpc_future_ok. · 929c046d
      2019-05-31  Bill Schmidt  <wschmidt@linux.ibm.com>
      	    Michael Meissner  <meissner@linux.ibm.com>
      
      	* gcc.target/powerpc/cpu-future.c: Require powerpc_future_ok.
      	* gcc.target/powerpc/localentry-1.c: Likewise.
      	* gcc.target/powerpc/localentry-direct-1.c: Likewise.
      	* gcc.target/powerpc/notoc-direct-1.c: Likewise.
      	* gcc.target/powerpc/pcrel-sibcall-1.c: Likewise.
      	* lib/target-supports.exp (check_powerpc_future_hw_available): New.
      	(check_effective_target_powerpc_future_ok): New.
      
      
      Co-Authored-By: Michael Meissner <meissner@linux.ibm.com>
      
      From-SVN: r271810
      Bill Schmidt committed
    • PR libstdc++/90682 allow set_terminate(0) and set_unexpected(0) · 3228289e
      Make these functions restore the default handlers when passed a null
      pointer. This is consistent with std::pmr::set_default_resource(0), and
      also matches the current behaviour of libc++.
      
      In order to avoid duplicating the preprocessor condition from
      eh_term_handler.cc more that into a new eh_term_handler.h header and
      define a macro that can be used in both eh_term_handler.cc and
      eh_terminate.cc.
      
      	PR libstdc++/90682
      	* libsupc++/eh_term_handler.cc: Include eh_term_handler.h to get
      	definition of _GLIBCXX_DEFAULT_TERM_HANDLER.
      	* libsupc++/eh_term_handler.h: New header defining
      	_GLIBCXX_DEFAULT_TERM_HANDLER.
      	* libsupc++/eh_terminate.cc: Include eh_term_handler.h.
      	(set_terminate): Restore default handler when argument is null.
      	(set_unexpected): Likewise.
      	* testsuite/18_support/set_terminate.cc: New test.
      	* testsuite/18_support/set_unexpected.cc: New test.
      
      From-SVN: r271808
      Jonathan Wakely committed
    • Remove using-declarations that add std names to __gnu_cxx · 3263fb9c
      These using-declarations appear to have been added for simplicity when
      moving the non-standard extensions from namespace std to namespace
      __gnu_cxx. Dumping all these names into namespace __gnu_cxx allows
      unportable uses like __gnu_cxx::size_t and __gnu_cxx::pair, which serve
      no useful purpose.
      
      This patch removes most of the using-declarations from namespace scope,
      then either qualifies names as needed or adds using-declarations at
      block scope or typedefs at class scope.
      
      	* include/backward/hashtable.h (size_t, ptrdiff_t)
      	(forward_iterator_tag, input_iterator_tag, _Construct, _Destroy)
      	(distance, vector, pair, __iterator_category): Remove
      	using-declarations that add these names to namespace __gnu_cxx.
      	* include/ext/bitmap_allocator.h (size_t, ptrdiff_t): Likewise.
      	* include/ext/debug_allocator.h (size_t): Likewise.
      	* include/ext/functional (size_t, unary_function, binary_function)
      	(mem_fun1_t, const_mem_fun1_t, mem_fun1_ref_t, const_mem_fun1_ref_t):
      	Likewise.
      	* include/ext/malloc_allocator.h (size_t, ptrdiff_t): Likewise.
      	* include/ext/memory (ptrdiff_t, pair, __iterator_category): Likewise.
      	* include/ext/mt_allocator.h (size_t, ptrdiff_t): Likewise.
      	* include/ext/new_allocator.h (size_t, ptrdiff_t): Likewise.
      	* include/ext/numeric (iota): Fix outdated comment.
      	* include/ext/pool_allocator.h (size_t, ptrdiff_t): Likewise.
      	* include/ext/rb_tree (_Rb_tree, allocator): Likewise.
      	* include/ext/rope (size_t, ptrdiff_t, allocator, _Destroy): Likewise.
      	* include/ext/ropeimpl.h (size_t, printf, basic_ostream)
      	(__throw_length_error, _Destroy, std::__uninitialized_fill_n_a):
      	Likewise.
      	* include/ext/slist (size_t, ptrdiff_t, _Construct, _Destroy)
      	(allocator, __true_type, __false_type): Likewise.
      
      From-SVN: r271807
      Jonathan Wakely committed
    • PR libstdc++/71579 assert that type traits are not misused with incomplete types · 608a080c
      This patch adds static asserts for type traits misuse with incomplete
      classes and unions. This gives a nice readable error message instead
      of an UB and odr-violations.
      
      Some features of the patch:
      * each type trait has it's own static_assert inside. This gives better
      diagnostics than the approach with putting the assert into a helper
      structure and using it in each trait.
      * the result of completeness check is not memorized by the compiler.
      This gives no false positive after the first failed check.
      * some of the compiler builtins already implement the check. But not
      all of them! So the asserts are in all the type_traits that may
      benefit from the check. This also makes the behavior of libstdc++ more
      consistent across different (non GCC) compilers.
      * std::is_base_of does not have the assert as it works well in many
      cases with incomplete types
      
      2019-05-31  Antony Polukhin  <antoshkka@gmail.com>
      
      	PR libstdc++/71579
      	* include/std/type_traits __type_identity, __is_complete_or_unbounded):
      	New helpers for checking preconditions in traits.
      	(is_trivial, is_trivially_copyable, is_standard_layout, is_pod)
      	(is_literal_type, is_empty, is_polymorphic, is_final, is_abstract)
      	(is_destructible, is_nothrow_destructible, is_constructible)
      	(is_default_constructible, is_copy_constructible)
      	(is_move_constructible, is_nothrow_default_constructible)
      	(is_nothrow_constructible, is_nothrow_copy_constructible)
      	(is_nothrow_move_constructible, is_copy_assignable, is_move_assignable)
      	(is_nothrow_assignable, is_nothrow_copy_assignable)
      	(is_nothrow_move_assignable, is_trivially_constructible)
      	(is_trivially_copy_constructible, is_trivially_move_constructible)
      	is_trivially_assignable, is_trivially_copy_assignable)
      	(is_trivially_move_assignable, is_trivially_destructible)
      	(alignment_of, is_swappable, is_nothrow_swappable, is_invocable)
      	(is_invocable_r, is_nothrow_invocable)
      	(has_unique_object_representations, is_aggregate): Add static_asserts
      	to make sure that type traits are not misused with incomplete types.
      	(__is_constructible_impl, __is_nothrow_default_constructible_impl)
      	(__is_nothrow_constructible_impl, __is_nothrow_assignable_impl): New
      	base characteristics without assertions that can be reused in other
      	traits.
      	* testsuite/20_util/is_complete_or_unbounded/memoization.cc: New test.
      	* testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc: New
      	test.
      	* testsuite/20_util/is_complete_or_unbounded/value.cc: New test.
      	* testsuite/20_util/is_abstract/incomplete_neg.cc: New test.
      	* testsuite/20_util/is_aggregate/incomplete_neg.cc: New test.
      	* testsuite/20_util/is_class/value.cc: Check incomplete type.
      	* testsuite/20_util/is_function/value.cc: Likewise.
      	* testsuite/20_util/is_move_constructible/incomplete_neg.cc: New test.
      	* testsuite/20_util/is_nothrow_move_assignable/incomplete_neg.cc: New
      	test.
      	* testsuite/20_util/is_polymorphic/incomplete_neg.cc: New test.
      	* testsuite/20_util/is_reference/value.cc: Check incomplete types.
      	* testsuite/20_util/is_unbounded_array/value.cc: Likewise.
      	* testsuite/20_util/is_union/value.cc: Likewise.
      	* testsuite/20_util/is_void/value.cc: Likewise.
      	* testsuite/util/testsuite_tr1.h: Add incomplete union type.
      
      From-SVN: r271806
      Antony Polukhin committed
    • Fix random_device to work with COW strings again · aeedf077
      Instead of duplicating the initialization functions that take string,
      add a new member taking a raw pointer that can be used to convert the
      constructor token from the old string to the new.
      
      Also fix "mt19337" typos in a testcase.
      
      	* include/bits/random.h (random_device::_M_init(const char*, size_t)):
      	Add new private member function.
      	* src/c++11/cow-string-inst.cc (random_device::_M_init(const string&))
      	(random_device::_M_init_pretr1(const string&)): Call new private
      	member with string data.
      	* src/c++11/random.cc (random_device::_M_init(const char*, size_t)):
      	Define.
      	* testsuite/26_numerics/random/random_device/cons/default-cow.cc: New
      	test using COW strings.
      	* testsuite/26_numerics/random/random_device/cons/default.cc: Generate
      	a value from the device.
      	* testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
      	Fix typo in token string.
      
      From-SVN: r271805
      Jonathan Wakely committed
    • Add pretty print for const_tree. · decc53df
      2019-05-31  Martin Liska  <mliska@suse.cz>
      
      	* gdbhooks.py: Add const_tree to TreePrinter.
      
      From-SVN: r271804
      Martin Liska committed
    • re PR debug/86964 (Too many debug symbols included, especially for extern globals) · d1137c02
      2019-05-31  Thomas De Schampheleire  <thomas.de_schampheleire@nokia.com>
      
      	PR debug/86964
      	* common.opt (feliminate-unused-debug-symbols): Enable by default.
      	* doc/invoke.texi (Debugging Options): Document new default of
      	-feliminate-unused-debug-symbols and remove restriction to 'stabs'.
      
      	* g++.dg/debug/dwarf2/fesd-any.C: Use
      	-fno-eliminate-unused-debug-symbols.
      	* g++.dg/debug/dwarf2/fesd-baseonly.C: Likewise.
      	* g++.dg/debug/dwarf2/fesd-none.C: Likewise.
      	* g++.dg/debug/dwarf2/fesd-reduced.C: Likewise.
      	* g++.dg/debug/dwarf2/fesd-sys.C: Likewise.
      	* g++.dg/debug/dwarf2/inline-var-1.C: Likewise.
      	* g++.dg/debug/enum-2.C: Likewise.
      	* gcc.dg/debug/dwarf2/fesd-any.c: Likewise.
      	* gcc.dg/debug/dwarf2/fesd-baseonly.c: Likewise.
      	* gcc.dg/debug/dwarf2/fesd-none.c: Likewise.
      	* gcc.dg/debug/dwarf2/fesd-reduced.c: Likewise.
      	* gcc.dg/debug/dwarf2/fesd-sys.c: Likewise.
      
      From-SVN: r271803
      Thomas De Schampheleire committed
    • re PR tree-optimization/90671 (ICE on valid code at -Os and above with -g… · 6992d6fb
      re PR tree-optimization/90671 (ICE on valid code at -Os and above with -g enabled in gsi_split_seq_after, at gimple-iterator.c:345)
      
      	PR tree-optimization/90671
      	* tree-ssa-threadupdate.c (ssa_create_duplicates): If
      	template_block used to be empty on the first call, don't use
      	gsi_split_seq_after and gsi_insert_seq_after, but remember whole
      	seq with bb_seq and set it with set_bb_seq.
      
      	* gcc.dg/torture/pr90671.c: New test.
      
      From-SVN: r271802
      Jakub Jelinek committed
    • c++, testsuite - require alias support for a test. · 0eee8eaa
      The test for pr84497 uses a facility that requires alias support from
      the target, and therefore fails on targets without.  Add a suitable 
      dg-require statement.
      
      2019-05-31  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* g++.dg/cpp0x/pr84497.C: Require alias support.
      
      From-SVN: r271801
      Iain Sandoe committed
    • Darwin, x86, testsuite - adjust tests for Darwin's align syntax. · 4ef2ef0c
      Darwin has a .align taking a power of 2 by default, so that some
      tests expecting a byte count are failing, fixed thus.
      
      gcc/testsuite/
      
      2019-05-31  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.target/i386/falign-functions-3.c: Adjust align syntax
      	and label for Darwin.
      	* gcc.target/i386/attr-aligned-2.c: Adjust align syntax for
      	Darwin.
      
      From-SVN: r271800
      Iain Sandoe committed
    • Darwin, x86 - We have .p2align, so declare its use. · eb11a552
      .p2align support is present in all x86 assemblers on released
      Darwin systems.
      
      gcc/
      
      2019-05-29  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/i386/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New.
      
      From-SVN: r271799
      Iain Sandoe committed
    • predicates.md (pcrel_address): New define_predicate. · a1842c37
      2019-05-30  Bill Schmidt  <wschmidt@linux.ibm.com>
      	    Michael Meissner  <meissner@linux.ibm.com>
      
      	* config/rs6000/predicates.md (pcrel_address): New define_predicate.
      	(prefixed_mem_operand): Likewise.
      	(non_prefixed_mem_operand): Likewise.
      	* config/rs6000/rs6000-protos.h (rs6000_prefixed_address): New
      	prototype.
      	* config/rs6000/rs6000.c (print_operand_address): Handle
      	PC-relative addresses.
      	(mode_supports_prefixed_address_p): New function.
      	(rs6000_prefixed_address): New function.
      	* config/rs6000/rs6000.h (SYMBOL_FLAG_PCREL): New #define.
      	(SYMBOL_REF_PCREL_P): Likewise.
      
      
      Co-Authored-By: Michael Meissner <meissner@linux.ibm.com>
      
      From-SVN: r271798
      Bill Schmidt committed
    • * fi.po, sv.po: Update. · 47a665af
      From-SVN: r271796
      Joseph Myers committed
    • Daily bump. · 17c5c4c7
      From-SVN: r271795
      GCC Administrator committed
  2. 30 May, 2019 18 commits
    • gimplify.c (enum gimplify_omp_var_data): Add GOVD_CONDTEMP. · 8221c30b
      	* gimplify.c (enum gimplify_omp_var_data): Add GOVD_CONDTEMP.
      	(gimplify_adjust_omp_clauses_1): Handle GOVD_CONDTEMP.
      	(gimplify_omp_for): If worksharing loop with lastprivate conditional
      	is nested inside of parallel region, add _condtemp_ clause to both.
      	* tree-nested.c (convert_nonlocal_omp_clauses,
      	convert_local_omp_clauses): Ignore OMP_CLAUSE__CONDTEMP_ instead of
      	assertion failure.
      	* omp-general.h (struct omp_for_data): Add have_pointer_condtemp
      	member.
      	* omp-general.c (omp_extract_for_data): Compute it.
      	* omp-low.c (scan_sharing_clauses): Handle OMP_CLAUSE__CONDTEMP_.
      	(lower_rec_input_clauses): Likewise.
      	(lower_lastprivate_conditional_clauses): If OMP_CLAUSE__CONDTEMP_
      	clause is already present, just add one further one after it.
      	(lower_lastprivate_clauses): Handle cond_ptr with array type.
      	(lower_send_shared_vars): Clear _condtemp_ vars.
      	(lower_omp_1) <case GIMPLE_ASSIGN>: Handle target data like critical
      	or section or taskgroup.
      	* omp-expand.c (determine_parallel_type): Disallow combining only if
      	first OMP_CLAUSE__CONDTEMP_ has pointer type.  Disallow combining
      	of parallel sections if OMP_CLAUSE__CONDTEMP_ is present.
      	(expand_omp_for_generic, expand_omp_for_static_nochunk,
      	expand_omp_for_static_chunk, expand_omp_for): Use
      	fd->have_pointer_condtemp instead of fd->lastprivate_conditional to
      	determine if a special set of API routines are needed and if condtemp
      	needs to be initialized, while always initialize cond_var if
      	fd->lastprivate_conditional is non-zero.
      
      From-SVN: r271791
      Jakub Jelinek committed
    • Fix RISC-V build failure for go language. · 00a0e1f5
      	gcc/go/
      	* go-gcc.cc (Gcc_backend::Gcc_backend): Add BUILT_IN_ATOMIC_FETCH_AND_1
      	and BUILT_IN_ATOMIC_FETCH_OR_1.
      
      From-SVN: r271790
      Jim Wilson committed
    • LWG2788 basic_string spurious use of a default constructible allocator · 046af809
      This only change the cxx11 basic_string, because COW strings don't
      correctly propagate allocators anyway.
      
      2019-05-30  Nina Dinka Ranns  <dinka.ranns@gmail.com>
      
      	LWG2788 basic_string spurious use of a default constructible allocator
      	* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
      	(basic_string::_M_replace_dispatch): Construct temporary string with
      	the current allocator.
      	* testsuite/21_strings/basic_string/allocator/char/lwg2788.cc: New.
      	* testsuite/21_strings/basic_string/allocator/wchar_t/lwg2788.cc: New.
      
      From-SVN: r271789
      Nina Dinka Ranns committed
    • * cp-tree.h (TYPE_HAS_NONTRIVIAL_DESTRUCTOR): Fix a typo. · 608f8e10
      From-SVN: r271788
      Marek Polacek committed
    • constraints.md (eI): New constraint. · ed383d79
      2019-05-30  Bill Schmidt  <wschmidt@linux.ibm.com>
      	    Michael Meissner  <meissner@linux.ibm.com>
      
      	* config/rs6000/constraints.md (eI): New constraint.
      	* config/rs6000/predicates.md (cint34_operand): New predicate.
      	* config/rs6000/rs6000.h (SIGNED_16BIT_OFFSET_P): New #define.
      	(SIGNED_34BIT_OFFSET_P): Likewise.
      	* doc/md.texi (eI): Document constraint.
      
      
      Co-Authored-By: Michael Meissner <meissner@linux.ibm.com>
      
      From-SVN: r271787
      Bill Schmidt committed
    • gfc-internals.texi (Translating to GENERIC): New chapter. · 93f09679
      2019-05-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
          * gfc-internals.texi (Translating to GENERIC): New chapter.
      
      From-SVN: r271786
      Thomas Koenig committed
    • [aarch64]: add support for fabd in sve · 3db85990
      This patch adds support in SVE to combine:
      - fsub and fabs into fabd
      
      fsub    z0.s, z0.s, z1.s
      fabs    z0.s, p1/m, z0.s
      ---
      fabd    z0.s, p1/m, z0.s, z1.s
      
      2019-05-30  Sylvia Taylor  <sylvia.taylor@arm.com>
      
      gcc/
      	* config/aarch64/aarch64-sve.md (*fabd<mode>3): New.
      
      gcc/testsuite/
      	* gcc.target/aarch64/sve/fabd_1.c: New.
      
      From-SVN: r271785
      Sylvia Taylor committed
    • compiler: intrinsify sync/atomic functions · c9c41a6b
          
          Let the Go frontend recognize sync/atomic functions and turn them
          into intrinsics.
          
          Also make sure not to intrinsify calls in go or defer statements.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/178937
      
      From-SVN: r271784
      Ian Lance Taylor committed
    • re PR c++/90598 (Return type of explicit destructor call wrong) · d05b516e
      	PR c++/90598
      	* tree.c (lvalue_kind): Return clk_none for expressions with
      	with VOID_TYPE_P.
      
      	* g++.dg/cpp0x/pr90598.C: New test.
      
      From-SVN: r271783
      Jakub Jelinek committed
    • Update libstdc++ documentation for Support and Diagnostics clauses · 01b3b9e3
      	* doc/xml/manual/diagnostics.xml: Update list of headers that define
      	exception classes.
      	* doc/xml/manual/support.xml: Rewrite advice around NULL. Rewrite
      	section about new/delete overloads. Improve section on verbose
      	terminate handler.
      	* doc/html/*: Regenerate.
      
      From-SVN: r271782
      Jonathan Wakely committed
    • rs6000-cpus.def (OTHER_FUSION_MASKS): New #define. · 30f78ec7
      2019-05-30  Bill Schmidt  <wschmidt@linux.ibm.com>
      	    Michael Meissner  <meissner@linux.ibm.com>
      
      	* rs6000-cpus.def (OTHER_FUSION_MASKS): New #define.
      	(ISA_3_0_MASKS_SERVER): Mask off OTHER_FUSION_MASKS.
      	(ISA_3_0_MASKS_IEEE): Remove OPTION_MASK_DIRECT_MOVE.
      	(ISA_FUTURE_MASKS_SERVER): Add OPTION_MASK_PREFIXED_ADDR.
      	(OTHER_FUTURE_MASKS): Likewise.
      	(POWERPC_MASKS): Likewise.
      	* rs6000.c (rs6000_option_override_internal): Error if -mpcrel is
      	specified without -mprefixed-addr or -mcpu=future.  Error if
      	-mprefixed-addr is specified without -mcpu=future.
      	(rs6000_opt_masks): Add entry for prefixed-addr.
      	* rs6000.opt (mprefixed-addr): New option.
      
      
      Co-Authored-By: Michael Meissner <meissner@linux.ibm.com>
      
      From-SVN: r271781
      Bill Schmidt committed
    • [PATCH][GCC][AARCH64] Fix libstdc++ build failure after r271735 · 0e2e15ab
      	gcc/ChangeLog
      	* aarch64/aarch64.c (aarch64_post_cfi_startproc): Add
      	cfun->is_thunk check.
      
      From-SVN: r271780
      Sam Tebbs committed
    • * lang.opt (ftail-call-workaround): Fix a typo. · d4ecfa56
      From-SVN: r271777
      Marek Polacek committed
    • Update C++20 status table · 62971f46
      The status of P1353R0 was "Partial" because we don't define the
      __cpp_lib_three_way_comparison macro, but that's because we don't
      support the feature. So the paper can be marked as done.
      
      	* doc/xml/manual/status_cxx2020.xml: Add feature-test macro for
      	P0811R3. Change status of P1353R0.
      	* doc/html/*: Regenerate.
      
      From-SVN: r271774
      Jonathan Wakely committed
    • Update documentation of implementation-defined library features · 37ad0fc9
      	* doc/xml/manual/status_cxx2011.xml: Use <variablelist> for
      	documentation of implementation-defined types for [thread.req.native].
      	* doc/xml/manual/status_cxx2017.xml: Update documentation of
      	implementation-defined strings for [variant.bad.access]. Fix typo in
      	documentation of implementation-defined support for [fs.conform.9945].
      	* doc/html/*: Regenerate.
      
      From-SVN: r271773
      Jonathan Wakely committed
    • tree-predcom.c (is_inv_store_elimination_chain): Fix a typo - lenght to length. · 02fac244
      	* tree-predcom.c (is_inv_store_elimination_chain): Fix a typo - lenght
      	to length.
      
      	* lang.opt (ftail-call-workaround=): Fix a typo - lenghts to lengths.
      
      From-SVN: r271770
      Jakub Jelinek committed
    • Generalize getconf _NPROCESSORS_ONLN · a7155c2e
      	libgomp:
      	* configure.ac: Call AX_COUNT_CPUS.
      	Substitute CPU_COUNT.
      	* testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
      	count fallback.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* Makefile.in, testsuite/Makefile.in: Regenerate.
      
      	config:
      	* ax_count_cpus.m4: New file.
      
      From-SVN: r271769
      Rainer Orth committed
    • testsuite,x86 - require native TLS for two tests that use it. · b8148c42
      gcc/testsuite/
      
      2019-05-30  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.target/i386/pr86257.c: Require native TLS support.
      	* gcc.target/i386/stack-prot-sym.c: Likewise.
      
      From-SVN: r271768
      Iain Sandoe committed