1. 28 Jul, 2018 2 commits
    • C++: clean up cp_printer · 081b70a9
      This makes it easier to compare cp_printer with gcc_cxxdiag_char_table
      in c-format.c.
      
      No functional change intended.
      
      gcc/cp/ChangeLog:
      	* error.c (cp_printer): In the leading comment, move "%H" and "%I"
      	into alphabetical order, and add missing "%G" and "%K".  Within
      	the switch statement, move cases 'G', 'H', 'I' and 'K' so that the
      	cases are in alphabetical order.
      
      From-SVN: r263046
      David Malcolm committed
    • Daily bump. · 0058495e
      From-SVN: r263045
      GCC Administrator committed
  2. 27 Jul, 2018 9 commits
    • constraints.md (wG constraint): Delete, no longer used. · 0fb9e668
      2018-07-27  Michael Meissner  <meissner@linux.ibm.com>
      
      	* config/rs6000/constraints.md (wG constraint): Delete, no longer
      	used.
      	* config/rs6000/predicates.md (p9_fusion_reg_operand): Rename
      	predicate to reflect toc fusion has been deleted.
      	(toc_fusion_mem_raw): Delete, no longer used.
      	(toc_fusion_mem_wrapped): Likewise.
      	* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Delete toc
      	fusion mask bit.
      	* config/rs6000/rs6000-protos.h (fusion_wrap_memory_address):
      	Delete, no longer used.
      	* config/rs6000/rs6000.c (struct rs6000_reg_addr): Delete fields
      	meant to be used for toc fusion.
      	(rs6000_debug_print_mode): Delete toc fusion debugging.
      	(rs6000_debug_reg_global): Likewise.
      	(rs6000_init_hard_regno_mode_ok): Delete setting up fields for toc
      	fusion and secondary reload support that were never used.
      	(rs6000_option_override_internal): Delete TOC fusion, that was only
      	partially defined, and it did not work unless you also used the
      	-mcmodel= switch.
      	(rs6000_legitimate_address_p): Delete TOC fusion support.
      	(rs6000_opt_masks): Likewise.
      	(fusion_wrap_memory_address): Delete function, no longer used.
      	(fusion_split_address); Delete TOC fusion support.
      	* config/rs6000/rs6000.h (TARGET_TOC_FUSION_INT): Delete, no
      	longer used with toc fusion being deleted.
      	(TARGET_TOC_FUSION_FP): Likewise.
      	* config/rs6000/rs6000.md (UNSPEC_FUSION_ADDIS): Delete TOC fusion
      	UNSPEC.
      	(toc fusion spliter): Delete TOC fusion support.
      	(toc_fusionload_<mode>): Likewise.
      	(toc_fusionload_di): Likewise.
      	(fusion_gpr_load_<mode>): Delete generator function, this insn no
      	longer needs to be named.  Rename predicate to delete TOC fusion.
      	(fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
      	(fusion_gpr_<P:mode>_<GPR_FUSION:mode>_store): Likewise.
      	(fusion_vsx_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
      	(fusion_vsx_<P:mode>_<GPR_FUSION:mode>_store): Likewise.
      	(p9 fusion peephole2s): Rename predicate to delete TOC fusion.
      
      From-SVN: r263039
      Michael Meissner committed
    • Update .po files. · 96a54a49
      	* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
      	ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po,
      	zh_TW.po: Update.
      
      From-SVN: r263036
      Joseph Myers committed
    • libgo: prune sighandler frames in runtime.sigprof · 5ac2fd0d
          
          When writing stack frames to the pprof CPU profile machinery, it is
          very important to insure that the frames emitted do not contain any
          frames corresponding to artifacts of the profiling process itself
          (signal handlers, sigprof, etc). This patch changes runtime.sigprof to
          strip out those frames from the raw stack generated by
          "runtime.callers".
          
          Fixes golang/go#26595.
          
          Reviewed-on: https://go-review.googlesource.com/126175
      
      From-SVN: r263035
      Ian Lance Taylor committed
    • extend.texi (Basic PowerPC Built-in Functions Available on ISA 2.05): Replace… · 58f51e5c
      extend.texi (Basic PowerPC Built-in Functions Available on ISA 2.05): Replace __uint128_t with __uint128 and __int128_t with __int128 in built-in...
      
      gcc/ChangeLog:
      
      2018-07-27  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* doc/extend.texi (Basic PowerPC Built-in Functions Available on
      	ISA 2.05):  Replace __uint128_t with __uint128 and __int128_t with
      	__int128 in built-in function prototypes.
      	(PowerPC AltiVec Built-in Functions on ISA 2.07): Likewise.
      	(PowerPC AltiVec Built-in Functions on ISA 3.0): Likewise.
      
      From-SVN: r263033
      Kelvin Nilsen committed
    • PR tree-optimization/86696 - ICE in handle_char_store at gcc/tree-ssa-strlen.c:3332 · e4bbeea2
      gcc/ChangeLog:
      
      	PR tree-optimization/86696
      	* tree-ssa-strlen.c (get_min_string_length): Handle all integer
      	types, including enums.
      	(handle_char_store): Be prepared for the above function to fail.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/86696
      	* gcc.dg/pr86696.C: New test.
      
      From-SVN: r263032
      Martin Sebor committed
    • Fixes to testcase for PR tree-optimization/86636 · 254c23d3
      gcc/testsuite/ChangeLog:
      	PR tree-optimization/86636
      	* gcc.c-torture/compile/pr86636.c: Add dg-do compile.
      	Add dg-require-effective-target pthread.
      
      From-SVN: r263031
      David Malcolm committed
    • i386: Remove _Unwind_Frames_Increment · b72e71a3
      CET kernel has been changed to place a restore token on shadow stack for
      signal handler to enhance security.  It is usually transparent to user
      programs since kernel will pop the restore token when signal handler
      returns.  But when an exception is thrown from a signal handler, now
      we need to remove _Unwind_Frames_Increment to pop the the restore token
      from shadow stack.  Otherwise, we get
      
      FAIL: g++.dg/torture/pr85334.C   -O0  execution test
      FAIL: g++.dg/torture/pr85334.C   -O1  execution test
      FAIL: g++.dg/torture/pr85334.C   -O2  execution test
      FAIL: g++.dg/torture/pr85334.C   -O3 -g  execution test
      FAIL: g++.dg/torture/pr85334.C   -Os  execution test
      FAIL: g++.dg/torture/pr85334.C   -O2 -flto -fno-use-linker-plugin -flto-partition=none  execution test
      
      	PR libgcc/85334
      	* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Increment):
      	Removed.
      
      From-SVN: r263030
      H.J. Lu committed
    • Disable strcmp/strncmp/memcmp inlining when optimization · 3d592d2d
      level is lower than 2 or Os
      
      From-SVN: r263028
      Qing Zhao committed
    • Daily bump. · 543f1a04
      From-SVN: r263027
      GCC Administrator committed
  3. 26 Jul, 2018 25 commits
    • * 30_threads/condition_variable_any/cond.cc: New test. · ccfe77fa
      From-SVN: r263022
      Marek Polacek committed
    • re PR target/86612 (__strdup problem on power 9) · 2686c842
      	PR target/86612
      	* gcc.target/powerpc/pr58673-2.c: Call strdup.
      
      From-SVN: r263020
      Pat Haugen committed
    • PR tree-optimization/86043 - strlen after memcpy partially overwriting a string not optimized · aca8570e
      PR tree-optimization/86043 - strlen after memcpy partially overwriting a string not optimized
      PR tree-optimization/86042 - missing strlen optimization after second strcpy
      
      gcc/ChangeLog:
      
      	PR tree-optimization/86043
      	PR tree-optimization/86042
      	* tree-ssa-strlen.c (handle_builtin_memcpy): Handle strict overlaps.
      	(get_string_cst_length): Rename...
      	(get_min_string_length): ...to this.  Add argument.
      	(handle_char_store): Extend to handle multi-character stores by
      	MEM_REF.
      	* tree.c (initializer_zerop): Use new argument.  Handle MEM_REF.
      	* tree.h (initializer_zerop): Add argument.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/86043
      	PR tree-optimization/86042
      	* gcc/testsuite/gcc.dg/attr-nonstring-2.c: Xfail test cases due to
      	pr86688.
      	* gcc.dg/strlenopt-44.c: New test.
      
      From-SVN: r263018
      Martin Sebor committed
    • * src/c++98/locale_init.cc: Fix #ifdef condition. · 4b8b1f59
      From-SVN: r263016
      Marek Polacek committed
    • re PR middle-end/86660 (libgomp.c++/for-15.C ICEs with nvptx offloading) · 5d36384c
      	PR testsuite/86660
      	* testsuite/libgomp.c++/for-15.C (results): Include it in
      	omp declare target region.
      	(main): Use map (always, tofrom: results) instead of
      	map (tofrom: results).
      
      From-SVN: r263011
      Jakub Jelinek committed
    • re PR middle-end/86660 (libgomp.c++/for-15.C ICEs with nvptx offloading) · 5883c5cc
      	PR middle-end/86660
      	* omp-low.c (scan_sharing_clauses): Don't ignore map clauses for
      	declare target to variables if they have always,{to,from,tofrom} map
      	kinds.
      
      	* testsuite/libgomp.c/pr86660.c: New test.
      
      From-SVN: r263010
      Jakub Jelinek committed
    • libsanitizer: Mark REAL(swapcontext) with indirect_return attribute on x86 · c83b4b82
      Cherry-pick compiler-rt revision 337603:
      
      When shadow stack from Intel CET is enabled, the first instruction of all
      indirect branch targets must be a special instruction, ENDBR.
      
      lib/asan/asan_interceptors.cc has
      
      ...
        int res = REAL(swapcontext)(oucp, ucp);
      ...
      
      REAL(swapcontext) is a function pointer to swapcontext in libc.  Since
      swapcontext may return via indirect branch on x86 when shadow stack is
      enabled, as in this case,
      
      int res = REAL(swapcontext)(oucp, ucp);
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  This function may be
      returned via an indirect branch.
      
      Here compiler must insert ENDBR after call, like
      
      call *bar(%rip)
      endbr64
      
      I opened an LLVM bug:
      
      https://bugs.llvm.org/show_bug.cgi?id=38207
      
      to add the indirect_return attribute so that it can be used to inform
      compiler to insert ENDBR after REAL(swapcontext) call.  We mark
      REAL(swapcontext) with the indirect_return attribute if it is available.
      
      This fixed:
      
      https://bugs.llvm.org/show_bug.cgi?id=38249
      
      Reviewed By: eugenis
      
      Differential Revision: https://reviews.llvm.org/D49608
      
      	PR target/86560
      	* asan/asan_interceptors.cc (swapcontext) Cherry-pick
      	compiler-rt revision 337603.
      	* sanitizer_common/sanitizer_internal_defs.h (__has_attribute):
      	Likewise.
      
      From-SVN: r263009
      H.J. Lu committed
    • Add missing dg-require-cstdint directives to tests · 49ba2588
      	* testsuite/18_support/aligned_alloc/aligned_alloc.cc: Add
      	dg-require-cstdint directive.
      	* testsuite/20_util/allocator/overaligned.cc: Likewise.
      	* testsuite/20_util/any/cons/aligned.cc: Likewise.
      	* testsuite/20_util/monotonic_buffer_resource/allocate.cc: Likewise.
      	* testsuite/20_util/monotonic_buffer_resource/deallocate.cc: Likewise.
      	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
      	Likewise.
      	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
      	* testsuite/23_containers/list/modifiers/insert/25288.cc: Likewise.
      	* testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
      	* testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
      	* testsuite/25_algorithms/pop_heap/complexity.cc: Require cstdint and
      	random_device effective-target.
      	* testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
      	* testsuite/25_algorithms/sample/1.cc: Require cstdint.
      	* testsuite/25_algorithms/sample/2.cc: Likewise.
      	* testsuite/25_algorithms/sort_heap/complexity.cc: Require cstdint
      	and random_device.
      	* testsuite/26_numerics/headers/random/types_std_c++0x.cc: Require
      	cstdint.
      	* testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
      	Likewise.
      	* testsuite/26_numerics/random/discard_block_engine/requirements/
      	constexpr_data.cc: Likewise.
      	* testsuite/26_numerics/random/discard_block_engine/requirements/
      	constexpr_functions.cc: Likewise.
      	* testsuite/26_numerics/random/independent_bits_engine/requirements/
      	constexpr_functions.cc: Likewise.
      	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
      	constexpr_data.cc: Likewise.
      	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
      	constexpr_functions.cc: Likewise.
      	* testsuite/26_numerics/random/mersenne_twister_engine/requirements/
      	constexpr_data.cc: Likewise.
      	* testsuite/26_numerics/random/mersenne_twister_engine/requirements/
      	constexpr_functions.cc: Likewise.
      	* testsuite/26_numerics/random/pr60037-neg.cc: Likewise.
      	* testsuite/26_numerics/random/seed_seq/cons/65631.cc: Likewise.
      	* testsuite/26_numerics/random/shuffle_order_engine/requirements/
      	constexpr_data.cc: Add dg-require-cstdint directive.
      	* testsuite/26_numerics/random/shuffle_order_engine/requirements/
      	constexpr_functions.cc: Likewise.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/requirements/
      	constexpr_data.cc: Likewise.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/requirements/
      	constexpr_functions.cc: Likewise.
      	* testsuite/26_numerics/random/uniform_real_distribution/operators/
      	64351.cc: Likewise.
      	* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Likewise.
      	* testsuite/experimental/algorithm/sample-2.cc: Likewise.
      	* testsuite/experimental/algorithm/sample.cc: Likewise.
      	* testsuite/experimental/algorithm/search.cc: Likewise.
      	* testsuite/experimental/algorithm/shuffle.cc: Likewise.
      	* testsuite/experimental/any/cons/aligned.cc: Likewise.
      	* testsuite/experimental/memory_resource/new_delete_resource.cc:
      	Likewise.
      	* testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
      	* testsuite/experimental/random/randint.cc: Likewise.
      	* testsuite/experimental/source_location/1.cc: Likewise.
      	* testsuite/ext/bitmap_allocator/overaligned.cc: Likewise.
      	* testsuite/ext/malloc_allocator/overaligned.cc: Likewise.
      	* testsuite/ext/mt_allocator/overaligned.cc: Likewise.
      	* testsuite/ext/new_allocator/overaligned.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/hash_map_rand.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
      	* testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
      	* testsuite/ext/pool_allocator/overaligned.cc: Likewise.
      	* testsuite/ext/throw_allocator/check_allocate_max_size.cc: Likewise.
      	* testsuite/ext/throw_allocator/check_deallocate_null.cc: Likewise.
      	* testsuite/ext/throw_allocator/check_delete.cc: Likewise.
      	* testsuite/ext/throw_allocator/check_new.cc: Likewise.
      	* testsuite/ext/throw_allocator/deallocate_global.cc: Likewise.
      	* testsuite/ext/throw_allocator/deallocate_local.cc: Likewise.
      	* testsuite/ext/throw_allocator/explicit_instantiation.cc: Likewise.
      	* testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
      	* testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Likewise.
      
      From-SVN: r263008
      Jonathan Wakely committed
    • Remove dg-require-cstdint directive from tests · 47114f2d
      Tests for components which are no longer dependent on
      _GLIBCXX_USE_C99_STDINT_TR1 do not need to require <cstdint>.
      
      	* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
      	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
      	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
      	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
      	* testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
      	* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_mutex/requirements/standard_layout.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_mutex/requirements/typedefs.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
      	* testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
      	* testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
      	* testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/dest/
      	destructor_locked.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/native_handle/
      	typesizes.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise.
      	* testsuite/30_threads/scoped_lock/cons/1.cc: Likewise.
      	* testsuite/30_threads/scoped_lock/requirements/
      	explicit_instantiation.cc: Likewise.
      	* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Likewise.
      	* testsuite/30_threads/shared_future/cons/assign.cc: Likewise.
      	* testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.
      	* testsuite/30_threads/shared_future/cons/copy.cc: Likewise.
      	* testsuite/30_threads/shared_future/cons/default.cc: Likewise.
      	* testsuite/30_threads/shared_future/cons/move.cc: Likewise.
      	* testsuite/30_threads/shared_future/cons/move_assign.cc: Likewise.
      	* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
      	* testsuite/30_threads/shared_future/members/get.cc: Likewise.
      	* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
      	* testsuite/30_threads/shared_future/members/valid.cc: Likewise.
      	* testsuite/30_threads/shared_future/members/wait.cc: Likewise.
      	* testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
      	* testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
      	* testsuite/30_threads/shared_future/requirements/
      	explicit_instantiation.cc: Likewise.
      	* testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
      	* testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
      	* testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
      	* testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
      	* testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
      	* testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
      	* testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
      	* testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
      	* testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
      	* testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
      	* testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
      	* testsuite/30_threads/shared_lock/requirements/
      	explicit_instantiation.cc: Likewise.
      	* testsuite/30_threads/shared_lock/requirements/typedefs.cc: Likewise.
      	* testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
      	* testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Likewise.
      	* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Likewise.
      	* testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
      	Likewise.
      	* testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
      	* testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
      	* testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
      	* testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
      	* testsuite/30_threads/shared_timed_mutex/cons/assign_neg.cc: Likewise.
      	* testsuite/30_threads/shared_timed_mutex/cons/copy_neg.cc: Likewise.
      	* testsuite/30_threads/shared_timed_mutex/requirements/
      	standard_layout.cc: Likewise.
      	* testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
      	* testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
      	* testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
      	* testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise.
      	* testsuite/30_threads/this_thread/1.cc: Likewise.
      	* testsuite/30_threads/this_thread/2.cc: Likewise.
      	* testsuite/30_threads/this_thread/3.cc: Likewise.
      	* testsuite/30_threads/this_thread/4.cc: Likewise.
      	* testsuite/30_threads/this_thread/58038.cc: Likewise.
      	* testsuite/30_threads/thread/70503.cc: Likewise.
      	* testsuite/30_threads/thread/84532.cc: Likewise.
      	* testsuite/30_threads/thread/adl.cc: Likewise.
      	* testsuite/30_threads/thread/cons/1.cc: Likewise.
      	* testsuite/30_threads/thread/cons/2.cc: Likewise.
      	* testsuite/30_threads/thread/cons/3.cc: Likewise.
      	* testsuite/30_threads/thread/cons/4.cc: Likewise.
      	* testsuite/30_threads/thread/cons/49668.cc: Likewise.
      	* testsuite/30_threads/thread/cons/5.cc: Likewise.
      	* testsuite/30_threads/thread/cons/6.cc: Likewise.
      	* testsuite/30_threads/thread/cons/7.cc: Likewise.
      	* testsuite/30_threads/thread/cons/8.cc: Likewise.
      	* testsuite/30_threads/thread/cons/84535.cc: Likewise.
      	* testsuite/30_threads/thread/cons/9.cc: Likewise.
      	* testsuite/30_threads/thread/cons/assign_neg.cc: Likewise.
      	* testsuite/30_threads/thread/cons/copy_neg.cc: Likewise.
      	* testsuite/30_threads/thread/cons/lwg2097.cc: Likewise.
      	* testsuite/30_threads/thread/cons/moveable.cc: Likewise.
      	* testsuite/30_threads/thread/cons/terminate.cc: Likewise.
      	* testsuite/30_threads/thread/id/operators.cc: Likewise.
      	* testsuite/30_threads/thread/members/1.cc: Likewise.
      	* testsuite/30_threads/thread/members/2.cc: Likewise.
      	* testsuite/30_threads/thread/members/3.cc: Likewise.
      	* testsuite/30_threads/thread/members/4.cc: Likewise.
      	* testsuite/30_threads/thread/members/5.cc: Likewise.
      	* testsuite/30_threads/thread/members/hardware_concurrency.cc:
      	Likewise.
      	* testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
      	* testsuite/30_threads/thread/swap/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
      	Likewise.
      	* testsuite/30_threads/timed_mutex/requirements/
      	standard_layout.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
      	* testsuite/30_threads/try_lock/1.cc: Likewise.
      	* testsuite/30_threads/try_lock/2.cc: Likewise.
      	* testsuite/30_threads/try_lock/3.cc: Likewise.
      	* testsuite/30_threads/try_lock/4.cc: Likewise.
      	* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
      	* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
      	* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
      	* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
      	* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
      	* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
      	* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
      	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
      	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
      	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
      	* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
      	* testsuite/30_threads/unique_lock/requirements/
      	explicit_instantiation.cc: Likewise.
      	* testsuite/30_threads/unique_lock/requirements/typedefs.cc: Likewise.
      
      From-SVN: r263007
      Jonathan Wakely committed
    • Remove dg-require-cstdint directive from tests · c37f07c4
      Tests for components which are no longer dependent on
      _GLIBCXX_USE_C99_STDINT_TR1 do not need to require <cstdint>.
      
      	* testsuite/30_threads/async/42819.cc: Remove dg-require-cstdint
      	directive.
      	* testsuite/30_threads/async/49668.cc: Likewise.
      	* testsuite/30_threads/async/54297.cc: Likewise.
      	* testsuite/30_threads/async/84532.cc: Likewise.
      	* testsuite/30_threads/async/any.cc: Likewise.
      	* testsuite/30_threads/async/async.cc: Likewise.
      	* testsuite/30_threads/async/except.cc: Likewise.
      	* testsuite/30_threads/async/forced_unwind.cc: Likewise.
      	* testsuite/30_threads/async/launch.cc: Likewise.
      	* testsuite/30_threads/async/lwg2021.cc: Likewise.
      	* testsuite/30_threads/async/sync.cc: Likewise.
      	* testsuite/30_threads/call_once/39909.cc: Likewise.
      	* testsuite/30_threads/call_once/49668.cc: Likewise.
      	* testsuite/30_threads/call_once/60497.cc: Likewise.
      	* testsuite/30_threads/call_once/call_once1.cc: Likewise.
      	* testsuite/30_threads/call_once/constexpr.cc: Likewise.
      	* testsuite/30_threads/call_once/dr2442.cc: Likewise.
      	* testsuite/30_threads/call_once/once_flag.cc: Likewise.
      	* testsuite/30_threads/condition_variable/54185.cc: Likewise.
      	* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
      	* testsuite/30_threads/condition_variable/cons/assign_neg.cc:
      	Likewise.
      	* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
      	* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
      	* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
      	* testsuite/30_threads/condition_variable/members/3.cc: Likewise.
      	* testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
      	* testsuite/30_threads/condition_variable/members/68519.cc: Likewise.
      	* testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
      	Likewise.
      	* testsuite/30_threads/condition_variable/requirements/
      	standard_layout.cc: Likewise.
      	* testsuite/30_threads/condition_variable/requirements/typedefs.cc:
      	* Likewise.
      	* testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
      	* testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
      	* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
      	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
      	Likewise.
      	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
      	Likewise.
      	* testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
      	* testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
      	* testsuite/30_threads/future/cons/assign_neg.cc: Likewise.
      	* testsuite/30_threads/future/cons/constexpr.cc: Likewise.
      	* testsuite/30_threads/future/cons/copy_neg.cc: Likewise.
      	* testsuite/30_threads/future/cons/default.cc: Likewise.
      	* testsuite/30_threads/future/cons/move.cc: Likewise.
      	* testsuite/30_threads/future/cons/move_assign.cc: Likewise.
      	* testsuite/30_threads/future/members/45133.cc: Likewise.
      	* testsuite/30_threads/future/members/get.cc: Likewise.
      	* testsuite/30_threads/future/members/get2.cc: Likewise.
      	* testsuite/30_threads/future/members/share.cc: Likewise.
      	* testsuite/30_threads/future/members/valid.cc: Likewise.
      	* testsuite/30_threads/future/members/wait.cc: Likewise.
      	* testsuite/30_threads/future/members/wait_for.cc: Likewise.
      	* testsuite/30_threads/future/members/wait_until.cc: Likewise.
      	* testsuite/30_threads/future/requirements/explicit_instantiation.cc:
      	Likewise.
      	* testsuite/30_threads/headers/condition_variable/types_std_c++0x.cc:
      	Likewise.
      	* testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
      	* testsuite/30_threads/headers/mutex/types_std_c++0x.cc: Likewise.
      	* testsuite/30_threads/headers/thread/std_c++0x_neg.cc: Likewise.
      	* testsuite/30_threads/headers/thread/types_std_c++0x.cc: Likewise.
      	* testsuite/30_threads/lock/1.cc: Likewise.
      	* testsuite/30_threads/lock/2.cc: Likewise.
      	* testsuite/30_threads/lock/3.cc: Likewise.
      	* testsuite/30_threads/lock/4.cc: Likewise.
      	* testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
      	* testsuite/30_threads/lock_guard/requirements/
      	explicit_instantiation.cc: Likewise.
      	* testsuite/30_threads/lock_guard/requirements/typedefs.cc: Likewise.
      	* testsuite/30_threads/mutex/cons/1.cc: Likewise.
      	* testsuite/30_threads/mutex/cons/assign_neg.cc: Likewise.
      	* testsuite/30_threads/mutex/cons/constexpr.cc: Likewise.
      	* testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
      	* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
      	* testsuite/30_threads/mutex/lock/1.cc: Likewise.
      	* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
      	* testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
      	* testsuite/30_threads/mutex/requirements/standard_layout.cc::
      	Likewise.
      	* testsuite/30_threads/mutex/requirements/typedefs.cc: Likewise.
      	* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
      	* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
      	* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
      	* testsuite/30_threads/mutex/unlock/2.cc: Likewise.
      	* testsuite/30_threads/once_flag/cons/constexpr.cc: Likewise.
      	* testsuite/30_threads/packaged_task/49668.cc: Likewise.
      	* testsuite/30_threads/packaged_task/60564.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/alloc2.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/alloc_min.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
      	Likewise.
      	* testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
      	* testsuite/30_threads/packaged_task/requirements/
      	explicit_instantiation.cc: Likewise.
      	* testsuite/30_threads/packaged_task/uses_allocator.cc: Likewise.
      	* testsuite/30_threads/promise/60966.cc: Likewise.
      	* testsuite/30_threads/promise/69106.cc: Likewise.
      	* testsuite/30_threads/promise/cons/1.cc: Likewise.
      	* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
      	* testsuite/30_threads/promise/cons/alloc2.cc: Likewise.
      	* testsuite/30_threads/promise/cons/alloc_min.cc: Likewise.
      	* testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.
      	* testsuite/30_threads/promise/cons/copy_neg.cc: Likewise.
      	* testsuite/30_threads/promise/cons/move.cc: Likewise.
      	* testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
      	* testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
      	* testsuite/30_threads/promise/members/at_thread_exit2.cc: Likewise.
      	* testsuite/30_threads/promise/members/get_future.cc: Likewise.
      	* testsuite/30_threads/promise/members/get_future2.cc: Likewise.
      	* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
      	* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
      	* testsuite/30_threads/promise/members/set_value.cc: Likewise.
      	* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
      	* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
      	* testsuite/30_threads/promise/members/swap.cc: Likewise.
      	* testsuite/30_threads/promise/requirements/explicit_instantiation.cc:
      	* Likewise.
      	* testsuite/30_threads/promise/uses_allocator.cc: Likewise.
      
      From-SVN: r263006
      Jonathan Wakely committed
    • Remove dg-require-cstdint directive from tests · 2b69e93c
      Tests for components which are no longer dependent on
      _GLIBCXX_USE_C99_STDINT_TR1 do not need to require <cstdint>.
      
      	* testsuite/18_support/numeric_limits/char16_32_t.cc: Qualify names
      	from namespace std.
      	* testsuite/20_util/align/2.cc: Remove dg-require-cstdint directive.
      	* testsuite/20_util/duration/arithmetic/1.cc: Likewise.
      	* testsuite/20_util/duration/arithmetic/2.cc: Likewise.
      	* testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
      	* testsuite/20_util/duration/arithmetic/dr934-1.cc: Likewise.
      	* testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
      	* testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
      	* testsuite/20_util/duration/cons/1.cc: Likewise.
      	* testsuite/20_util/duration/cons/1_neg.cc: Likewise.
      	* testsuite/20_util/duration/cons/2.cc: Likewise.
      	* testsuite/20_util/duration/cons/54025.cc: Likewise.
      	* testsuite/20_util/duration/cons/dr974_neg.cc: Likewise.
      	* testsuite/20_util/duration/requirements/explicit_instantiation/
      	explicit_instantiation.cc: Likewise.
      	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
      	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
      	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
      	* testsuite/20_util/make_signed/requirements/typedefs-4.cc: Likewise.
      	* testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
      	* testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
      	* testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
      	* testsuite/20_util/ratio/cons/cons1.cc: Likewise.
      	* testsuite/20_util/ratio/operations/45866.cc: Likewise.
      	* testsuite/20_util/ratio/operations/47913.cc: Likewise.
      	* testsuite/20_util/ratio/operations/53840.cc: Likewise.
      	* testsuite/20_util/ratio/operations/ops1.cc: Likewise.
      	* testsuite/20_util/shared_ptr/atomic/3.cc: Likewise.
      	* testsuite/20_util/system_clock/1.cc: Likewise.
      	* testsuite/20_util/time_point/1.cc: Likewise.
      	* testsuite/20_util/time_point/2.cc: Likewise.
      	* testsuite/20_util/time_point/3.cc: Likewise.
      	* testsuite/20_util/time_point/requirements/explicit_instantiation/
      	explicit_instantiation.cc: Likewise.
      	* testsuite/21_strings/basic_string/requirements/
      	explicit_instantiation/char16_t/1.cc: Likewise.
      	* testsuite/21_strings/basic_string/requirements/
      	explicit_instantiation/char32_t/1.cc: Likewise.
      	* testsuite/21_strings/basic_string_view/requirements/
      	explicit_instantiation/char16_t/1.cc: Likewise.
      	* testsuite/21_strings/basic_string_view/requirements/
      	explicit_instantiation/char32_t/1.cc: Likewise.
      	* testsuite/21_strings/char_traits/requirements/
      	explicit_instantiation/char16_t/1.cc: Likewise.
      	* testsuite/21_strings/char_traits/requirements/
      	explicit_instantiation/char32_t/1.cc: Likewise.
      	* testsuite/21_strings/headers/string/types_std_c++0x.cc: Likewise.
      	* testsuite/22_locale/codecvt/char16_t.cc: Likewise.
      	* testsuite/22_locale/codecvt/char32_t.cc: Likewise.
      	* testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
      	Likewise.
      	* testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
      	Likewise.
      	* testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
      	Likewise.
      	* testsuite/22_locale/codecvt/utf8.cc: Likewise.
      	* testsuite/23_containers/vector/bool/72847.cc: Likewise.
      	* testsuite/23_containers/vector/debug/multithreaded_swap.cc:
      	Likewise.
      	* testsuite/experimental/string_view/requirements/
      	explicit_instantiation/char16_t/1.cc: Likewise.
      	* testsuite/experimental/string_view/requirements/
      	explicit_instantiation/char32_t/1.cc: Likewise.
      	* testsuite/ext/vstring/requirements/explicit_instantiation/char16_t/
      	1.cc: Likewise.
      	* testsuite/ext/vstring/requirements/explicit_instantiation/char32_t/
      	1.cc: Likewise.
      
      From-SVN: r263005
      Jonathan Wakely committed
    • Add missing checks for _GLIBCXX_USE_C99_STDINT_TR1 · 54c67432
      The throw_allocator extension depends on <tr1/random> which depends on
      _GLIBCXX_USE_C99_STDINT_TR1.
      
      The Transactional Memory support uses fixed-width integer types from
      <stdint.h>.
      
      	* include/ext/throw_allocator.h [!_GLIBCXX_USE_C99_STDINT_TR1]
      	(random_condition, throw_value_random, throw_allocator_random)
      	(std::hash<throw_value_random>): Do not define when <tr1/random> is
      	not usable.
      	* src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_C99_STDINT_TR1]: Do not
      	define transactional memory support when <stdint.h> is not usable.
      
      From-SVN: r263004
      Jonathan Wakely committed
    • Modify some library internals to work without <stdint.h> · 4957b284
      std::__detail::__clp2 used uint_fast32_t and uint_fast64_t without
      checking _GLIBCXX_USE_C99_STDINT_TR1 which was a potential bug. A
      simpler implementation based on the new std::__ceil2 code performs
      better and doesn't depend on <stdint.h> types.
      
      std::align and other C++11 functions in <memory> where unnecessarily
      missing when _GLIBCXX_USE_C99_STDINT_TR1 was not defined.
      
      	* include/bits/hashtable_policy.h (__detail::__clp2): Use faster
      	implementation that doesn't depend on <stdint.h> types.
      	* include/std/memory (align) [!_GLIBCXX_USE_C99_STDINT_TR1]: Use
      	std::size_t when std::uintptr_t is not usable.
      	[!_GLIBCXX_USE_C99_STDINT_TR1] (pointer_safety, declare_reachable)
      	(undeclare_reachable, declare_no_pointers, undeclare_no_pointers):
      	Define independent of _GLIBCXX_USE_C99_STDINT_TR1.
      
      From-SVN: r263003
      Jonathan Wakely committed
    • Remove char16_t and char32_t dependency on <stdint.h> · 612c9c70
      The char16_t and char32_t types are automatically defined by the
      compiler and do not depend on support in <stdint.h>. The char_traits
      specializations depend on uint_leastNN_t but can be made to work anyway
      by using the predefined macros, or as a last resort make_unsigned.
      
      	* include/bits/basic_string.h [!_GLIBCXX_USE_C99_STDINT_TR1]
      	(hash<u16string>, hash<u32string>): Remove dependency on
      	_GLIBCXX_USE_C99_STDINT_TR1.
      	* include/bits/char_traits.h [!_GLIBCXX_USE_C99_STDINT_TR1]
      	(char_traits<char16_t>, char_traits<char32_t>): Remove dependency on
      	_GLIBCXX_USE_C99_STDINT_TR1. Use __UINT_LEAST16_TYPE__ and
      	__UINT_LEAST32_TYPE__ or make_unsigned when <stdint.h> is not usable.
      	* include/bits/codecvt.h [!_GLIBCXX_USE_C99_STDINT_TR1]
      	(codecvt<char16_t, char, mbstate_t>)
      	(codecvt<char32_t, char, mbstate_t>)
      	(codecvt_byname<char16_t, char, mbstate_t>)
      	(codecvt_byname<char32_t, char, mbstate_t>): Remove dependency
      	on _GLIBCXX_USE_C99_STDINT_TR1.
      	* include/bits/locale_facets.h [!_GLIBCXX_USE_C99_STDINT_TR1]
      	(_GLIBCXX_NUM_UNICODE_FACETS): Likewise.
      	* include/bits/stringfwd.h [!_GLIBCXX_USE_C99_STDINT_TR1]
      	(char_traits<char16_t>, char_traits<char32_t>)
      	(basic_string<char16_t>, basic_string<char32_t>): Remove dependency
      	on _GLIBCXX_USE_C99_STDINT_TR1.
      	* include/experimental/string_view [!_GLIBCXX_USE_C99_STDINT_TR1]
      	(u16string_view, u32string_view, hash<u16string_view>)
      	(hash<u32string_view>, operator""sv(const char16_t, size_t))
      	(operator""sv(const char32_t, size_t)): Likewise.
      	* include/ext/vstring.h [!_GLIBCXX_USE_C99_STDINT_TR1]
      	(hash<__u16vstring>, hash<__u32vstring>): Likewise.
      	* include/ext/vstring_fwd.h [!_GLIBCXX_USE_C99_STDINT_TR1]
      	(__u16vstring, __u16sso_string, __u16rc_string, __u32vstring)
      	(__u32sso_string, __u32rc_string): Likewise.
      	* include/std/codecvt [!_GLIBCXX_USE_C99_STDINT_TR1] (codecvt_mode)
      	(codecvt_utf8, codecvt_utf16, codecvt_utf8_utf16): Likewise.
      	* include/std/string_view [!_GLIBCXX_USE_C99_STDINT_TR1]
      	(u16string_view, u32string_view, hash<u16string_view>)
      	(hash<u32string_view>, operator""sv(const char16_t, size_t))
      	(operator""sv(const char32_t, size_t)): Likewise.
      	* src/c++11/codecvt.cc: Likewise.
      	* src/c++98/locale_init.cc: Likewise.
      	* src/c++98/localename.cc: Likewise.
      
      From-SVN: r263002
      Jonathan Wakely committed
    • Remove <chrono> dependency on _GLIBCXX_USE_C99_STDINT_TR1 · 8ba7f29e
      By adding fallback definitions of std::intmax_t and std::uintmax_t it's
      possible to define <ratio> without _GLIBCXX_USE_C99_STDINT_TR1. This in
      turn allows most of <chrono> to be defined, which removes the dependency
      on _GLIBCXX_USE_C99_STDINT_TR1 for all of the C++11 concurrency features.
      
      The compiler defines __INTMAX_TYPE__ and __UINTMAX_TYPE__
      unconditionally so it should be safe to rely on them.
      
      	* include/bits/atomic_futex.h [!_GLIBCXX_USE_C99_STDINT_TR1]
      	(__atomic_futex_unsigned_base): Remove dependency on
      	_GLIBCXX_USE_C99_STDINT_TR1 macro.
      	* include/bits/unique_lock.h [!_GLIBCXX_USE_C99_STDINT_TR1]
      	(unique_lock): Remove dependency on _GLIBCXX_USE_C99_STDINT_TR1.
      	* include/c_global/cstdint [!_GLIBCXX_USE_C99_STDINT_TR1] (intmax_t)
      	(uintmax_t): Define using predefined macros.
      	* include/std/chrono [!_GLIBCXX_USE_C99_STDINT_TR1] (duration)
      	(time_point, system_clock, high_resolution_clock, steady_clock): Remove
      	dependency on _GLIBCXX_USE_C99_STDINT_TR1 macro.
      	(nanoseconds, microseconds, milliseconds, seconds, minutes, hours):
      	[!_GLIBCXX_USE_C99_STDINT_TR1]: Define using __INT64_TYPE__ or
      	long long when <stdint.h> is not usable.
      	* include/std/condition_variable [!_GLIBCXX_USE_C99_STDINT_TR1]
      	(condition_variable, condition_variable_any): Remove dependency on
      	_GLIBCXX_USE_C99_STDINT_TR1.
      	* include/std/future [!_GLIBCXX_USE_C99_STDINT_TR1] (future, promise)
      	(packaged_task, async): Likewise.
      	* include/std/mutex [!_GLIBCXX_USE_C99_STDINT_TR1] (recursive_mutex)
      	(timed_mutex, recursive_timed_mutex, try_lock, lock, scoped_lock)
      	(once_flag, call_once): Likewise.
      	* include/std/ratio [!_GLIBCXX_USE_C99_STDINT_TR1] (ratio): Likewise.
      	* include/std/shared_mutex [!_GLIBCXX_USE_C99_STDINT_TR1]
      	(shared_mutex, shared_timed_mutex, shared_lock): Likewise.
      	* include/std/thread [!_GLIBCXX_USE_C99_STDINT_TR1] (thread)
      	(this_thread::get_id, this_thread::yield, this_thread::sleep_for)
      	(this_thread::sleep_until): Likewise.
      	* src/c++11/chrono.cc: Remove dependency on
      	_GLIBCXX_USE_C99_STDINT_TR1 macro.
      	* src/c++11/condition_variable.cc: Likewise.
      	* src/c++11/futex.cc: Likewise.
      	* src/c++11/future.cc: Likewise.
      	* src/c++11/mutex.cc: Likewise.
      	* src/c++11/thread.cc: Likewise.
      	* testsuite/20_util/duration/literals/range_neg.cc: Adjust dg-error.
      	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
      	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
      	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
      	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
      	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
      
      From-SVN: r263001
      Jonathan Wakely committed
    • xfail experimental/memory_resource/new_delete_resource.cc on 32-bit Solaris/x86… · 864f020a
      xfail experimental/memory_resource/new_delete_resource.cc on 32-bit Solaris/x86 (PR libstdc++/77691)
      
      	PR libstdc++/77691
      	* testsuite/experimental/memory_resource/new_delete_resource.cc:
      	xfail execution on 32-bit Solaris/x86.
      
      From-SVN: r263000
      Rainer Orth committed
    • Add linker_output as prefix for LTO temps (PR lto/86548). · c00c9d03
      2018-07-26  Martin Liska  <mliska@suse.cz>
      
              PR lto/86548
      	* lto-wrapper.c: Add linker_output as prefix
              for ltrans_output_file.
      2018-07-26  Martin Liska  <mliska@suse.cz>
      
              PR lto/86548
      	* libiberty.h (make_temp_file_with_prefix): New function.
      2018-07-26  Martin Liska  <mliska@suse.cz>
      
              PR lto/86548
      	* make-temp-file.c (TEMP_FILE): Remove leading 'cc'.
      	(make_temp_file): Call make_temp_file_with_prefix with
              first argument set to NULL.
      	(make_temp_file_with_prefix): Support also prefix.
      
      From-SVN: r262999
      Martin Liska committed
    • optimize std::vector move assignment · e98edc20
      2018-07-26  Marc Glisse  <marc.glisse@inria.fr>
      
      	* include/bits/stl_vector.h (_Vector_impl_data::_M_copy_data): New.
      	(_Vector_impl_data::_M_swap_data): Use _M_copy_data.
      	(vector::_M_move_assign): Reorder the swaps.
      
      From-SVN: r262998
      Marc Glisse committed
    • [libgomp, nvptx] Add error with recompilation hint for launch failure · 88a4654d
      Currently, when a kernel is lauched with too many workers, it results in a cuda
      launch failure.  This is triggered f.i. for parallel-loop-1.c at -O0 on a Quadro
      M1200.
      
      This patch detects this situation, and errors out with a hint on how to fix it.
      
      Build and reg-tested on x86_64 with nvptx accelerator.
      
      2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
      	    Tom de Vries  <tdevries@suse.de>
      
      	* plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
      	sufficient resources to launch a kernel, and give a hint on how to fix
      	it.
      
      Co-Authored-By: Tom de Vries <tdevries@suse.de>
      
      From-SVN: r262997
      Cesar Philippidis committed
    • [libgomp, nvptx] Move device property sampling from nvptx_exec to nvptx_open · 0c6c2f5f
      Move sampling of device properties from nvptx_exec to nvptx_open, and assume
      the sampling always succeeds.  This simplifies the default dimension
      initialization code in nvptx_open.
      
      2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
      	    Tom de Vries  <tdevries@suse.de>
      
      	* plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
      	max_threads_per_block and max_threads_per_multiprocessor fields.
      	(nvptx_open_device): Initialize new fields.
      	(nvptx_exec): Use num_sms, and new fields.
      
      Co-Authored-By: Tom de Vries <tdevries@suse.de>
      
      From-SVN: r262996
      Cesar Philippidis committed
    • combine: Another hard register problem (PR85805) · 328aa787
      The current code in reg_nonzero_bits_for_combine allows using the
      reg_stat info when last_set_mode is a different integer mode.  This is
      completely wrong for non-pseudos.  For example, as in the PR, a value
      in a DImode hard register is set by eight writes to its constituent
      QImode parts.  The value written to the DImode is not the same as that
      written to the lowest-numbered QImode!
      
      
      	PR rtl-optimization/85805
      	* combine.c (reg_nonzero_bits_for_combine): Only use the last set
      	value for hard registers if that was written in the same mode.
      
      From-SVN: r262994
      Segher Boessenkool committed
    • gcov: Fix wrong usage of NAN in statistics (PR gcov-profile/86536). · 977667e6
      2018-07-26  Martin Liska  <mliska@suse.cz>
      
              PR gcov-profile/86536
      	* gcov.c (format_gcov): Use printf format %.*f directly
              and do not handle special values.
      2018-07-26  Martin Liska  <mliska@suse.cz>
      
              PR gcov-profile/86536
      	* gcc.misc-tests/gcov-pr86536.c: New test.
      
      From-SVN: r262991
      Martin Liska committed
    • [libgomp, openacc, testsuite] Fix async logic in lib-12.f90 · 6dd58010
      In testcase lib-12.f90, all acc_async_test calls are placed in a location
      where they are not guaranteed to succeed, which explains why there's an xfail
      for the lower optimization levels.
      
      This patch fixes the problem by moving the acc_async_test calls to the correct
      locations.
      
      Reg-tested on x86_64 with nvptx accelerator.
      
      2018-07-26  Tom de Vries  <tdevries@suse.de>
      
      	* testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
      	to correct locations.  Remove xfail.
      
      From-SVN: r262990
      Tom de Vries committed
    • [libgomp, openacc, testsuite] Fix async/wait logic in lib-13.f90 · b2eb1779
      The purpose of the lib-13.f90 test-case is to test acc_wait_all_async.  The
      test indeed calls acc_wait_all_async, but then subsequentlys calls
      acc_wait_all, so the acc_wait_all_async functionality is not tested.
      Furthermore, all acc_async_test calls are placed in a location where they are
      not guaranteed to succeed, which explains why there's an xfail for the lower
      optimization levels.
      
      This patch fixes the problems by replacing acc_wait_all with an acc_wait on
      the async id used for the acc_wait_all_async call, and moving the
      acc_async_test calls to the correct locations.
      
      Reg-tested on x86_64 with nvptx accelerator.
      
      2018-07-26  Tom de Vries  <tdevries@suse.de>
      
      	* testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
      	acc_wait.  Move acc_async_test calls to correct locations.  Remove
      	xfail.
      
      From-SVN: r262989
      Tom de Vries committed
    • Daily bump. · a4955142
      From-SVN: r262988
      GCC Administrator committed
  4. 25 Jul, 2018 4 commits