svn commit: r326945 - in vendor/libc++/dist: . cmake/Modules docs fuzzing include include/experimental include/support/win32 lib lib/abi lib/abi/5.0 src src/experimental/filesystem src/include src/...

Dimitry Andric dim at FreeBSD.org
Mon Dec 18 20:12:14 UTC 2017


Author: dim
Date: Mon Dec 18 20:12:08 2017
New Revision: 326945
URL: https://svnweb.freebsd.org/changeset/base/326945

Log:
  Vendor import of libc++ trunk r321017:
  https://llvm.org/svn/llvm-project/libcxx/trunk@321017

Added:
  vendor/libc++/dist/fuzzing/
  vendor/libc++/dist/fuzzing/RoutineNames.txt   (contents, props changed)
  vendor/libc++/dist/fuzzing/fuzzing.cpp   (contents, props changed)
  vendor/libc++/dist/fuzzing/fuzzing.h   (contents, props changed)
  vendor/libc++/dist/test/libcxx/diagnostics/nodiscard.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/diagnostics/nodiscard.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/fuzzing/
  vendor/libc++/dist/test/libcxx/fuzzing/nth_element.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/fuzzing/partial_sort.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/fuzzing/partial_sort_copy.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/fuzzing/partition.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/fuzzing/partition_copy.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/fuzzing/regex_ECMAScript.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/fuzzing/regex_POSIX.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/fuzzing/regex_awk.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/fuzzing/regex_egrep.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/fuzzing/regex_extended.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/fuzzing/regex_grep.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/fuzzing/sort.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/fuzzing/stable_partition.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/fuzzing/stable_sort.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/fuzzing/unique.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/fuzzing/unique_copy.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/language.support/cxa_deleted_virtual.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/libcxx/utilities/variant/variant.variant/variant_size.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/algorithms/alg.sorting/alg.set.operations/set.union/set_union_move.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/associative/map/map.access/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/associative/multimap/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/associative/multiset/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/associative/set/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/container.adaptors/queue/queue.defn/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/container.adaptors/stack/stack.defn/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/array/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/array/empty.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/array/max_size.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/deque/deque.capacity/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/deque/deque.capacity/empty.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/deque/deque.capacity/size.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/forwardlist/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/forwardlist/empty.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/list/list.capacity/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/list/list.capacity/empty.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/list/list.capacity/size.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/vector.bool/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/vector.bool/empty.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/vector.bool/size.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/vector/vector.capacity/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/vector/vector.capacity/empty.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/sequences/vector/vector.capacity/size.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/unord/unord.map/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/unord/unord.map/empty.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/unord/unord.map/size.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/empty.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/size.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/empty.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/size.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/unord/unord.set/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/unord/unord.set/empty.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/containers/unord/unord.set/size.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.overview/types.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.overview/types.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/experimental/filesystem/class.path/path.member/path.decompose/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/pbump2gig.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/iterators/iterator.container/empty.array.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/iterators/iterator.container/empty.container.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/iterators/iterator.container/empty.initializer_list.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/iterators/iterator.primitives/iterator.traits/const_volatile_pointer.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/iterators/iterator.primitives/iterator.traits/volatile_pointer.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align_nothrow.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_nothrow.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new_array_ptr.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new_ptr.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align_nothrow.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_nothrow.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/language.support/support.dynamic/ptr.launder/
  vendor/libc++/dist/test/std/language.support/support.dynamic/ptr.launder/launder.nodiscard.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/language.support/support.dynamic/ptr.launder/launder.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/language.support/support.dynamic/ptr.launder/launder.types.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/re/re.alg/re.alg.match/exponential.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/re/re.alg/re.alg.search/exponential.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/re/re.alg/re.alg.search/invert_neg_word_search.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/re/re.grammar/excessive_brace_count.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/re/re.results/re.results.size/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/basic.string/string.capacity/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/basic.string/string.cons/string_view_assignment.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/basic.string/string.ends_with/
  vendor/libc++/dist/test/std/strings/basic.string/string.ends_with/ends_with.char.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/basic.string/string.ends_with/ends_with.ptr.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/basic.string/string.ends_with/ends_with.string_view.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_string_view.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_view.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/basic.string/string.starts_with/
  vendor/libc++/dist/test/std/strings/basic.string/string.starts_with/starts_with.char.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/basic.string/string.starts_with/starts_with.ptr.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/basic.string/string.starts_with/starts_with.string_view.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/string.view/string.view.capacity/empty.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/string.view/string.view.template/ends_with.char.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/string.view/string.view.template/ends_with.ptr.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/string.view/string.view.template/ends_with.string_view.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/string.view/string.view.template/starts_with.char.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/string.view/string.view.template/starts_with.ptr.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/strings/string.view/string.view.template/starts_with.string_view.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/thread/futures/futures.async/async.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size_hint.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/utilities/memory/allocator.traits/allocator.traits.members/incomplete_type_helper.h   (contents, props changed)
  vendor/libc++/dist/test/std/utilities/memory/default.allocator/allocator.members/allocate.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/utilities/memory/pointer.conversion/
  vendor/libc++/dist/test/std/utilities/memory/pointer.conversion/to_address.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/utilities/memory/unique.ptr/unique.ptr.special/io.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/utilities/memory/unique.ptr/unique.ptr.special/io.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.private.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.protected.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/utilities/meta/meta.rel/is_invocable.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_union.fail.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/utilities/meta/meta.trans/meta.trans.other/remove_cvref.pass.cpp   (contents, props changed)
  vendor/libc++/dist/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp   (contents, props changed)
Deleted:
  vendor/libc++/dist/lib/abi/5.0/
  vendor/libc++/dist/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.overview/nothing_to_do.pass.cpp
  vendor/libc++/dist/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.overview/nothing_to_do.pass.cpp
  vendor/libc++/dist/test/std/utilities/meta/meta.rel/is_callable.pass.cpp
  vendor/libc++/dist/test/std/utilities/meta/meta.rel/is_nothrow_callable.pass.cpp
  vendor/libc++/dist/test/std/utilities/optional/optional.nullopt/not_brace_initializable.fail.cpp
Modified:
  vendor/libc++/dist/.arcconfig
  vendor/libc++/dist/CMakeLists.txt
  vendor/libc++/dist/CREDITS.TXT
  vendor/libc++/dist/appveyor-reqs-install.cmd
  vendor/libc++/dist/cmake/Modules/HandleLibCXXABI.cmake
  vendor/libc++/dist/cmake/Modules/HandleOutOfTreeLLVM.cmake
  vendor/libc++/dist/docs/BuildingLibcxx.rst
  vendor/libc++/dist/docs/TestingLibcxx.rst
  vendor/libc++/dist/docs/UsingLibcxx.rst
  vendor/libc++/dist/docs/conf.py
  vendor/libc++/dist/include/CMakeLists.txt
  vendor/libc++/dist/include/__config
  vendor/libc++/dist/include/__config_site.in
  vendor/libc++/dist/include/__libcpp_version
  vendor/libc++/dist/include/__locale
  vendor/libc++/dist/include/__tree
  vendor/libc++/dist/include/algorithm
  vendor/libc++/dist/include/array
  vendor/libc++/dist/include/bitset
  vendor/libc++/dist/include/chrono
  vendor/libc++/dist/include/cstddef
  vendor/libc++/dist/include/deque
  vendor/libc++/dist/include/exception
  vendor/libc++/dist/include/experimental/algorithm
  vendor/libc++/dist/include/experimental/filesystem
  vendor/libc++/dist/include/experimental/iterator
  vendor/libc++/dist/include/forward_list
  vendor/libc++/dist/include/fstream
  vendor/libc++/dist/include/future
  vendor/libc++/dist/include/istream
  vendor/libc++/dist/include/iterator
  vendor/libc++/dist/include/list
  vendor/libc++/dist/include/locale
  vendor/libc++/dist/include/map
  vendor/libc++/dist/include/memory
  vendor/libc++/dist/include/new
  vendor/libc++/dist/include/optional
  vendor/libc++/dist/include/ostream
  vendor/libc++/dist/include/queue
  vendor/libc++/dist/include/random
  vendor/libc++/dist/include/regex
  vendor/libc++/dist/include/scoped_allocator
  vendor/libc++/dist/include/set
  vendor/libc++/dist/include/sstream
  vendor/libc++/dist/include/stack
  vendor/libc++/dist/include/streambuf
  vendor/libc++/dist/include/string
  vendor/libc++/dist/include/string_view
  vendor/libc++/dist/include/support/win32/locale_win32.h
  vendor/libc++/dist/include/system_error
  vendor/libc++/dist/include/tuple
  vendor/libc++/dist/include/type_traits
  vendor/libc++/dist/include/typeinfo
  vendor/libc++/dist/include/unordered_map
  vendor/libc++/dist/include/unordered_set
  vendor/libc++/dist/include/utility
  vendor/libc++/dist/include/variant
  vendor/libc++/dist/include/vector
  vendor/libc++/dist/include/wchar.h
  vendor/libc++/dist/lib/CMakeLists.txt
  vendor/libc++/dist/lib/abi/CHANGELOG.TXT
  vendor/libc++/dist/lib/abi/x86_64-apple-darwin16.abilist
  vendor/libc++/dist/lib/libc++abi.exp
  vendor/libc++/dist/lib/libc++abi2.exp
  vendor/libc++/dist/lib/libc++sjlj-abi.exp
  vendor/libc++/dist/src/exception.cpp
  vendor/libc++/dist/src/experimental/filesystem/directory_iterator.cpp
  vendor/libc++/dist/src/experimental/filesystem/operations.cpp
  vendor/libc++/dist/src/include/atomic_support.h
  vendor/libc++/dist/src/include/config_elast.h
  vendor/libc++/dist/src/include/refstring.h
  vendor/libc++/dist/src/iostream.cpp
  vendor/libc++/dist/src/locale.cpp
  vendor/libc++/dist/src/new.cpp
  vendor/libc++/dist/src/random.cpp
  vendor/libc++/dist/src/strstream.cpp
  vendor/libc++/dist/src/support/runtime/exception_fallback.ipp
  vendor/libc++/dist/src/support/runtime/exception_msvc.ipp
  vendor/libc++/dist/src/support/runtime/exception_pointer_msvc.ipp
  vendor/libc++/dist/src/support/runtime/new_handler_fallback.ipp
  vendor/libc++/dist/src/support/win32/locale_win32.cpp
  vendor/libc++/dist/src/system_error.cpp
  vendor/libc++/dist/src/typeinfo.cpp
  vendor/libc++/dist/test/CMakeLists.txt
  vendor/libc++/dist/test/libcxx/algorithms/debug_less.pass.cpp
  vendor/libc++/dist/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_rvalue_db1.pass.cpp
  vendor/libc++/dist/test/libcxx/containers/unord/next_pow2.pass.cpp
  vendor/libc++/dist/test/libcxx/depr/depr.c.headers/complex.h.pass.cpp
  vendor/libc++/dist/test/libcxx/depr/depr.c.headers/tgmath_h.pass.cpp
  vendor/libc++/dist/test/libcxx/depr/depr.function.objects/depr.adaptors.cxx1z.pass.cpp
  vendor/libc++/dist/test/libcxx/experimental/filesystem/class.path/path.itr/iterator_db.pass.cpp
  vendor/libc++/dist/test/libcxx/experimental/filesystem/class.path/path.itr/reverse_iterator_produces_diagnostic.fail.cpp
  vendor/libc++/dist/test/libcxx/iterators/trivial_iterators.pass.cpp
  vendor/libc++/dist/test/libcxx/numerics/complex.number/ccmplx/ccomplex.pass.cpp
  vendor/libc++/dist/test/libcxx/selftest/test_macros.pass.cpp
  vendor/libc++/dist/test/libcxx/strings/iterators.noexcept.pass.cpp
  vendor/libc++/dist/test/libcxx/thread/thread.condition/PR30202_notify_from_pthread_created_thread.pass.cpp
  vendor/libc++/dist/test/libcxx/type_traits/lazy_metafunctions.pass.cpp
  vendor/libc++/dist/test/libcxx/utilities/function.objects/func.require/bullet_4_5_6.pass.cpp
  vendor/libc++/dist/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/function_type_default_deleter.fail.cpp
  vendor/libc++/dist/test/libcxx/utilities/tuple/tuple.tuple/diagnose_reference_binding.fail.cpp
  vendor/libc++/dist/test/libcxx/utilities/tuple/tuple.tuple/diagnose_reference_binding.pass.cpp
  vendor/libc++/dist/test/std/algorithms/alg.modifying.operations/alg.generate/generate_n.pass.cpp
  vendor/libc++/dist/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp
  vendor/libc++/dist/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
  vendor/libc++/dist/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
  vendor/libc++/dist/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp
  vendor/libc++/dist/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp
  vendor/libc++/dist/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
  vendor/libc++/dist/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp
  vendor/libc++/dist/test/std/algorithms/alg.sorting/alg.clamp/clamp.pass.cpp
  vendor/libc++/dist/test/std/algorithms/alg.sorting/alg.merge/inplace_merge.pass.cpp
  vendor/libc++/dist/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
  vendor/libc++/dist/test/std/algorithms/alg.sorting/alg.min.max/min_element_comp.pass.cpp
  vendor/libc++/dist/test/std/atomics/atomics.types.generic/integral.pass.cpp
  vendor/libc++/dist/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_helpers.h
  vendor/libc++/dist/test/std/containers/Emplaceable.h
  vendor/libc++/dist/test/std/containers/NotConstructible.h
  vendor/libc++/dist/test/std/containers/associative/map/map.access/at.pass.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.cons/compare.pass.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.cons/compare_copy_constructible.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/count0.pass.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/count1.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/count2.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/count3.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/equal_range0.pass.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/equal_range1.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/equal_range2.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/equal_range3.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/find0.pass.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/find1.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/find2.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/find3.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/lower_bound0.pass.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/lower_bound1.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/lower_bound2.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/lower_bound3.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/upper_bound0.pass.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/upper_bound1.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/upper_bound2.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/map/map.ops/upper_bound3.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.cons/compare.pass.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.cons/compare_copy_constructible.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/count0.pass.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/count1.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/count2.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/count3.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/equal_range0.pass.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/equal_range1.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/equal_range2.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/equal_range3.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/find0.pass.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/find1.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/find2.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/find3.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/lower_bound0.pass.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/lower_bound1.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/lower_bound2.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/lower_bound3.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/upper_bound0.pass.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/upper_bound1.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/upper_bound2.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multimap/multimap.ops/upper_bound3.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/multiset/equal_range.pass.cpp
  vendor/libc++/dist/test/std/containers/associative/multiset/multiset.cons/compare.pass.cpp
  vendor/libc++/dist/test/std/containers/associative/multiset/multiset.cons/compare_copy_constructible.fail.cpp
  vendor/libc++/dist/test/std/containers/associative/set/set.cons/compare.pass.cpp
  vendor/libc++/dist/test/std/containers/associative/set/set.cons/compare_copy_constructible.fail.cpp
  vendor/libc++/dist/test/std/containers/container.adaptors/priority.queue/types.fail.cpp
  vendor/libc++/dist/test/std/containers/container.adaptors/queue/queue.defn/types.fail.cpp
  vendor/libc++/dist/test/std/containers/container.adaptors/stack/stack.defn/types.fail.cpp
  vendor/libc++/dist/test/std/containers/sequences/array/at.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/array/front_back.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/array/indexing.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/deque/deque.cons/move_noexcept.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/deque/deque.modifiers/push_back_exception_safety.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/deque/deque.modifiers/push_front_exception_safety.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/deque/deque.special/swap_noexcept.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/forwardlist/forwardlist.cons/move_noexcept.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/list/list.special/swap_noexcept.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/list/types.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/vector.bool/construct_default.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/vector.bool/reference.swap.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/vector.bool/swap_noexcept.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/vector/vector.cons/construct_default.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/vector/vector.data/data.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/vector/vector.data/data_const.pass.cpp
  vendor/libc++/dist/test/std/containers/sequences/vector/vector.special/swap_noexcept.pass.cpp
  vendor/libc++/dist/test/std/containers/test_compare.h
  vendor/libc++/dist/test/std/containers/unord/unord.map/rehash.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/compare_copy_constructible.fail.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/hash_copy_constructible.fail.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.elem/at.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.modifiers/insert_or_assign.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.swap/swap_noexcept.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/rehash.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/compare_copy_constructible.fail.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/hash_copy_constructible.fail.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/rehash.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/compare_copy_constructible.fail.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/hash_copy_constructible.fail.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/rehash.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/compare_copy_constructible.fail.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/default.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/hash_copy_constructible.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.c.headers/complex.h.pass.cpp
  vendor/libc++/dist/test/std/depr/depr.c.headers/tgmath_h.pass.cpp
  vendor/libc++/dist/test/std/depr/depr.c.headers/uchar_h.pass.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun.cxx1z.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun1.cxx1z.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun1_ref_t.cxx1z.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun1_t.cxx1z.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_ref.cxx1z.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_ref1.cxx1z.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_ref_t.cxx1z.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_t.cxx1z.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun.cxx1z.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun1.cxx1z.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun1_ref_t.cxx1z.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun1_t.cxx1z.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun_ref.cxx1z.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun_ref1.cxx1z.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun_ref_t.cxx1z.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun_t.cxx1z.fail.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.base/binary_function.pass.cpp
  vendor/libc++/dist/test/std/depr/depr.function.objects/depr.base/unary_function.pass.cpp
  vendor/libc++/dist/test/std/diagnostics/syserr/is_error_code_enum.pass.cpp
  vendor/libc++/dist/test/std/diagnostics/syserr/is_error_condition_enum.pass.cpp
  vendor/libc++/dist/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
  vendor/libc++/dist/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
  vendor/libc++/dist/test/std/experimental/algorithms/alg.search/search.pass.cpp
  vendor/libc++/dist/test/std/experimental/any/any.class/any.assign/value_non_copyable_assign.fail.cpp
  vendor/libc++/dist/test/std/experimental/any/any.class/any.cons/non_copyable_value.fail.cpp
  vendor/libc++/dist/test/std/experimental/any/any.nonmembers/any.cast/reference_types.fail.cpp
  vendor/libc++/dist/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
  vendor/libc++/dist/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/increment.pass.cpp
  vendor/libc++/dist/test/std/experimental/filesystem/class.path/path.member/path.decompose/path.decompose.pass.cpp
  vendor/libc++/dist/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
  vendor/libc++/dist/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
  vendor/libc++/dist/test/std/experimental/filesystem/fs.op.funcs/fs.op.copy/copy.pass.cpp
  vendor/libc++/dist/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
  vendor/libc++/dist/test/std/experimental/filesystem/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
  vendor/libc++/dist/test/std/experimental/func/func.searchers/func.searchers.boyer_moore/hash.pass.cpp
  vendor/libc++/dist/test/std/experimental/func/func.searchers/func.searchers.boyer_moore/hash.pred.pass.cpp
  vendor/libc++/dist/test/std/experimental/func/func.searchers/func.searchers.boyer_moore_horspool/hash.pass.cpp
  vendor/libc++/dist/test/std/experimental/func/func.searchers/func.searchers.boyer_moore_horspool/hash.pred.pass.cpp
  vendor/libc++/dist/test/std/experimental/iterator/ostream.joiner/ostream.joiner.cons/ostream_joiner.cons.pass.cpp
  vendor/libc++/dist/test/std/experimental/iterator/ostream.joiner/ostream.joiner.ops/ostream_joiner.op.assign.pass.cpp
  vendor/libc++/dist/test/std/experimental/language.support/support.coroutines/end.to.end/fullexpr-dtor.pass.cpp
  vendor/libc++/dist/test/std/experimental/memory/memory.resource/memory.resource.priv/protected_members.fail.cpp
  vendor/libc++/dist/test/std/experimental/numeric/numeric.ops/numeric.ops.lcm/lcm.pass.cpp
  vendor/libc++/dist/test/std/experimental/optional/optional.syn/optional_includes_initializer_list.pass.cpp
  vendor/libc++/dist/test/std/experimental/string.view/string.view.cons/from_string1.fail.cpp
  vendor/libc++/dist/test/std/experimental/utilities/tuple/header.tuple.synop/includes.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/ext.manip/put_money.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/ext.manip/put_time.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/streambuf.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf_chart.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size_chart.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/bool.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/double.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/float.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/int.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long_double.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long_long.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/short.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_int.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long_long.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_short.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/CharT.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/CharT_pointer.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/char.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/char_pointer.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/char_to_wide.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/char_to_wide_pointer.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/signed_char.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/signed_char_pointer.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/unsigned_char.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/unsigned_char_pointer.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters/basic_ios.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters/ios_base.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters/ostream.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters/streambuf.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.manip/endl.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.manip/ends.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.rvalue/CharT_pointer.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.unformatted/put.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.unformatted/write.pass.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/quoted.manip/quoted_char.fail.cpp
  vendor/libc++/dist/test/std/input.output/iostream.format/quoted.manip/quoted_traits.fail.cpp
  vendor/libc++/dist/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
  vendor/libc++/dist/test/std/input.output/string.streams/stringstream.cons/string.pass.cpp
  vendor/libc++/dist/test/std/iterators/iterator.container/data.pass.cpp
  vendor/libc++/dist/test/std/iterators/iterator.container/empty.pass.cpp
  vendor/libc++/dist/test/std/iterators/iterator.container/size.pass.cpp
  vendor/libc++/dist/test/std/iterators/iterator.primitives/iterator.operations/next.pass.cpp
  vendor/libc++/dist/test/std/iterators/iterator.primitives/iterator.operations/prev.pass.cpp
  vendor/libc++/dist/test/std/iterators/iterator.primitives/iterator.traits/empty.pass.cpp
  vendor/libc++/dist/test/std/iterators/iterator.range/begin-end.fail.cpp
  vendor/libc++/dist/test/std/iterators/iterator.range/begin-end.pass.cpp
  vendor/libc++/dist/test/std/iterators/iterators.general/gcc_workaround.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/insert.iterators/insert.iterator/types.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/make_move_iterator.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/default.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/default.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/iter.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/reverse_iterator.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.make/make_reverse_iterator.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op!=/test.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op++/post.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op++/pre.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op+/difference_type.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op-/difference_type.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op.star/op_star.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op=/reverse_iterator.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op==/test.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opdiff/test.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opgt/test.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opgt=/test.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.oplt/test.pass.cpp
  vendor/libc++/dist/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.oplt=/test.pass.cpp
  vendor/libc++/dist/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp
  vendor/libc++/dist/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/equal.pass.cpp
  vendor/libc++/dist/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/default.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/align_val_t.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_replace.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow_replace.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_replace.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array11.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_replace.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_nothrow_replace.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete11.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.exception/except.nested/rethrow_if_nested.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.initlist/support.initlist.access/access.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.initlist/support.initlist.range/begin_end.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/and.assign.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/and.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/lshift.assign.fail.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/lshift.assign.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/lshift.fail.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/lshift.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/not.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/or.assign.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/or.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/rshift.assign.fail.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/rshift.assign.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/rshift.fail.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/rshift.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/to_integer.fail.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/to_integer.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/xor.assign.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.types/byteops/xor.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.types/nullptr_t.pass.cpp
  vendor/libc++/dist/test/std/localization/locale.categories/category.ctype/ctype_base.pass.cpp
  vendor/libc++/dist/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
  vendor/libc++/dist/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
  vendor/libc++/dist/test/std/localization/locale.categories/category.monetary/locale.moneypunct/types.pass.cpp
  vendor/libc++/dist/test/std/localization/locales/locale/locale.types/locale.category/category.pass.cpp
  vendor/libc++/dist/test/std/numerics/c.math/ctgmath.pass.cpp
  vendor/libc++/dist/test/std/numerics/complex.number/ccmplx/ccomplex.pass.cpp
  vendor/libc++/dist/test/std/numerics/complex.number/complex.transcendentals/acos.pass.cpp
  vendor/libc++/dist/test/std/numerics/complex.number/complex.transcendentals/acosh.pass.cpp
  vendor/libc++/dist/test/std/numerics/complex.number/complex.transcendentals/asin.pass.cpp
  vendor/libc++/dist/test/std/numerics/complex.number/complex.transcendentals/asinh.pass.cpp
  vendor/libc++/dist/test/std/numerics/complex.number/complex.transcendentals/atanh.pass.cpp
  vendor/libc++/dist/test/std/numerics/complex.number/complex.transcendentals/cos.pass.cpp
  vendor/libc++/dist/test/std/numerics/complex.number/complex.transcendentals/cosh.pass.cpp
  vendor/libc++/dist/test/std/numerics/complex.number/complex.transcendentals/sin.pass.cpp
  vendor/libc++/dist/test/std/numerics/complex.number/complex.transcendentals/sinh.pass.cpp
  vendor/libc++/dist/test/std/numerics/complex.number/complex.transcendentals/tanh.pass.cpp
  vendor/libc++/dist/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan.pass.cpp
  vendor/libc++/dist/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan_op.pass.cpp
  vendor/libc++/dist/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan_op_init.pass.cpp
  vendor/libc++/dist/test/std/numerics/numeric.ops/numeric.ops.lcm/lcm.pass.cpp
  vendor/libc++/dist/test/std/numerics/numeric.ops/reduce/reduce_init_op.pass.cpp
  vendor/libc++/dist/test/std/numerics/numeric.ops/transform.exclusive.scan/transform_exclusive_scan_init_bop_uop.pass.cpp
  vendor/libc++/dist/test/std/numerics/numeric.ops/transform.inclusive.scan/transform_inclusive_scan_bop_uop.pass.cpp
  vendor/libc++/dist/test/std/numerics/numeric.ops/transform.inclusive.scan/transform_inclusive_scan_bop_uop_init.pass.cpp
  vendor/libc++/dist/test/std/numerics/numeric.ops/transform.reduce/transform_reduce_iter_iter_init_bop_uop.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.adapt/rand.adapt.disc/assign.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.adapt/rand.adapt.disc/copy.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.adapt/rand.adapt.disc/discard.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.adapt/rand.adapt.disc/values.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/assign.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/copy.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/discard.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/assign.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/copy.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/ctor_engine_copy.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/ctor_engine_move.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/discard.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/values.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.device/eval.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/eval.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/eval.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/eval.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/eval.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/eval.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.eng/rand.eng.lcong/discard.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.eng/rand.eng.mers/assign.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.eng/rand.eng.mers/copy.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.eng/rand.eng.mers/discard.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.eng/rand.eng.mers/values.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.eng/rand.eng.sub/assign.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.eng/rand.eng.sub/copy.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.eng/rand.eng.sub/discard.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.eng/rand.eng.sub/values.pass.cpp
  vendor/libc++/dist/test/std/re/re.alg/re.alg.search/grep.pass.cpp
  vendor/libc++/dist/test/std/re/re.iter/re.regiter/re.regiter.incr/post.pass.cpp
  vendor/libc++/dist/test/std/re/re.regex/re.regex.const/constants.pass.cpp
  vendor/libc++/dist/test/std/re/re.regex/re.regex.construct/bad_backref.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.access/at.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.capacity/empty.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.cons/alloc.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.cons/copy_alloc.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.cons/move_alloc.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.cons/move_assign_noexcept.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.cons/string_view.fail.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.modifiers/string_append/pointer.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.modifiers/string_append/pointer_size.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.modifiers/string_append/push_back.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.modifiers/string_assign/pointer.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.modifiers/string_assign/pointer_size.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer_size.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_iter_iter.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_pointer.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_pointer_size.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.nonmembers/string.special/swap_noexcept.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.ops/string_compare/size_size_T_size_size.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer_size.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.ops/string_compare/size_size_string_size_size.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.ops/string_compare/size_size_string_view.pass.cpp
  vendor/libc++/dist/test/std/strings/basic.string/string.ops/string_find.last.not.of/string_view_size.pass.cpp
  vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/lt.pass.cpp
  vendor/libc++/dist/test/std/strings/string.view/string.view.access/at.pass.cpp
  vendor/libc++/dist/test/std/strings/string.view/string.view.capacity/capacity.pass.cpp
  vendor/libc++/dist/test/std/strings/string.view/string.view.cons/default.pass.cpp
  vendor/libc++/dist/test/std/strings/string.view/string.view.cons/from_literal.pass.cpp
  vendor/libc++/dist/test/std/strings/string.view/string.view.cons/from_ptr_len.pass.cpp
  vendor/libc++/dist/test/std/strings/string.view/string.view.cons/from_string.pass.cpp
  vendor/libc++/dist/test/std/strings/string.view/string.view.cons/from_string1.fail.cpp
  vendor/libc++/dist/test/std/strings/string.view/string_view.literals/literal.pass.cpp
  vendor/libc++/dist/test/std/thread/futures/futures.async/async_race.pass.cpp
  vendor/libc++/dist/test/std/thread/futures/futures.shared_future/wait_until.pass.cpp
  vendor/libc++/dist/test/std/thread/futures/futures.task/futures.task.members/ctor_func_alloc.pass.cpp
  vendor/libc++/dist/test/std/thread/futures/futures.task/futures.task.nonmembers/uses_allocator.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.lock.algorithm/try_lock.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock_for.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock_until.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_assign.fail.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_for.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_until.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock_shared.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock_shared.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock_shared.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until_deadlock_bug.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/default.pass.cpp
  vendor/libc++/dist/test/std/thread/thread.threads/thread.thread.this/sleep_until.pass.cpp
  vendor/libc++/dist/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_type.pass.cpp
  vendor/libc++/dist/test/std/utilities/allocator.adaptor/allocator.adaptor.types/is_always_equal.pass.cpp
  vendor/libc++/dist/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp
  vendor/libc++/dist/test/std/utilities/any/any.nonmembers/any.cast/any_cast_request_invalid_value_category.fail.cpp
  vendor/libc++/dist/test/std/utilities/any/any.nonmembers/any.cast/const_correctness.fail.cpp
  vendor/libc++/dist/test/std/utilities/any/any.nonmembers/any.cast/not_copy_constructible.fail.cpp
  vendor/libc++/dist/test/std/utilities/any/any.nonmembers/any.cast/reference_types.fail.cpp
  vendor/libc++/dist/test/std/utilities/any/any.nonmembers/make_any.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/arithmetic.operations/transparent.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/bitwise.operations/transparent.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/comparisons/transparent.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/func.invoke/invoke_feature_test_macro.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/func.not_fn/not_fn.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/func.require/binary_function.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/func.require/unary_function.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/func.wrap/func.wrap.func/derive_from.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.fail.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.fail.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/logical.operations/transparent.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/refwrap/refwrap.access/conversion.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/refwrap/refwrap.assign/copy_assign.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/refwrap/refwrap.const/copy_ctor.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/refwrap/weak_result.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/unord.hash/non_enum.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate_hint.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/allocator.traits/allocator.traits.members/construct.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/allocator.traits/allocator.traits.members/deallocate.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/allocator.traits/allocator.traits.members/destroy.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/allocator.traits/allocator.traits.members/select_on_container_copy_construction.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/allocator.traits/allocator.traits.types/is_always_equal.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/specialized.algorithms/specialized.addressof/addressof.temp.fail.cpp
  vendor/libc++/dist/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct_n.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/uninitialized_copy.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move_n.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/util.smartptr/util.smartptr.enab/enable_shared_from_this.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.ownerless/owner_less.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/owner_before_shared_ptr.pass.cpp
  vendor/libc++/dist/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/owner_before_weak_ptr.pass.cpp
  vendor/libc++/dist/test/std/utilities/meta/meta.trans/meta.trans.other/decay.pass.cpp
  vendor/libc++/dist/test/std/utilities/meta/meta.trans/meta.trans.other/result_of.pass.cpp
  vendor/libc++/dist/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp
  vendor/libc++/dist/test/std/utilities/meta/meta.unary/meta.unary.cat/is_function.pass.cpp
  vendor/libc++/dist/test/std/utilities/meta/meta.unary/meta.unary.comp/is_fundamental.pass.cpp
  vendor/libc++/dist/test/std/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp
  vendor/libc++/dist/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp
  vendor/libc++/dist/test/std/utilities/optional/optional.nullopt/nullopt_t.fail.cpp
  vendor/libc++/dist/test/std/utilities/optional/optional.nullopt/nullopt_t.pass.cpp
  vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.ctor/copy.fail.cpp
  vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.ctor/move.fail.cpp
  vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp
  vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp
  vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp
  vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp
  vendor/libc++/dist/test/std/utilities/optional/optional.object/optional_requires_destructible_object.fail.cpp
  vendor/libc++/dist/test/std/utilities/optional/optional.syn/optional_includes_initializer_list.pass.cpp
  vendor/libc++/dist/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/move_convert.single.pass.cpp
  vendor/libc++/dist/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.runtime.fail.cpp
  vendor/libc++/dist/test/std/utilities/template.bitset/bitset.members/to_ullong.pass.cpp
  vendor/libc++/dist/test/std/utilities/template.bitset/bitset.members/to_ulong.pass.cpp
  vendor/libc++/dist/test/std/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp
  vendor/libc++/dist/test/std/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp
  vendor/libc++/dist/test/std/utilities/time/time.clock/time.clock.system/consistency.pass.cpp
  vendor/libc++/dist/test/std/utilities/time/time.duration/time.duration.arithmetic/op_++.pass.cpp
  vendor/libc++/dist/test/std/utilities/time/time.duration/time.duration.arithmetic/op_++int.pass.cpp
  vendor/libc++/dist/test/std/utilities/time/time.duration/time.duration.arithmetic/op_+=.pass.cpp
  vendor/libc++/dist/test/std/utilities/tuple/tuple.general/ignore.pass.cpp
  vendor/libc++/dist/test/std/utilities/tuple/tuple.general/tuple.smartptr.pass.cpp
  vendor/libc++/dist/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.pass.cpp
  vendor/libc++/dist/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc.pass.cpp
  vendor/libc++/dist/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp
  vendor/libc++/dist/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/implicit_deduction_guides.pass.cpp
  vendor/libc++/dist/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.fail.cpp
  vendor/libc++/dist/test/std/utilities/utility/as_const/as_const.fail.cpp
  vendor/libc++/dist/test/std/utilities/utility/as_const/as_const.pass.cpp
  vendor/libc++/dist/test/std/utilities/utility/forward/forward.fail.cpp
  vendor/libc++/dist/test/std/utilities/utility/pairs/pair.astuple/tuple_element.fail.cpp
  vendor/libc++/dist/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V.pass.cpp
  vendor/libc++/dist/test/std/utilities/utility/pairs/pairs.pair/rv_pair_U_V.pass.cpp
  vendor/libc++/dist/test/std/utilities/utility/synopsis.pass.cpp
  vendor/libc++/dist/test/std/utilities/variant/variant.get/get_index.pass.cpp
  vendor/libc++/dist/test/std/utilities/variant/variant.get/get_type.pass.cpp
  vendor/libc++/dist/test/std/utilities/variant/variant.helpers/variant_alternative.fail.cpp
  vendor/libc++/dist/test/std/utilities/variant/variant.visit/visit.pass.cpp
  vendor/libc++/dist/test/support/any_helpers.h
  vendor/libc++/dist/test/support/container_test_types.h
  vendor/libc++/dist/test/support/counting_predicates.hpp
  vendor/libc++/dist/test/support/emplace_constructible.h
  vendor/libc++/dist/test/support/experimental_any_helpers.h
  vendor/libc++/dist/test/support/msvc_stdlib_force_include.hpp
  vendor/libc++/dist/test/support/nasty_containers.hpp
  vendor/libc++/dist/test/support/nasty_macros.hpp
  vendor/libc++/dist/test/support/platform_support.h
  vendor/libc++/dist/test/support/test_convertible.hpp
  vendor/libc++/dist/test/support/test_macros.h
  vendor/libc++/dist/utils/libcxx/compiler.py
  vendor/libc++/dist/utils/libcxx/test/config.py
  vendor/libc++/dist/utils/libcxx/test/target_info.py
  vendor/libc++/dist/utils/merge_archives.py
  vendor/libc++/dist/www/atomic_design.html
  vendor/libc++/dist/www/atomic_design_a.html
  vendor/libc++/dist/www/atomic_design_b.html
  vendor/libc++/dist/www/atomic_design_c.html
  vendor/libc++/dist/www/cxx1y_status.html
  vendor/libc++/dist/www/cxx1z_status.html
  vendor/libc++/dist/www/cxx2a_status.html
  vendor/libc++/dist/www/index.html
  vendor/libc++/dist/www/ts1z_status.html
  vendor/libc++/dist/www/type_traits_design.html
  vendor/libc++/dist/www/upcoming_meeting.html

Modified: vendor/libc++/dist/.arcconfig
==============================================================================
--- vendor/libc++/dist/.arcconfig	Mon Dec 18 20:12:01 2017	(r326944)
+++ vendor/libc++/dist/.arcconfig	Mon Dec 18 20:12:08 2017	(r326945)
@@ -1,4 +1,4 @@
 {
-  "project_id" : "libcxx",
+  "repository.callsign" : "CXX",
   "conduit_uri" : "https://reviews.llvm.org/"
 }

Modified: vendor/libc++/dist/CMakeLists.txt
==============================================================================
--- vendor/libc++/dist/CMakeLists.txt	Mon Dec 18 20:12:01 2017	(r326944)
+++ vendor/libc++/dist/CMakeLists.txt	Mon Dec 18 20:12:08 2017	(r326945)
@@ -23,7 +23,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR
   project(libcxx CXX C)
 
   set(PACKAGE_NAME libcxx)
-  set(PACKAGE_VERSION 5.0.0)
+  set(PACKAGE_VERSION 6.0.0svn)
   set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
   set(PACKAGE_BUGREPORT "llvm-bugs at lists.llvm.org")
 
@@ -99,6 +99,9 @@ cmake_dependent_option(LIBCXX_INSTALL_EXPERIMENTAL_LIB
         "LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY;LIBCXX_INSTALL_LIBRARY" OFF)
 set(LIBCXX_ABI_VERSION 1 CACHE STRING "ABI version of libc++.")
 option(LIBCXX_ABI_UNSTABLE "Unstable ABI of libc++." OFF)
+option(LIBCXX_ABI_FORCE_ITANIUM "Ignore auto-detection and force use of the Itanium ABI.")
+option(LIBCXX_ABI_FORCE_MICROSOFT "Ignore auto-detection and force use of the Microsoft ABI.")
+set(LIBCXX_ABI_DEFINES "" CACHE STRING "A semicolon separated list of ABI macros to define in the site config header.")
 option(LIBCXX_USE_COMPILER_RT "Use compiler-rt instead of libgcc" OFF)
 
 if (NOT LIBCXX_ENABLE_SHARED AND NOT LIBCXX_ENABLE_STATIC)
@@ -337,6 +340,10 @@ if (LIBCXX_HAS_MUSL_LIBC AND NOT LIBCXX_INSTALL_SUPPOR
                       "when building for Musl with LIBCXX_HAS_MUSL_LIBC.")
 endif()
 
+if (LIBCXX_ABI_FORCE_ITANIUM AND LIBCXX_ABI_FORCE_MICROSOFT)
+  message(FATAL_ERROR "Only one of LIBCXX_ABI_FORCE_ITANIUM and LIBCXX_ABI_FORCE_MICROSOFT can be specified.")
+endif ()
+
 #===============================================================================
 # Configure System
 #===============================================================================
@@ -594,6 +601,8 @@ if (NOT LIBCXX_ABI_VERSION EQUAL "1")
   config_define(${LIBCXX_ABI_VERSION} _LIBCPP_ABI_VERSION)
 endif()
 config_define_if(LIBCXX_ABI_UNSTABLE _LIBCPP_ABI_UNSTABLE)
+config_define_if(LIBCXX_ABI_FORCE_ITANIUM _LIBCPP_ABI_FORCE_ITANIUM)
+config_define_if(LIBCXX_ABI_FORCE_MICROSOFT _LIBCPP_ABI_FORCE_MICROSOFT)
 
 config_define_if_not(LIBCXX_ENABLE_GLOBAL_FILESYSTEM_NAMESPACE _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE)
 config_define_if_not(LIBCXX_ENABLE_STDIN _LIBCPP_HAS_NO_STDIN)
@@ -606,7 +615,20 @@ config_define_if(LIBCXX_HAS_PTHREAD_API _LIBCPP_HAS_TH
 config_define_if(LIBCXX_HAS_EXTERNAL_THREAD_API _LIBCPP_HAS_THREAD_API_EXTERNAL)
 config_define_if(LIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY _LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL)
 config_define_if(LIBCXX_HAS_MUSL_LIBC _LIBCPP_HAS_MUSL_LIBC)
+config_define_if(LIBCXX_NO_VCRUNTIME _LIBCPP_NO_VCRUNTIME)
 
+if (LIBCXX_ABI_DEFINES)
+  set(abi_defines)
+  foreach (abi_define ${LIBCXX_ABI_DEFINES})
+    if (NOT abi_define MATCHES "^_LIBCPP_ABI_")
+      message(SEND_ERROR "Invalid ABI macro ${abi_define} in LIBCXX_ABI_DEFINES")
+    endif()
+    list(APPEND abi_defines "#define ${abi_define}")
+  endforeach()
+  string(REPLACE ";" "\n" abi_defines "${abi_defines}")
+  config_define(${abi_defines} _LIBCPP_ABI_DEFINES)
+endif()
+
 # By default libc++ on Windows expects to use a shared library, which requires
 # the headers to use DLL import/export semantics. However when building a
 # static library only we modify the headers to disable DLL import/export.
@@ -615,9 +637,10 @@ if (DEFINED WIN32 AND LIBCXX_ENABLE_STATIC AND NOT LIB
   config_define(ON _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
 endif()
 
+set(site_config_path "${LIBCXX_BINARY_DIR}/__config_site")
 if (LIBCXX_NEEDS_SITE_CONFIG)
   configure_file("include/__config_site.in"
-                 "${LIBCXX_BINARY_DIR}/__config_site"
+                 "${site_config_path}"
                  @ONLY)
 
   # Provide the config definitions by included the generated __config_site
@@ -627,6 +650,11 @@ if (LIBCXX_NEEDS_SITE_CONFIG)
   else()
     add_compile_flags("-include ${LIBCXX_BINARY_DIR}/__config_site")
   endif()
+else()
+  if (EXISTS "${site_config_path}")
+    message(STATUS "Removing stale site configuration ${site_config_path}")
+    file(REMOVE "${site_config_path}")
+  endif()
 endif()
 
 #===============================================================================
@@ -647,11 +675,22 @@ endif()
 #
 # However, since some submission systems strip test/ subdirectories, check for
 # it before adding it.
+
 if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/test")
   add_subdirectory(test)
 endif()
 if (LIBCXX_INCLUDE_TESTS)
   add_subdirectory(lib/abi)
+endif()
+
+if (LIBCXX_STANDALONE_BUILD AND EXISTS "${LLVM_MAIN_SRC_DIR}/utils/llvm-lit")
+  include(AddLLVM) # for get_llvm_lit_path
+  # Make sure the llvm-lit script is generated into the bin directory, and do
+  # it after adding all tests, since the generated script will only work
+  # correctly discovered tests against test locations from the source tree that
+  # have already been discovered.
+  add_subdirectory(${LLVM_MAIN_SRC_DIR}/utils/llvm-lit
+                   ${CMAKE_CURRENT_BINARY_DIR}/llvm-lit)
 endif()
 
 if (LIBCXX_INCLUDE_DOCS)

Modified: vendor/libc++/dist/CREDITS.TXT
==============================================================================
--- vendor/libc++/dist/CREDITS.TXT	Mon Dec 18 20:12:01 2017	(r326944)
+++ vendor/libc++/dist/CREDITS.TXT	Mon Dec 18 20:12:08 2017	(r326945)
@@ -41,6 +41,10 @@ N: Jonathan B Coe
 E: jbcoe at me.com
 D: Implementation of propagate_const.
 
+N: Glen Joseph Fernandes
+E: glenjofe at gmail.com
+D: Implementation of to_address.
+
 N: Eric Fiselier
 E: eric at efcs.ca
 D: LFTS support, patches and bug fixes.

Modified: vendor/libc++/dist/appveyor-reqs-install.cmd
==============================================================================
--- vendor/libc++/dist/appveyor-reqs-install.cmd	Mon Dec 18 20:12:01 2017	(r326944)
+++ vendor/libc++/dist/appveyor-reqs-install.cmd	Mon Dec 18 20:12:08 2017	(r326945)
@@ -9,7 +9,7 @@ cd C:\projects\deps
 :: Setup Compiler
 ::###########################################################################
 if NOT EXIST llvm-installer.exe (
-  appveyor DownloadFile http://llvm.org/pre-releases/win-snapshots/LLVM-5.0.0-r303050-win32.exe -FileName llvm-installer.exe
+  appveyor DownloadFile http://prereleases.llvm.org/win-snapshots/LLVM-6.0.0-r316086-win32.exe -FileName llvm-installer.exe
 )
 if "%CLANG_VERSION%"=="ToT" (
     START /WAIT llvm-installer.exe /S /D=C:\"Program Files\LLVM"

Modified: vendor/libc++/dist/cmake/Modules/HandleLibCXXABI.cmake
==============================================================================
--- vendor/libc++/dist/cmake/Modules/HandleLibCXXABI.cmake	Mon Dec 18 20:12:01 2017	(r326944)
+++ vendor/libc++/dist/cmake/Modules/HandleLibCXXABI.cmake	Mon Dec 18 20:12:08 2017	(r326945)
@@ -56,7 +56,7 @@ macro(setup_abi_lib abidefines abilib abifiles abidirs
         if (LIBCXX_INSTALL_HEADERS)
           install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}"
             DESTINATION ${LIBCXX_INSTALL_PREFIX}include/c++/v1/${dstdir}
-            COMPONENT libcxx
+            COMPONENT cxx-headers
             PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
             )
         endif()

Modified: vendor/libc++/dist/cmake/Modules/HandleOutOfTreeLLVM.cmake
==============================================================================
--- vendor/libc++/dist/cmake/Modules/HandleOutOfTreeLLVM.cmake	Mon Dec 18 20:12:01 2017	(r326944)
+++ vendor/libc++/dist/cmake/Modules/HandleOutOfTreeLLVM.cmake	Mon Dec 18 20:12:08 2017	(r326945)
@@ -106,14 +106,22 @@ macro(configure_out_of_tree_llvm)
     set(LLVM_ENABLE_SPHINX OFF)
   endif()
 
-  # Required LIT Configuration ------------------------------------------------
-  # Define the default arguments to use with 'lit', and an option for the user
-  # to override.
-  set(LIT_ARGS_DEFAULT "-sv --show-xfail --show-unsupported")
-  if (MSVC OR XCODE)
-    set(LIT_ARGS_DEFAULT "${LIT_ARGS_DEFAULT} --no-progress-bar")
+  # In a standalone build, we don't have llvm to automatically generate the
+  # llvm-lit script for us.  So we need to provide an explicit directory that
+  # the configurator should write the script into.
+  set(LLVM_LIT_OUTPUT_DIR "${libcxx_BINARY_DIR}/bin")
+
+  if (LLVM_INCLUDE_TESTS)
+    # Required LIT Configuration ------------------------------------------------
+    # Define the default arguments to use with 'lit', and an option for the user
+    # to override.
+    set(LLVM_EXTERNAL_LIT "${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py")
+    set(LIT_ARGS_DEFAULT "-sv --show-xfail --show-unsupported")
+    if (MSVC OR XCODE)
+      set(LIT_ARGS_DEFAULT "${LIT_ARGS_DEFAULT} --no-progress-bar")
+    endif()
+    set(LLVM_LIT_ARGS "${LIT_ARGS_DEFAULT}" CACHE STRING "Default options for lit")
   endif()
-  set(LLVM_LIT_ARGS "${LIT_ARGS_DEFAULT}" CACHE STRING "Default options for lit")
 
   # Required doc configuration
   if (LLVM_ENABLE_SPHINX)

Modified: vendor/libc++/dist/docs/BuildingLibcxx.rst
==============================================================================
--- vendor/libc++/dist/docs/BuildingLibcxx.rst	Mon Dec 18 20:12:01 2017	(r326944)
+++ vendor/libc++/dist/docs/BuildingLibcxx.rst	Mon Dec 18 20:12:08 2017	(r326945)
@@ -130,7 +130,7 @@ just specify a toolset.
           -DCMAKE_SYSTEM_NAME=Windows                                                 ^
           -DCMAKE_C_COMPILER=clang-cl                                                 ^
           -DCMAKE_C_FLAGS="-fms-compatibility-version=19.00 --target=i686--windows"   ^
-          -DCMAKE_CXX_COMPILER=clang-c                                                ^
+          -DCMAKE_CXX_COMPILER=clang-cl                                                ^
           -DCMAKE_CXX_FLAGS="-fms-compatibility-version=19.00 --target=i686--windows" ^
           -DLLVM_PATH=/path/to/llvm/tree                                              ^
           -DLIBCXX_ENABLE_SHARED=YES                                                  ^
@@ -346,6 +346,13 @@ The following options allow building libc++ for a diff
 
   Build the "unstable" ABI version of libc++. Includes all ABI changing features
   on top of the current stable version.
+
+.. option:: LIBCXX_ABI_DEFINES:STRING
+
+  **Default**: ``""``
+
+  A semicolon-separated list of ABI macros to persist in the site config header.
+  See ``include/__config`` for the list of ABI macros.
 
 .. _LLVM-specific variables:
 

Modified: vendor/libc++/dist/docs/TestingLibcxx.rst
==============================================================================
--- vendor/libc++/dist/docs/TestingLibcxx.rst	Mon Dec 18 20:12:01 2017	(r326944)
+++ vendor/libc++/dist/docs/TestingLibcxx.rst	Mon Dec 18 20:12:08 2017	(r326945)
@@ -112,7 +112,7 @@ configuration. Passing the option on the command line 
 
 .. option:: std=<standard version>
 
-  **Values**: c++98, c++03, c++11, c++14, c++1z
+  **Values**: c++98, c++03, c++11, c++14, c++17, c++2a
 
   Change the standard version used when building the tests.
 

Modified: vendor/libc++/dist/docs/UsingLibcxx.rst
==============================================================================
--- vendor/libc++/dist/docs/UsingLibcxx.rst	Mon Dec 18 20:12:01 2017	(r326944)
+++ vendor/libc++/dist/docs/UsingLibcxx.rst	Mon Dec 18 20:12:08 2017	(r326945)
@@ -185,6 +185,26 @@ thread safety annotations.
     * Giving `set`, `map`, `multiset`, `multimap` a comparator which is not
       const callable.
 
+**_LIBCPP_NO_VCRUNTIME**:
+  Microsoft's C and C++ headers are fairly entangled, and some of their C++
+  headers are fairly hard to avoid. In particular, `vcruntime_new.h` gets pulled
+  in from a lot of other headers and provides definitions which clash with
+  libc++ headers, such as `nothrow_t` (note that `nothrow_t` is a struct, so
+  there's no way for libc++ to provide a compatible definition, since you can't
+  have multiple definitions).
+
+  By default, libc++ solves this problem by deferring to Microsoft's vcruntime
+  headers where needed. However, it may be undesirable to depend on vcruntime
+  headers, since they may not always be available in cross-compilation setups,
+  or they may clash with other headers. The `_LIBCPP_NO_VCRUNTIME` macro
+  prevents libc++ from depending on vcruntime headers. Consequently, it also
+  prevents libc++ headers from being interoperable with vcruntime headers (from
+  the aforementioned clashes), so users of this macro are promising to not
+  attempt to combine libc++ headers with the problematic vcruntime headers. This
+  macro also currently prevents certain `operator new`/`operator delete`
+  replacement scenarios from working, e.g. replacing `operator new` and
+  expecting a non-replaced `operator new[]` to call the replaced `operator new`.
+
 C++17 Specific Configuration Macros
 -----------------------------------
 **_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES**:

Modified: vendor/libc++/dist/docs/conf.py
==============================================================================
--- vendor/libc++/dist/docs/conf.py	Mon Dec 18 20:12:01 2017	(r326944)
+++ vendor/libc++/dist/docs/conf.py	Mon Dec 18 20:12:08 2017	(r326945)
@@ -47,9 +47,9 @@ copyright = u'2011-2017, LLVM Project'
 # built documents.
 #
 # The short X.Y version.
-version = '5.0'
+version = '6.0'
 # The full version, including alpha/beta/rc tags.
-release = '5.0'
+release = '6.0'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.

Added: vendor/libc++/dist/fuzzing/RoutineNames.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/libc++/dist/fuzzing/RoutineNames.txt	Mon Dec 18 20:12:08 2017	(r326945)
@@ -0,0 +1,20 @@
+sort
+stable_sort
+partition
+partition_copy
+stable_partition
+unique
+unique_copy
+nth_element
+partial_sort
+partial_sort_copy
+make_heap
+push_heap
+pop_heap
+regex_ECMAScript
+regex_POSIX
+regex_extended
+regex_awk
+regex_grep
+regex_egrep
+search

Added: vendor/libc++/dist/fuzzing/fuzzing.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/libc++/dist/fuzzing/fuzzing.cpp	Mon Dec 18 20:12:08 2017	(r326945)
@@ -0,0 +1,551 @@
+// -*- C++ -*-
+//===------------------------- fuzzing.cpp -------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+//	A set of routines to use when fuzzing the algorithms in libc++
+//	Each one tests a single algorithm.
+//
+//	They all have the form of:
+//		int `algorithm`(const uint8_t *data, size_t size);
+//
+//	They perform the operation, and then check to see if the results are correct.
+//	If so, they return zero, and non-zero otherwise.
+//
+//	For example, sort calls std::sort, then checks two things:
+//		(1) The resulting vector is sorted
+//		(2) The resulting vector contains the same elements as the original data.
+
+
+
+#include "fuzzing.h"
+#include <vector>
+#include <algorithm>
+#include <functional>
+#include <regex>
+#include <cassert>
+
+#include <iostream>
+
+//	If we had C++14, we could use the four iterator version of is_permutation and equal
+
+namespace fuzzing {
+
+//	This is a struct we can use to test the stable_XXX algorithms.
+//	perform the operation on the key, then check the order of the payload.
+
+struct stable_test {
+	uint8_t key;
+	size_t payload;
+	
+	stable_test(uint8_t k) : key(k), payload(0) {}
+	stable_test(uint8_t k, size_t p) : key(k), payload(p) {}
+	};
+
+void swap(stable_test &lhs, stable_test &rhs)
+{
+	using std::swap;
+	swap(lhs.key,     rhs.key);
+	swap(lhs.payload, rhs.payload);
+}
+
+struct key_less
+{
+	bool operator () (const stable_test &lhs, const stable_test &rhs) const
+	{
+		return lhs.key < rhs.key;
+	}
+};
+
+struct payload_less
+{
+	bool operator () (const stable_test &lhs, const stable_test &rhs) const
+	{
+		return lhs.payload < rhs.payload;
+	}
+};
+
+struct total_less
+{
+	bool operator () (const stable_test &lhs, const stable_test &rhs) const
+	{
+		return lhs.key == rhs.key ? lhs.payload < rhs.payload : lhs.key < rhs.key;
+	}
+};
+
+bool operator==(const stable_test &lhs, const stable_test &rhs)
+{ 
+	return lhs.key == rhs.key && lhs.payload == rhs.payload;
+}
+
+
+template<typename T>
+struct is_even
+{
+	bool operator () (const T &t) const
+	{
+		return t % 2 == 0;
+	}
+};
+
+
+template<>
+struct is_even<stable_test>
+{
+	bool operator () (const stable_test &t) const
+	{
+		return t.key % 2 == 0;
+	}
+};
+
+typedef std::vector<uint8_t> Vec;
+typedef std::vector<stable_test> StableVec;
+
+//	== sort ==
+int sort(const uint8_t *data, size_t size)
+{
+	Vec working(data, data + size);
+	std::sort(working.begin(), working.end());
+
+	if (!std::is_sorted(working.begin(), working.end())) return 1;
+	if (!std::is_permutation(data, data + size, working.begin())) return 99;
+	return 0;
+}
+
+
+//	== stable_sort ==
+int stable_sort(const uint8_t *data, size_t size)
+{
+	StableVec input;
+	for (size_t i = 0; i < size; ++i)
+		input.push_back(stable_test(data[i], i));
+	StableVec working = input;
+	std::stable_sort(working.begin(), working.end(), key_less());
+
+	if (!std::is_sorted(working.begin(), working.end(), key_less()))   return 1;
+	auto iter = working.begin();
+	while (iter != working.end())
+	{
+		auto range = std::equal_range(iter, working.end(), *iter, key_less());
+		if (!std::is_sorted(range.first, range.second, total_less())) return 2;			
+		iter = range.second;
+	}
+	if (!std::is_permutation(input.begin(), input.end(), working.begin())) return 99;
+	return 0;
+}
+
+//	== partition ==
+int partition(const uint8_t *data, size_t size)
+{
+	Vec working(data, data + size);
+	auto iter = std::partition(working.begin(), working.end(), is_even<uint8_t>());
+
+	if (!std::all_of (working.begin(), iter, is_even<uint8_t>())) return 1;
+	if (!std::none_of(iter,   working.end(), is_even<uint8_t>())) return 2;
+	if (!std::is_permutation(data, data + size, working.begin())) return 99;
+	return 0;
+}
+
+
+//	== partition_copy ==
+int partition_copy(const uint8_t *data, size_t size)
+{
+	Vec v1, v2;
+	auto iter = std::partition_copy(data, data + size,
+		std::back_inserter<Vec>(v1), std::back_inserter<Vec>(v2),
+		is_even<uint8_t>());
+
+//	The two vectors should add up to the original size
+	if (v1.size() + v2.size() != size) return 1;
+
+//	All of the even values should be in the first vector, and none in the second
+	if (!std::all_of (v1.begin(), v1.end(), is_even<uint8_t>())) return 2;
+	if (!std::none_of(v2.begin(), v2.end(), is_even<uint8_t>())) return 3;
+
+//	Every value in both vectors has to be in the original
+	for (auto v: v1)
+		if (std::find(data, data + size, v) == data + size) return 4;
+			
+	for (auto v: v2)
+		if (std::find(data, data + size, v) == data + size) return 5;
+			
+	return 0;
+}
+
+//	== stable_partition ==
+int stable_partition (const uint8_t *data, size_t size)
+{
+	StableVec input;
+	for (size_t i = 0; i < size; ++i)
+		input.push_back(stable_test(data[i], i));
+	StableVec working = input;
+	auto iter = std::stable_partition(working.begin(), working.end(), is_even<stable_test>());
+
+	if (!std::all_of (working.begin(), iter, is_even<stable_test>())) return 1;
+	if (!std::none_of(iter,   working.end(), is_even<stable_test>())) return 2;
+	if (!std::is_sorted(working.begin(), iter, payload_less()))   return 3;
+	if (!std::is_sorted(iter,   working.end(), payload_less()))   return 4;
+	if (!std::is_permutation(input.begin(), input.end(), working.begin())) return 99;
+	return 0;
+}
+
+//	== nth_element ==
+//	use the first element as a position into the data
+int nth_element (const uint8_t *data, size_t size)
+{
+	if (size <= 1) return 0;
+	const size_t partition_point = data[0] % size;	
+	Vec working(data + 1, data + size);
+	const auto partition_iter = working.begin() + partition_point;
+	std::nth_element(working.begin(), partition_iter, working.end());
+
+//	nth may be the end iterator, in this case nth_element has no effect.
+	if (partition_iter == working.end())
+	{
+		if (!std::equal(data + 1, data + size, working.begin())) return 98;
+	}
+	else
+	{
+		const uint8_t nth = *partition_iter;
+		if (!std::all_of(working.begin(), partition_iter, [=](uint8_t v) { return v <= nth; }))
+			return 1;
+		if (!std::all_of(partition_iter, working.end(),   [=](uint8_t v) { return v >= nth; }))
+			return 2;
+		if (!std::is_permutation(data + 1, data + size, working.begin())) return 99;
+		}
+
+	return 0;
+}
+
+//	== partial_sort ==
+//	use the first element as a position into the data
+int partial_sort (const uint8_t *data, size_t size)
+{
+	if (size <= 1) return 0;
+	const size_t sort_point = data[0] % size;
+	Vec working(data + 1, data + size);
+	const auto sort_iter = working.begin() + sort_point;
+	std::partial_sort(working.begin(), sort_iter, working.end());
+
+	if (sort_iter != working.end())
+	{
+		const uint8_t nth = *std::min_element(sort_iter, working.end());
+		if (!std::all_of(working.begin(), sort_iter, [=](uint8_t v) { return v <= nth; }))
+			return 1;
+		if (!std::all_of(sort_iter, working.end(),   [=](uint8_t v) { return v >= nth; }))
+			return 2;		
+	}
+	if (!std::is_sorted(working.begin(), sort_iter)) return 3;
+	if (!std::is_permutation(data + 1, data + size, working.begin())) return 99;
+
+	return 0;
+}
+
+
+//	== partial_sort_copy ==
+//	use the first element as a count
+int partial_sort_copy (const uint8_t *data, size_t size)
+{
+	if (size <= 1) return 0;
+	const size_t num_results = data[0] % size;
+	Vec results(num_results);
+	(void) std::partial_sort_copy(data + 1, data + size, results.begin(), results.end());
+
+//	The results have to be sorted
+	if (!std::is_sorted(results.begin(), results.end())) return 1;
+//	All the values in results have to be in the original data
+	for (auto v: results)
+		if (std::find(data + 1, data + size, v) == data + size) return 2;
+
+//	The things in results have to be the smallest N in the original data
+	Vec sorted(data + 1, data + size);
+	std::sort(sorted.begin(), sorted.end());
+	if (!std::equal(results.begin(), results.end(), sorted.begin())) return 3;
+	return 0;
+}
+
+//	The second sequence has been "uniqued"
+template <typename Iter1, typename Iter2>
+static bool compare_unique(Iter1 first1, Iter1 last1, Iter2 first2, Iter2 last2)
+{
+	assert(first1 != last1 && first2 != last2);
+	if (*first1 != *first2) return false;
+
+	uint8_t last_value = *first1;
+	++first1; ++first2;
+	while(first1 != last1 && first2 != last2)
+	{
+	//	Skip over dups in the first sequence
+		while (*first1 == last_value)
+			if (++first1 == last1) return false;
+		if (*first1 != *first2) return false;
+		last_value = *first1;
+		++first1; ++first2;
+	}
+
+//	Still stuff left in the 'uniqued' sequence - oops
+	if (first1 == last1 && first2 != last2) return false;
+
+//	Still stuff left in the original sequence - better be all the same
+	while (first1 != last1)
+	{
+		if (*first1 != last_value) return false;
+		++first1;
+	}
+	return true;
+}
+
+//	== unique ==
+int unique (const uint8_t *data, size_t size)
+{
+	Vec working(data, data + size);
+	std::sort(working.begin(), working.end());
+	Vec results = working;
+	Vec::iterator new_end = std::unique(results.begin(), results.end());
+	Vec::iterator it;	// scratch iterator
+	
+//	Check the size of the unique'd sequence.
+//	it should only be zero if the input sequence was empty.
+	if (results.begin() == new_end)
+		return working.size() == 0 ? 0 : 1;
+	
+//	'results' is sorted
+	if (!std::is_sorted(results.begin(), new_end)) return 2;
+
+//	All the elements in 'results' must be different
+	it = results.begin();
+	uint8_t prev_value = *it++;
+	for (; it != new_end; ++it)
+	{
+		if (*it == prev_value) return 3;
+		prev_value = *it;
+	}
+	
+//	Every element in 'results' must be in 'working'
+	for (it = results.begin(); it != new_end; ++it)
+		if (std::find(working.begin(), working.end(), *it) == working.end())
+			return 4;
+			
+//	Every element in 'working' must be in 'results'
+	for (auto v : working)
+		if (std::find(results.begin(), new_end, v) == new_end)
+			return 5;
+	
+	return 0;
+}
+
+//	== unique_copy ==
+int unique_copy (const uint8_t *data, size_t size)
+{
+	Vec working(data, data + size);
+	std::sort(working.begin(), working.end());
+	Vec results;
+	(void) std::unique_copy(working.begin(), working.end(),
+	                        std::back_inserter<Vec>(results));
+	Vec::iterator it;	// scratch iterator
+	
+//	Check the size of the unique'd sequence.
+//	it should only be zero if the input sequence was empty.
+	if (results.size() == 0)
+		return working.size() == 0 ? 0 : 1;
+	
+//	'results' is sorted
+	if (!std::is_sorted(results.begin(), results.end())) return 2;
+
+//	All the elements in 'results' must be different
+	it = results.begin();
+	uint8_t prev_value = *it++;
+	for (; it != results.end(); ++it)
+	{
+		if (*it == prev_value) return 3;
+		prev_value = *it;
+	}
+	
+//	Every element in 'results' must be in 'working'
+	for (auto v : results)
+		if (std::find(working.begin(), working.end(), v) == working.end())
+			return 4;
+			
+//	Every element in 'working' must be in 'results'
+	for (auto v : working)
+		if (std::find(results.begin(), results.end(), v) == results.end())
+			return 5;
+	
+	return 0;
+}
+
+
+// --	regex fuzzers
+static int regex_helper(const uint8_t *data, size_t size, std::regex::flag_type flag)
+{
+	if (size > 0)
+	{
+		try
+		{
+			std::string s((const char *)data, size);
+			std::regex re(s, flag);
+			return std::regex_match(s, re) ? 1 : 0;
+		} 
+		catch (std::regex_error &ex) {} 
+	}
+	return 0;		
+}
+
+
+int regex_ECMAScript (const uint8_t *data, size_t size)
+{
+	(void) regex_helper(data, size, std::regex_constants::ECMAScript);
+	return 0;
+}
+
+int regex_POSIX (const uint8_t *data, size_t size)
+{
+	(void) regex_helper(data, size, std::regex_constants::basic);
+	return 0;
+}
+
+int regex_extended (const uint8_t *data, size_t size)
+{
+	(void) regex_helper(data, size, std::regex_constants::extended);
+	return 0;
+}
+
+int regex_awk (const uint8_t *data, size_t size)
+{
+	(void) regex_helper(data, size, std::regex_constants::awk);
+	return 0;
+}
+
+int regex_grep (const uint8_t *data, size_t size)
+{
+	(void) regex_helper(data, size, std::regex_constants::grep);
+	return 0;
+}
+
+int regex_egrep (const uint8_t *data, size_t size)
+{
+	(void) regex_helper(data, size, std::regex_constants::egrep);
+	return 0;
+}
+
+// --	heap fuzzers
+int make_heap (const uint8_t *data, size_t size)
+{
+	Vec working(data, data + size);
+	std::make_heap(working.begin(), working.end());
+
+	if (!std::is_heap(working.begin(), working.end())) return 1;
+	if (!std::is_permutation(data, data + size, working.begin())) return 99;
+	return 0;
+}
+
+int push_heap (const uint8_t *data, size_t size)
+{
+	if (size < 2) return 0;
+
+//	Make a heap from the first half of the data
+	Vec working(data, data + size);
+	auto iter = working.begin() + (size / 2);
+	std::make_heap(working.begin(), iter);
+	if (!std::is_heap(working.begin(), iter)) return 1;
+
+//	Now push the rest onto the heap, one at a time
+	++iter;
+	for (; iter != working.end(); ++iter) {
+		std::push_heap(working.begin(), iter);
+		if (!std::is_heap(working.begin(), iter)) return 2;	
+		}
+
+	if (!std::is_permutation(data, data + size, working.begin())) return 99;
+	return 0;
+}
+
+int pop_heap (const uint8_t *data, size_t size)
+{
+	if (size < 2) return 0;
+	Vec working(data, data + size);
+	std::make_heap(working.begin(), working.end());
+
+//	Pop things off, one at a time
+	auto iter = --working.end();
+	while (iter != working.begin()) {
+		std::pop_heap(working.begin(), iter);
+		if (!std::is_heap(working.begin(), --iter)) return 2;	
+		}
+
+	return 0;
+}
+
+
+// --	search fuzzers
+int search (const uint8_t *data, size_t size)
+{
+	if (size < 2) return 0;
+	
+	const size_t pat_size = data[0] * (size - 1) / std::numeric_limits<uint8_t>::max();
+	assert(pat_size <= size - 1);
+	const uint8_t *pat_begin = data + 1;
+	const uint8_t *pat_end   = pat_begin + pat_size;
+	const uint8_t *data_end  = data + size;
+	assert(pat_end <= data_end);
+// 	std::cerr << "data[0] = " << size_t(data[0]) << " ";
+// 	std::cerr << "Pattern size = " << pat_size << "; corpus is " << size - 1 << std::endl;
+	auto it = std::search(pat_end, data_end, pat_begin, pat_end);
+	if (it != data_end) // not found
+		if (!std::equal(pat_begin, pat_end, it))
+			return 1;
+	return 0;
+}
+
+template <typename S>
+static int search_helper (const uint8_t *data, size_t size)
+{
+	if (size < 2) return 0;
+	
+	const size_t pat_size = data[0] * (size - 1) / std::numeric_limits<uint8_t>::max();
+	const uint8_t *pat_begin = data + 1;
+	const uint8_t *pat_end   = pat_begin + pat_size;
+	const uint8_t *data_end  = data + size;
+
+	auto it = std::search(pat_end, data_end, S(pat_begin, pat_end));
+	if (it != data_end) // not found
+		if (!std::equal(pat_begin, pat_end, it))
+			return 1;
+	return 0;
+}
+
+//	These are still in std::experimental
+// int search_boyer_moore (const uint8_t *data, size_t size)
+// {
+// 	return search_helper<std::boyer_moore_searcher<const uint8_t *>>(data, size);
+// }
+// 
+// int search_boyer_moore_horspool (const uint8_t *data, size_t size)
+// {
+// 	return search_helper<std::boyer_moore_horspool_searcher<const uint8_t *>>(data, size);
+// }
+
+
+// --	set operation fuzzers
+template <typename S>
+static void set_helper (const uint8_t *data, size_t size, Vec &v1, Vec &v2)
+{
+	assert(size > 1);
+	
+	const size_t pat_size = data[0] * (size - 1) / std::numeric_limits<uint8_t>::max();
+	const uint8_t *pat_begin = data + 1;
+	const uint8_t *pat_end   = pat_begin + pat_size;
+	const uint8_t *data_end  = data + size;
+	v1.assign(pat_begin, pat_end);
+	v2.assign(pat_end, data_end);
+
+	std::sort(v1.begin(), v1.end());
+	std::sort(v2.begin(), v2.end());
+}
+
+} // namespace fuzzing

Added: vendor/libc++/dist/fuzzing/fuzzing.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/libc++/dist/fuzzing/fuzzing.h	Mon Dec 18 20:12:08 2017	(r326945)
@@ -0,0 +1,62 @@
+// -*- C++ -*-
+//===-------------------------- fuzzing.h --------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef _LIBCPP_FUZZING
+#define _LIBCPP_FUZZING
+
+#include <cstddef> // for size_t
+#include <cstdint> // for uint8_t
+
+namespace fuzzing {
+
+//  These all return 0 on success; != 0 on failure
+    int sort             (const uint8_t *data, size_t size);
+    int stable_sort      (const uint8_t *data, size_t size);
+    int partition        (const uint8_t *data, size_t size);
+    int partition_copy   (const uint8_t *data, size_t size);
+    int stable_partition (const uint8_t *data, size_t size);
+	int unique           (const uint8_t *data, size_t size);
+	int unique_copy      (const uint8_t *data, size_t size);
+
+//  partition and stable_partition take Bi-Di iterators.
+//  Should test those, too
+    int nth_element       (const uint8_t *data, size_t size);
+    int partial_sort      (const uint8_t *data, size_t size);
+    int partial_sort_copy (const uint8_t *data, size_t size);
+
+//  Heap operations
+    int make_heap        (const uint8_t *data, size_t size);
+    int push_heap        (const uint8_t *data, size_t size);
+    int pop_heap         (const uint8_t *data, size_t size);
+
+//  Various flavors of regex
+    int regex_ECMAScript (const uint8_t *data, size_t size);
+    int regex_POSIX      (const uint8_t *data, size_t size);
+    int regex_extended   (const uint8_t *data, size_t size);
+    int regex_awk        (const uint8_t *data, size_t size);
+    int regex_grep       (const uint8_t *data, size_t size);
+    int regex_egrep      (const uint8_t *data, size_t size);
+
+//	Searching
+	int search                      (const uint8_t *data, size_t size);
+// 	int search_boyer_moore          (const uint8_t *data, size_t size);
+// 	int search_boyer_moore_horspool (const uint8_t *data, size_t size);
+
+//	Set operations
+// 	int includes                 (const uint8_t *data, size_t size);
+// 	int set_union                (const uint8_t *data, size_t size);
+// 	int set_intersection         (const uint8_t *data, size_t size);
+// 	int set_difference           (const uint8_t *data, size_t size);
+// 	int set_symmetric_difference (const uint8_t *data, size_t size);
+// 	int merge                    (const uint8_t *data, size_t size);
+
+} // namespace fuzzing
+
+#endif // _LIBCPP_FUZZING

Modified: vendor/libc++/dist/include/CMakeLists.txt
==============================================================================
--- vendor/libc++/dist/include/CMakeLists.txt	Mon Dec 18 20:12:01 2017	(r326944)
+++ vendor/libc++/dist/include/CMakeLists.txt	Mon Dec 18 20:12:08 2017	(r326945)
@@ -58,9 +58,12 @@ if (LIBCXX_INSTALL_HEADERS)
                       COMMAND "${CMAKE_COMMAND}"
                               -DCMAKE_INSTALL_COMPONENT=cxx-headers
                               -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
+    # Stripping is a no-op for headers
+    add_custom_target(install-cxx-headers-stripped DEPENDS install-cxx-headers)
 
     add_custom_target(libcxx-headers)
     add_custom_target(install-libcxx-headers DEPENDS install-cxx-headers)
+    add_custom_target(install-libcxx-headers-stripped DEPENDS install-cxx-headers-stripped)
   endif()
 
 endif()

Modified: vendor/libc++/dist/include/__config
==============================================================================
--- vendor/libc++/dist/include/__config	Mon Dec 18 20:12:01 2017	(r326944)
+++ vendor/libc++/dist/include/__config	Mon Dec 18 20:12:08 2017	(r326945)
@@ -33,7 +33,7 @@
 #define _GNUC_VER_NEW 0
 #endif
 
-#define _LIBCPP_VERSION 5000
+#define _LIBCPP_VERSION 6000
 
 #ifndef _LIBCPP_ABI_VERSION
 #define _LIBCPP_ABI_VERSION 1
@@ -45,6 +45,8 @@
 #define _LIBCPP_OBJECT_FORMAT_MACHO 1
 #elif defined(_WIN32)
 #define _LIBCPP_OBJECT_FORMAT_COFF  1
+#elif defined(__wasm__)
+#define _LIBCPP_OBJECT_FORMAT_WASM  1
 #else
 #error Unknown object file format
 #endif
@@ -55,11 +57,11 @@
 #define _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
 // Fix deque iterator type in order to support incomplete types.
 #define _LIBCPP_ABI_INCOMPLETE_TYPES_IN_DEQUE
-// Fix undefined behavior in how std::list stores it's linked nodes.
+// Fix undefined behavior in how std::list stores its linked nodes.
 #define _LIBCPP_ABI_LIST_REMOVE_NODE_POINTER_UB
 // Fix undefined behavior in  how __tree stores its end and parent nodes.
 #define _LIBCPP_ABI_TREE_REMOVE_NODE_POINTER_UB
-// Fix undefined behavior in how __hash_table stores it's pointer types
+// Fix undefined behavior in how __hash_table stores its pointer types.
 #define _LIBCPP_ABI_FIX_UNORDERED_NODE_POINTER_UB
 #define _LIBCPP_ABI_FORWARD_LIST_REMOVE_NODE_POINTER_UB
 #define _LIBCPP_ABI_FIX_UNORDERED_CONTAINER_SIZE_TYPE
@@ -76,9 +78,11 @@
 // its vtable and typeinfo to libc++ rather than having all other libraries
 // using that class define their own copies.
 #define _LIBCPP_ABI_BAD_FUNCTION_CALL_KEY_FUNCTION
-
 // Enable optimized version of __do_get_(un)signed which avoids redundant copies.
 #define _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
+// Use the smallest possible integer type to represent the index of the variant.
+// Previously libc++ used "unsigned int" exclusivly.
+#define _LIBCPP_ABI_VARIANT_INDEX_TYPE_OPTIMIZATION
 #elif _LIBCPP_ABI_VERSION == 1
 #if !defined(_LIBCPP_OBJECT_FORMAT_COFF)
 // Enable compiling copies of now inline methods into the dylib to support
@@ -121,6 +125,9 @@
 #ifndef __has_feature
 #define __has_feature(__x) 0
 #endif
+#ifndef __has_cpp_attribute
+#define __has_cpp_attribute(__x) 0
+#endif
 // '__is_identifier' returns '0' if '__x' is a reserved identifier provided by
 // the compiler and '1' otherwise.
 #ifndef __is_identifier
@@ -157,11 +164,21 @@
 
 // FIXME: ABI detection should be done via compiler builtin macros. This
 // is just a placeholder until Clang implements such macros. For now assume
-// that Windows compilers pretending to be MSVC++ target the microsoft ABI.
-#if defined(_WIN32) && defined(_MSC_VER)
+// that Windows compilers pretending to be MSVC++ target the Microsoft ABI,
+// and allow the user to explicitly specify the ABI to handle cases where this
+// heuristic falls short.
+#if defined(_LIBCPP_ABI_FORCE_ITANIUM) && defined(_LIBCPP_ABI_FORCE_MICROSOFT)
+# error "Only one of _LIBCPP_ABI_FORCE_ITANIUM and _LIBCPP_ABI_FORCE_MICROSOFT can be defined"
+#elif defined(_LIBCPP_ABI_FORCE_ITANIUM)
+# define _LIBCPP_ABI_ITANIUM
+#elif defined(_LIBCPP_ABI_FORCE_MICROSOFT)
 # define _LIBCPP_ABI_MICROSOFT
 #else
-# define _LIBCPP_ABI_ITANIUM
+# if defined(_WIN32) && defined(_MSC_VER)
+#  define _LIBCPP_ABI_MICROSOFT
+# else
+#  define _LIBCPP_ABI_ITANIUM
+# endif
 #endif

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-all mailing list