svn commit: r343177 - in vendor/libc++/dist: . benchmarks cmake/Modules docs docs/DesignDocs fuzzing include include/experimental include/support/win32 lib lib/abi src src/experimental src/experime...
Dimitry Andric
dim at FreeBSD.org
Sat Jan 19 10:05:40 UTC 2019
Author: dim
Date: Sat Jan 19 10:05:35 2019
New Revision: 343177
URL: https://svnweb.freebsd.org/changeset/base/343177
Log:
Vendor import of libc++ trunk r351319 (just before the release_80
branch point):
https://llvm.org/svn/llvm-project/libcxx/trunk@351319
Added:
vendor/libc++/dist/benchmarks/CartesianBenchmarks.hpp
vendor/libc++/dist/benchmarks/algorithms.partition_point.bench.cpp
vendor/libc++/dist/benchmarks/function.bench.cpp
vendor/libc++/dist/benchmarks/lit.cfg.py
vendor/libc++/dist/benchmarks/lit.site.cfg.py.in
vendor/libc++/dist/benchmarks/ordered_set.bench.cpp
vendor/libc++/dist/docs/DesignDocs/FeatureTestMacros.rst
vendor/libc++/dist/docs/FeatureTestMacroTable.rst
vendor/libc++/dist/docs/ReleaseNotes.rst
vendor/libc++/dist/include/bit
vendor/libc++/dist/test/libcxx/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.depr_in_cxx14.fail.cpp
vendor/libc++/dist/test/libcxx/algorithms/half_positive.pass.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/deque/pop_back_empty.pass.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/vector/pop_back_empty.pass.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/vector/vector.cons/
vendor/libc++/dist/test/libcxx/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp
vendor/libc++/dist/test/libcxx/depr/depr.auto.ptr/auto.ptr/auto_ptr.depr_in_cxx11.fail.cpp
vendor/libc++/dist/test/libcxx/depr/depr.function.objects/adaptors.depr_in_cxx11.fail.cpp
vendor/libc++/dist/test/libcxx/diagnostics/enable_nodiscard.fail.cpp
vendor/libc++/dist/test/libcxx/diagnostics/enable_nodiscard_disable_after_cxx17.fail.cpp
vendor/libc++/dist/test/libcxx/diagnostics/enable_nodiscard_disable_nodiscard_ext.fail.cpp
vendor/libc++/dist/test/libcxx/diagnostics/nodiscard_aftercxx17.fail.cpp
vendor/libc++/dist/test/libcxx/diagnostics/nodiscard_aftercxx17.pass.cpp
vendor/libc++/dist/test/libcxx/diagnostics/nodiscard_extensions.fail.cpp
vendor/libc++/dist/test/libcxx/diagnostics/nodiscard_extensions.pass.cpp
vendor/libc++/dist/test/libcxx/experimental/diagnostics/
vendor/libc++/dist/test/libcxx/experimental/diagnostics/syserr/
vendor/libc++/dist/test/libcxx/experimental/diagnostics/syserr/use_header_warning.fail.cpp
vendor/libc++/dist/test/libcxx/experimental/diagnostics/syserr/version.pass.cpp
vendor/libc++/dist/test/libcxx/experimental/numerics/
vendor/libc++/dist/test/libcxx/experimental/numerics/numeric.ops/
vendor/libc++/dist/test/libcxx/experimental/numerics/numeric.ops/use_header_warning.fail.cpp
vendor/libc++/dist/test/libcxx/experimental/numerics/numeric.ops/version.pass.cpp
vendor/libc++/dist/test/libcxx/experimental/strings/
vendor/libc++/dist/test/libcxx/experimental/strings/string.view/
vendor/libc++/dist/test/libcxx/experimental/strings/string.view/use_header_warning.fail.cpp
vendor/libc++/dist/test/libcxx/experimental/strings/string.view/version.pass.cpp
vendor/libc++/dist/test/libcxx/experimental/utilities/any/
vendor/libc++/dist/test/libcxx/experimental/utilities/any/use_header_warning.fail.cpp
vendor/libc++/dist/test/libcxx/experimental/utilities/any/version.pass.cpp
vendor/libc++/dist/test/libcxx/experimental/utilities/optional/
vendor/libc++/dist/test/libcxx/experimental/utilities/optional/use_header_warning.fail.cpp
vendor/libc++/dist/test/libcxx/experimental/utilities/optional/version.pass.cpp
vendor/libc++/dist/test/libcxx/experimental/utilities/ratio/
vendor/libc++/dist/test/libcxx/experimental/utilities/ratio/use_header_warning.fail.cpp
vendor/libc++/dist/test/libcxx/experimental/utilities/ratio/version.pass.cpp
vendor/libc++/dist/test/libcxx/experimental/utilities/time/
vendor/libc++/dist/test/libcxx/experimental/utilities/time/use_header_warning.fail.cpp
vendor/libc++/dist/test/libcxx/experimental/utilities/time/version.pass.cpp
vendor/libc++/dist/test/libcxx/experimental/utilities/tuple/
vendor/libc++/dist/test/libcxx/experimental/utilities/tuple/use_header_warning.fail.cpp
vendor/libc++/dist/test/libcxx/experimental/utilities/tuple/version.pass.cpp
vendor/libc++/dist/test/libcxx/input.output/file.streams/fstreams/fstream.close.pass.cpp
vendor/libc++/dist/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
vendor/libc++/dist/test/libcxx/libcpp_alignof.pass.cpp
vendor/libc++/dist/test/libcxx/memory/aligned_allocation_macro.pass.cpp
vendor/libc++/dist/test/libcxx/strings/basic.string/string.modifiers/resize_default_initialized.pass.cpp
vendor/libc++/dist/test/libcxx/utilities/optional/optional.object/triviality.abi.pass.cpp
vendor/libc++/dist/test/libcxx/utilities/utility/pairs/pairs.pair/U_V.pass.cpp
vendor/libc++/dist/test/libcxx/utilities/utility/pairs/pairs.pair/const_first_const_second.pass.cpp
vendor/libc++/dist/test/libcxx/utilities/utility/pairs/pairs.pair/const_pair_U_V.pass.cpp
vendor/libc++/dist/test/libcxx/utilities/utility/pairs/pairs.pair/default.pass.cpp
vendor/libc++/dist/test/libcxx/utilities/utility/pairs/pairs.pair/piecewise.pass.cpp
vendor/libc++/dist/test/libcxx/utilities/utility/pairs/pairs.pair/rv_pair_U_V.pass.cpp
vendor/libc++/dist/test/std/algorithms/alg.sorting/alg.min.max/requires_forward_iterator.fail.cpp
vendor/libc++/dist/test/std/containers/associative/map/map.erasure/
vendor/libc++/dist/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp
vendor/libc++/dist/test/std/containers/associative/map/map.modifiers/merge.pass.cpp
vendor/libc++/dist/test/std/containers/associative/multimap/multimap.erasure/
vendor/libc++/dist/test/std/containers/associative/multimap/multimap.erasure/erase_if.pass.cpp
vendor/libc++/dist/test/std/containers/associative/multimap/multimap.modifiers/merge.pass.cpp
vendor/libc++/dist/test/std/containers/associative/multiset/insert_emplace_allocator_requirements.pass.cpp
vendor/libc++/dist/test/std/containers/associative/multiset/merge.pass.cpp
vendor/libc++/dist/test/std/containers/associative/multiset/multiset.erasure/
vendor/libc++/dist/test/std/containers/associative/multiset/multiset.erasure/erase_if.pass.cpp
vendor/libc++/dist/test/std/containers/associative/set/merge.pass.cpp
vendor/libc++/dist/test/std/containers/associative/set/set.erasure/
vendor/libc++/dist/test/std/containers/associative/set/set.erasure/erase_if.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/deque/deque.erasure/
vendor/libc++/dist/test/std/containers/sequences/deque/deque.erasure/erase.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/deque/deque.erasure/erase_if.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/deque/deque.modifiers/clear.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/forwardlist/forwardlist.erasure/
vendor/libc++/dist/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase_if.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/list/list.erasure/
vendor/libc++/dist/test/std/containers/sequences/list/list.erasure/erase.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/list/list.erasure/erase_if.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/vector/vector.erasure/
vendor/libc++/dist/test/std/containers/sequences/vector/vector.erasure/erase.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/vector/vector.erasure/erase_if.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.map/erase_if.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.modifiers/merge.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multimap/erase_if.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/merge.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multiset/erase_if.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multiset/insert_emplace_allocator_requirements.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multiset/merge.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.set/erase_if.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.set/merge.pass.cpp
vendor/libc++/dist/test/std/depr/depr.lib.binders/depr.lib.bind.1st/bind1st.depr_in_cxx11.fail.cpp
vendor/libc++/dist/test/std/depr/depr.lib.binders/depr.lib.bind.2nd/bind2nd.depr_in_cxx11.fail.cpp
vendor/libc++/dist/test/std/depr/depr.lib.binders/depr.lib.binder.1st/binder1st.depr_in_cxx11.fail.cpp
vendor/libc++/dist/test/std/depr/depr.lib.binders/depr.lib.binder.2nd/binder2nd.depr_in_cxx11.fail.cpp
vendor/libc++/dist/test/std/input.output/filesystems/class.path/path.nonmember/append_op.fail.cpp
vendor/libc++/dist/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.fail.cpp
vendor/libc++/dist/test/std/iterators/iterator.primitives/iterator.traits/empty.fail.cpp
vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size.sh.cpp
vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align.sh.cpp
vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align_nothrow.sh.cpp
vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_nothrow.sh.cpp
vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align.sh.cpp
vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align_nothrow.sh.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/algorithm.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/any.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/array.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/atomic.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/bit.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/charconv.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/chrono.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/cmath.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/compare.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/complex.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/concepts.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/cstddef.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/deque.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/exception.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/execution.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/filesystem.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/forward_list.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/functional.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/generate_feature_test_macro_components.py (contents, props changed)
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/iomanip.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/istream.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/iterator.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/limits.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/list.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/locale.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/map.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/memory.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/memory_resource.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/mutex.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/new.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/numeric.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/optional.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/ostream.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/regex.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/scoped_allocator.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/set.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/string.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/string_view.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/tuple.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/type_traits.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/unordered_map.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/unordered_set.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/utility.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/variant.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/vector.version.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
vendor/libc++/dist/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_sseq_all_zero.pass.cpp
vendor/libc++/dist/test/std/re/re.alg/re.alg.match/inverted_character_classes.pass.cpp
vendor/libc++/dist/test/std/re/re.results/re.results.const/copy.pass.cpp
vendor/libc++/dist/test/std/re/re.results/re.results.const/copy_assign.pass.cpp
vendor/libc++/dist/test/std/re/re.results/re.results.const/move.pass.cpp
vendor/libc++/dist/test/std/re/re.results/re.results.const/move_assign.pass.cpp
vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/
vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign2.pass.cpp
vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign3.pass.cpp
vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/compare.pass.cpp
vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/copy.pass.cpp
vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eof.pass.cpp
vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eq.pass.cpp
vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eq_int_type.pass.cpp
vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/find.pass.cpp
vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/length.pass.cpp
vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/lt.pass.cpp
vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/move.pass.cpp
vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/not_eof.pass.cpp
vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/to_char_type.pass.cpp
vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/to_int_type.pass.cpp
vendor/libc++/dist/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/types.pass.cpp
vendor/libc++/dist/test/std/strings/strings.erasure/
vendor/libc++/dist/test/std/strings/strings.erasure/erase.pass.cpp
vendor/libc++/dist/test/std/strings/strings.erasure/erase_if.pass.cpp
vendor/libc++/dist/test/std/thread/futures/futures.async/async_race.38682.pass.cpp
vendor/libc++/dist/test/std/utilities/function.objects/negators/binary_negate.depr_in_cxx17.fail.cpp
vendor/libc++/dist/test/std/utilities/function.objects/negators/not1.depr_in_cxx17.fail.cpp
vendor/libc++/dist/test/std/utilities/function.objects/negators/not2.depr_in_cxx17.fail.cpp
vendor/libc++/dist/test/std/utilities/function.objects/negators/unary_negate.depr_in_cxx17.fail.cpp
vendor/libc++/dist/test/std/utilities/function.objects/refwrap/unwrap_ref_decay.pass.cpp
vendor/libc++/dist/test/std/utilities/function.objects/refwrap/unwrap_reference.pass.cpp
vendor/libc++/dist/test/std/utilities/meta/meta.trans/meta.trans.other/type_identity.pass.cpp
vendor/libc++/dist/test/std/utilities/optional/optional.object/special_members.pass.cpp
vendor/libc++/dist/test/std/utilities/optional/optional.object/triviality.pass.cpp
vendor/libc++/dist/test/std/utilities/time/days.pass.cpp
vendor/libc++/dist/test/std/utilities/time/months.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/
vendor/libc++/dist/test/std/utilities/time/time.cal/euclidian.h
vendor/libc++/dist/test/std/utilities/time/time.cal/nothing_to_do.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.day/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.day/time.cal.day.members/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.day/time.cal.day.members/ctor.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.day/time.cal.day.members/decrement.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.day/time.cal.day.members/increment.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.day/time.cal.day.members/ok.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.day/time.cal.day.members/plus_minus_equal.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.day/time.cal.day.nonmembers/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.day/time.cal.day.nonmembers/comparisons.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.day/time.cal.day.nonmembers/literals.fail.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.day/time.cal.day.nonmembers/literals.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.day/time.cal.day.nonmembers/minus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.day/time.cal.day.nonmembers/plus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.day/time.cal.day.nonmembers/streaming.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.day/types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.last/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.last/types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.md/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.md/time.cal.md.members/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.md/time.cal.md.members/ctor.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.md/time.cal.md.members/day.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.md/time.cal.md.members/month.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.md/time.cal.md.members/ok.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.md/time.cal.md.nonmembers/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.md/time.cal.md.nonmembers/comparisons.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.md/time.cal.md.nonmembers/streaming.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.md/types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mdlast/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mdlast/comparisons.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mdlast/ctor.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mdlast/month.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mdlast/ok.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mdlast/streaming.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mdlast/types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.month/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.month/time.cal.month.members/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.month/time.cal.month.members/ctor.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.month/time.cal.month.members/decrement.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.month/time.cal.month.members/increment.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.month/time.cal.month.members/ok.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.month/time.cal.month.members/plus_minus_equal.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.month/time.cal.month.nonmembers/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.month/time.cal.month.nonmembers/comparisons.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.month/time.cal.month.nonmembers/literals.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.month/time.cal.month.nonmembers/minus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.month/time.cal.month.nonmembers/plus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.month/time.cal.month.nonmembers/streaming.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.month/types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwd/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwd/time.cal.mwd.members/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwd/time.cal.mwd.members/ctor.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwd/time.cal.mwd.members/month.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwd/time.cal.mwd.members/ok.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwd/time.cal.mwd.members/weekday_indexed.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwd/time.cal.mwd.nonmembers/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwd/time.cal.mwd.nonmembers/comparisons.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwd/time.cal.mwd.nonmembers/streaming.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwd/types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwdlast/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/ctor.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/month.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/ok.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/weekday_last.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.nonmembers/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.nonmembers/comparisons.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.nonmembers/streaming.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.mwdlast/types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.operators/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.operators/month_day.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.operators/month_day_last.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.operators/month_weekday.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.operators/month_weekday_last.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.operators/year_month.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.operators/year_month_day.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.operators/year_month_day_last.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.operators/year_month_weekday.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.operators/year_month_weekday_last.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdidx/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/ctor.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/index.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/ok.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/weekday.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdidx/time.cal.wdidx.nonmembers/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdidx/time.cal.wdidx.nonmembers/comparisons.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdidx/time.cal.wdidx.nonmembers/streaming.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdidx/types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdlast/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdlast/time.cal.wdlast.members/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdlast/time.cal.wdlast.members/ctor.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdlast/time.cal.wdlast.members/ok.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdlast/time.cal.wdlast.members/weekday.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdlast/time.cal.wdlast.nonmembers/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdlast/time.cal.wdlast.nonmembers/comparisons.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdlast/time.cal.wdlast.nonmembers/streaming.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.wdlast/types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.members/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.members/ctor.local_days.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.members/ctor.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.members/ctor.sys_days.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.members/decrement.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.members/increment.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.members/ok.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.members/operator[].pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.members/plus_minus_equal.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/comparisons.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/literals.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/minus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/plus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/streaming.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.weekday/types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/time.cal.year.members/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/time.cal.year.members/ctor.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/time.cal.year.members/decrement.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/time.cal.year.members/increment.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/time.cal.year.members/is_leap.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/time.cal.year.members/ok.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/time.cal.year.members/plus_minus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/time.cal.year.members/plus_minus_equal.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/time.cal.year.nonmembers/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/time.cal.year.nonmembers/comparisons.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/time.cal.year.nonmembers/literals.fail.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/time.cal.year.nonmembers/literals.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/time.cal.year.nonmembers/minus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/time.cal.year.nonmembers/plus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/time.cal.year.nonmembers/streaming.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.year/types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ym/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ym/time.cal.ym.members/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ym/time.cal.ym.members/ctor.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ym/time.cal.ym.members/month.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ym/time.cal.ym.members/ok.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_month.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_year.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ym/time.cal.ym.members/year.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/comparisons.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/minus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/plus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/streaming.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ym/types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.members/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.local_days.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.sys_days.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.year_month_day_last.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.members/day.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.members/month.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.members/ok.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.members/op.local_days.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.members/op.sys_days.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_month.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_year.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.members/year.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/comparisons.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/minus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/plus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/streaming.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymd/types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/ctor.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/day.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/month.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/month_day_last.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/ok.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/op_local_days.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/op_sys_days.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/plus_minus_equal_month.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/plus_minus_equal_year.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/year.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/comparisons.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/minus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/plus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/streaming.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/ctor.local_days.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/ctor.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/ctor.sys_days.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/index.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/month.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/ok.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/op.local_days.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/op.sys_days.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/plus_minus_equal_month.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/plus_minus_equal_year.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/weekday.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/weekday_indexed.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/year.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/comparisons.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/minus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/plus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/streaming.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwd/types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/ctor.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/month.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/ok.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/op_local_days.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/op_sys_days.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/plus_minus_equal_month.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/plus_minus_equal_year.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/weekday.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/year.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/comparisons.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/minus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/plus.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/streaming.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.cal/time.cal.ymwdlast/types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.clock/time.clock.file/
vendor/libc++/dist/test/std/utilities/time/time.clock/time.clock.file/consistency.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.clock/time.clock.file/file_time.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.clock/time.clock.file/now.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.clock/time.clock.file/rep_signed.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.clock/time.clock.system/local_time.types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.clock/time.clock.system/sys.time.types.pass.cpp
vendor/libc++/dist/test/std/utilities/time/weeks.pass.cpp
vendor/libc++/dist/test/std/utilities/time/years.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.relops/relops_bool_conv.fail.cpp
vendor/libc++/dist/test/support/truncate_fp.h
vendor/libc++/dist/utils/ci/
vendor/libc++/dist/utils/ci/macos-backdeployment.sh (contents, props changed)
vendor/libc++/dist/utils/ci/macos-trunk.sh (contents, props changed)
vendor/libc++/dist/utils/docker/
vendor/libc++/dist/utils/docker/build_docker_image.sh (contents, props changed)
vendor/libc++/dist/utils/docker/debian9/
vendor/libc++/dist/utils/docker/debian9/Dockerfile
vendor/libc++/dist/utils/docker/scripts/
vendor/libc++/dist/utils/docker/scripts/build_gcc.sh (contents, props changed)
vendor/libc++/dist/utils/docker/scripts/build_install_llvm.sh (contents, props changed)
vendor/libc++/dist/utils/docker/scripts/checkout_git.sh (contents, props changed)
vendor/libc++/dist/utils/docker/scripts/docker_start_buildbots.sh (contents, props changed)
vendor/libc++/dist/utils/docker/scripts/install_clang_packages.sh (contents, props changed)
vendor/libc++/dist/utils/docker/scripts/run_buildbot.sh (contents, props changed)
vendor/libc++/dist/utils/google-benchmark/.clang-format
vendor/libc++/dist/utils/google-benchmark/.travis-libcxx-setup.sh
vendor/libc++/dist/utils/google-benchmark/.travis.yml
vendor/libc++/dist/utils/google-benchmark/.ycm_extra_conf.py
vendor/libc++/dist/utils/google-benchmark/WORKSPACE
vendor/libc++/dist/utils/google-benchmark/appveyor.yml
vendor/libc++/dist/utils/google-benchmark/mingw.py
vendor/libc++/dist/utils/google-benchmark/src/benchmark_api_internal.cc
vendor/libc++/dist/utils/google-benchmark/src/benchmark_runner.cc
vendor/libc++/dist/utils/google-benchmark/src/benchmark_runner.h
vendor/libc++/dist/utils/google-benchmark/test/AssemblyTests.cmake
vendor/libc++/dist/utils/google-benchmark/test/display_aggregates_only_test.cc
vendor/libc++/dist/utils/google-benchmark/test/memory_manager_test.cc
vendor/libc++/dist/utils/google-benchmark/test/report_aggregates_only_test.cc
vendor/libc++/dist/utils/google-benchmark/test/user_counters_thousands_test.cc
vendor/libc++/dist/utils/libcxx/test/googlebenchmark.py
Deleted:
vendor/libc++/dist/include/experimental/dynarray
vendor/libc++/dist/src/experimental/filesystem/
vendor/libc++/dist/test/libcxx/containers/sequences/list/list.special/
vendor/libc++/dist/test/libcxx/depr/depr.function.objects/depr.adaptors/
vendor/libc++/dist/test/libcxx/diagnostics/nodiscard.fail.cpp
vendor/libc++/dist/test/libcxx/experimental/containers/
vendor/libc++/dist/test/libcxx/experimental/filesystem/class.directory_entry/
vendor/libc++/dist/test/libcxx/experimental/filesystem/class.path/
vendor/libc++/dist/test/libcxx/language.support/support.dynamic/alloc.errors/
vendor/libc++/dist/test/libcxx/test/
vendor/libc++/dist/test/libcxx/thread/thread.mutex/thread.lock/
vendor/libc++/dist/test/libcxx/type_traits/is_floating_point.pass.cpp
vendor/libc++/dist/test/libcxx/utilities/variant/variant.variant/variant.assign/
vendor/libc++/dist/test/libcxx/utilities/variant/variant.variant/variant.ctor/
vendor/libc++/dist/test/std/containers/associative/multiset/insert_allocator_requirements.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multiset/insert_allocator_requirements.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.comparison/
vendor/libc++/dist/test/std/experimental/filesystem/Inputs/
vendor/libc++/dist/test/std/experimental/filesystem/class.directory_entry/
vendor/libc++/dist/test/std/experimental/filesystem/class.directory_iterator/
vendor/libc++/dist/test/std/experimental/filesystem/class.file_status/
vendor/libc++/dist/test/std/experimental/filesystem/class.filesystem_error/
vendor/libc++/dist/test/std/experimental/filesystem/class.path/
vendor/libc++/dist/test/std/experimental/filesystem/class.rec.dir.itr/
vendor/libc++/dist/test/std/experimental/filesystem/fs.enum/
vendor/libc++/dist/test/std/experimental/filesystem/fs.error.report/
vendor/libc++/dist/test/std/experimental/filesystem/fs.filesystem.synopsis/
vendor/libc++/dist/test/std/experimental/filesystem/fs.op.funcs/
vendor/libc++/dist/test/std/input.output/file.streams/c.files/no.global.filesystem.namespace/
vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size.fail.cpp
vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align.fail.cpp
vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align_nothrow.fail.cpp
vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_nothrow.fail.cpp
vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align.fail.cpp
vendor/libc++/dist/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align_nothrow.fail.cpp
vendor/libc++/dist/test/std/utilities/memory/unique.ptr/unique.ptr.create/
vendor/libc++/dist/test/std/utilities/memory/unique.ptr/unique.ptr.dltr/
vendor/libc++/dist/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/
vendor/libc++/dist/test/std/utilities/memory/unique.ptr/unique.ptr.single/
vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.ctor/copy.fail.cpp
vendor/libc++/dist/test/std/utilities/optional/optional.object/special_member_gen.pass.cpp
vendor/libc++/dist/utils/gen_link_script/
vendor/libc++/dist/utils/google-benchmark/tools/compare_bench.py
vendor/libc++/dist/utils/not/
vendor/libc++/dist/utils/sym_check/
Modified:
vendor/libc++/dist/CMakeLists.txt
vendor/libc++/dist/LICENSE.TXT
vendor/libc++/dist/appveyor-reqs-install.cmd
vendor/libc++/dist/appveyor.yml
vendor/libc++/dist/benchmarks/CMakeLists.txt
vendor/libc++/dist/benchmarks/algorithms.bench.cpp
vendor/libc++/dist/benchmarks/string.bench.cpp
vendor/libc++/dist/benchmarks/stringstream.bench.cpp
vendor/libc++/dist/benchmarks/unordered_set_operations.bench.cpp
vendor/libc++/dist/cmake/Modules/HandleCompilerRT.cmake
vendor/libc++/dist/cmake/Modules/HandleLibCXXABI.cmake
vendor/libc++/dist/cmake/Modules/HandleLibcxxFlags.cmake
vendor/libc++/dist/docs/BuildingLibcxx.rst
vendor/libc++/dist/docs/DesignDocs/AvailabilityMarkup.rst
vendor/libc++/dist/docs/DesignDocs/CapturingConfigInfo.rst
vendor/libc++/dist/docs/DesignDocs/VisibilityMacros.rst
vendor/libc++/dist/docs/TestingLibcxx.rst
vendor/libc++/dist/docs/UsingLibcxx.rst
vendor/libc++/dist/docs/conf.py
vendor/libc++/dist/docs/index.rst
vendor/libc++/dist/fuzzing/fuzzing.cpp
vendor/libc++/dist/include/CMakeLists.txt
vendor/libc++/dist/include/__bit_reference
vendor/libc++/dist/include/__config
vendor/libc++/dist/include/__config_site.in
vendor/libc++/dist/include/__debug
vendor/libc++/dist/include/__functional_base
vendor/libc++/dist/include/__hash_table
vendor/libc++/dist/include/__libcpp_version
vendor/libc++/dist/include/__locale
vendor/libc++/dist/include/__mutex_base
vendor/libc++/dist/include/__node_handle
vendor/libc++/dist/include/__sso_allocator
vendor/libc++/dist/include/__string
vendor/libc++/dist/include/__threading_support
vendor/libc++/dist/include/__tree
vendor/libc++/dist/include/__tuple
vendor/libc++/dist/include/algorithm
vendor/libc++/dist/include/any
vendor/libc++/dist/include/array
vendor/libc++/dist/include/atomic
vendor/libc++/dist/include/bitset
vendor/libc++/dist/include/charconv
vendor/libc++/dist/include/chrono
vendor/libc++/dist/include/cmath
vendor/libc++/dist/include/complex
vendor/libc++/dist/include/cstddef
vendor/libc++/dist/include/cstdlib
vendor/libc++/dist/include/ctime
vendor/libc++/dist/include/deque
vendor/libc++/dist/include/exception
vendor/libc++/dist/include/experimental/any
vendor/libc++/dist/include/experimental/chrono
vendor/libc++/dist/include/experimental/coroutine
vendor/libc++/dist/include/experimental/memory_resource
vendor/libc++/dist/include/experimental/numeric
vendor/libc++/dist/include/experimental/optional
vendor/libc++/dist/include/experimental/ratio
vendor/libc++/dist/include/experimental/string_view
vendor/libc++/dist/include/experimental/system_error
vendor/libc++/dist/include/experimental/tuple
vendor/libc++/dist/include/filesystem
vendor/libc++/dist/include/forward_list
vendor/libc++/dist/include/fstream
vendor/libc++/dist/include/functional
vendor/libc++/dist/include/future
vendor/libc++/dist/include/iomanip
vendor/libc++/dist/include/iosfwd
vendor/libc++/dist/include/istream
vendor/libc++/dist/include/iterator
vendor/libc++/dist/include/limits
vendor/libc++/dist/include/list
vendor/libc++/dist/include/locale
vendor/libc++/dist/include/map
vendor/libc++/dist/include/memory
vendor/libc++/dist/include/module.modulemap
vendor/libc++/dist/include/mutex
vendor/libc++/dist/include/new
vendor/libc++/dist/include/numeric
vendor/libc++/dist/include/optional
vendor/libc++/dist/include/ostream
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/shared_mutex
vendor/libc++/dist/include/span
vendor/libc++/dist/include/sstream
vendor/libc++/dist/include/stddef.h
vendor/libc++/dist/include/stdexcept
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/thread
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/valarray
vendor/libc++/dist/include/variant
vendor/libc++/dist/include/vector
vendor/libc++/dist/include/version
vendor/libc++/dist/lib/CMakeLists.txt
vendor/libc++/dist/lib/abi/CHANGELOG.TXT
vendor/libc++/dist/lib/abi/CMakeLists.txt
vendor/libc++/dist/lib/abi/x86_64-apple-darwin.v1.abilist
vendor/libc++/dist/lib/abi/x86_64-apple-darwin.v2.abilist
vendor/libc++/dist/lib/abi/x86_64-unknown-linux-gnu.v1.abilist
vendor/libc++/dist/lib/libc++abi2.exp
vendor/libc++/dist/src/experimental/memory_resource.cpp
vendor/libc++/dist/src/filesystem/filesystem_common.h
vendor/libc++/dist/src/filesystem/operations.cpp
vendor/libc++/dist/src/future.cpp
vendor/libc++/dist/src/iostream.cpp
vendor/libc++/dist/src/new.cpp
vendor/libc++/dist/src/support/runtime/exception_fallback.ipp
vendor/libc++/dist/src/support/runtime/exception_glibcxx.ipp
vendor/libc++/dist/src/support/runtime/exception_libcxxrt.ipp
vendor/libc++/dist/src/support/runtime/exception_msvc.ipp
vendor/libc++/dist/src/thread.cpp
vendor/libc++/dist/test/CMakeLists.txt
vendor/libc++/dist/test/libcxx/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.cxx1z.pass.cpp
vendor/libc++/dist/test/libcxx/algorithms/debug_less.pass.cpp
vendor/libc++/dist/test/libcxx/containers/associative/non_const_comparator.fail.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/vector/db_back.pass.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/vector/db_cback.pass.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/vector/db_cfront.pass.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/vector/db_cindex.pass.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/vector/db_front.pass.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/vector/db_index.pass.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/vector/db_iterators_2.pass.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/vector/db_iterators_3.pass.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/vector/db_iterators_4.pass.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/vector/db_iterators_5.pass.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/vector/db_iterators_6.pass.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/vector/db_iterators_7.pass.cpp
vendor/libc++/dist/test/libcxx/containers/sequences/vector/db_iterators_8.pass.cpp
vendor/libc++/dist/test/libcxx/containers/unord/non_const_comparator.fail.cpp
vendor/libc++/dist/test/libcxx/containers/unord/unord.map/db_iterators_7.pass.cpp
vendor/libc++/dist/test/libcxx/containers/unord/unord.map/db_iterators_8.pass.cpp
vendor/libc++/dist/test/libcxx/containers/unord/unord.map/db_local_iterators_7.pass.cpp
vendor/libc++/dist/test/libcxx/containers/unord/unord.map/db_local_iterators_8.pass.cpp
vendor/libc++/dist/test/libcxx/depr/depr.function.objects/depr.adaptors.cxx1z.pass.cpp
vendor/libc++/dist/test/libcxx/diagnostics/nodiscard.pass.cpp
vendor/libc++/dist/test/libcxx/double_include.sh.cpp
vendor/libc++/dist/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
vendor/libc++/dist/test/libcxx/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/db_deallocate.pass.cpp
vendor/libc++/dist/test/libcxx/language.support/cxa_deleted_virtual.pass.cpp
vendor/libc++/dist/test/libcxx/language.support/has_c11_features.pass.cpp
vendor/libc++/dist/test/libcxx/language.support/support.dynamic/new_faligned_allocation.sh.cpp
vendor/libc++/dist/test/libcxx/min_max_macros.sh.cpp
vendor/libc++/dist/test/libcxx/strings/basic.string/string.modifiers/erase_iter_db1.pass.cpp
vendor/libc++/dist/test/libcxx/strings/basic.string/string.modifiers/erase_iter_db2.pass.cpp
vendor/libc++/dist/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db1.pass.cpp
vendor/libc++/dist/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db2.pass.cpp
vendor/libc++/dist/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db3.pass.cpp
vendor/libc++/dist/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db4.pass.cpp
vendor/libc++/dist/test/libcxx/thread/thread.mutex/thread_safety_lock_guard.pass.cpp
vendor/libc++/dist/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp
vendor/libc++/dist/test/libcxx/utilities/utility/pairs/pairs.pair/non_trivial_copy_move_ABI.pass.cpp
vendor/libc++/dist/test/libcxx/utilities/utility/pairs/pairs.pair/pair.tuple_element.fail.cpp
vendor/libc++/dist/test/libcxx/utilities/utility/pairs/pairs.pair/trivial_copy_move_ABI.pass.cpp
vendor/libc++/dist/test/libcxx/utilities/variant/variant.variant/variant.helper/variant_alternative.fail.cpp
vendor/libc++/dist/test/libcxx/utilities/variant/variant.variant/variant_size.pass.cpp
vendor/libc++/dist/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.fail.cpp
vendor/libc++/dist/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp
vendor/libc++/dist/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp
vendor/libc++/dist/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp
vendor/libc++/dist/test/std/containers/Emplaceable.h
vendor/libc++/dist/test/std/containers/associative/map/map.access/at.pass.cpp
vendor/libc++/dist/test/std/containers/associative/map/map.access/index_key.pass.cpp
vendor/libc++/dist/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp
vendor/libc++/dist/test/std/containers/associative/map/map.access/max_size.pass.cpp
vendor/libc++/dist/test/std/containers/associative/map/map.modifiers/clear.pass.cpp
vendor/libc++/dist/test/std/containers/associative/multimap/max_size.pass.cpp
vendor/libc++/dist/test/std/containers/associative/multimap/multimap.modifiers/clear.pass.cpp
vendor/libc++/dist/test/std/containers/associative/multiset/clear.pass.cpp
vendor/libc++/dist/test/std/containers/associative/multiset/max_size.pass.cpp
vendor/libc++/dist/test/std/containers/associative/set/clear.pass.cpp
vendor/libc++/dist/test/std/containers/associative/set/max_size.pass.cpp
vendor/libc++/dist/test/std/containers/container.adaptors/queue/queue.defn/emplace.pass.cpp
vendor/libc++/dist/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp
vendor/libc++/dist/test/std/containers/container.node/node_handle.pass.cpp
vendor/libc++/dist/test/std/containers/map_allocator_requirement_test_templates.h
vendor/libc++/dist/test/std/containers/sequences/array/array.data/data.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/array/array.data/data_const.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/array/array.tuple/get.fail.cpp
vendor/libc++/dist/test/std/containers/sequences/array/array.tuple/tuple_element.fail.cpp
vendor/libc++/dist/test/std/containers/sequences/array/begin.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/array/compare.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/array/size_and_alignment.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/deque/deque.capacity/max_size.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/deque/deque.modifiers/erase_iter.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/deque/deque.modifiers/erase_iter_iter.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/forwardlist/forwardlist.modifiers/clear.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size_value.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/forwardlist/max_size.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/list/list.capacity/max_size.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/list/list.modifiers/clear.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/list/list.ops/merge.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/list/list.ops/merge_comp.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/vector.bool/construct_default.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/vector.bool/default_noexcept.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/vector.bool/move.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/vector/vector.capacity/max_size.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/vector/vector.cons/default_noexcept.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/vector/vector.cons/move.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/vector/vector.modifiers/clear.pass.cpp
vendor/libc++/dist/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.pass.cpp
vendor/libc++/dist/test/std/containers/set_allocator_requirement_test_templates.h
vendor/libc++/dist/test/std/containers/unord/unord.map/compare.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.map/max_size.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/assign_copy.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/assign_init.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/assign_move.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/range.pass.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.elem/index.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.modifiers/clear.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multimap/equal_range_const.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multimap/equal_range_non_const.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multimap/local_iterators.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multimap/max_size.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multimap/rehash.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multimap/reserve.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multimap/swap_member.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_copy.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_init.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_move.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/clear.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multiset/clear.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multiset/erase_range.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multiset/max_size.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_copy.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_init.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_move.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.set/clear.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.set/erase_range.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.set/max_size.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/assign_copy.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/assign_init.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/assign_move.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/init.pass.cpp
vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/range.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.cons/array.fail.cpp
vendor/libc++/dist/test/std/containers/views/span.cons/array.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.cons/assign.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.cons/container.fail.cpp
vendor/libc++/dist/test/std/containers/views/span.cons/container.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.cons/copy.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.cons/deduct.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.cons/default.fail.cpp
vendor/libc++/dist/test/std/containers/views/span.cons/default.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.cons/ptr_len.fail.cpp
vendor/libc++/dist/test/std/containers/views/span.cons/ptr_len.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.cons/ptr_ptr.fail.cpp
vendor/libc++/dist/test/std/containers/views/span.cons/ptr_ptr.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.cons/span.fail.cpp
vendor/libc++/dist/test/std/containers/views/span.cons/span.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.cons/stdarray.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.elem/data.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.elem/op_idx.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.iterators/begin.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.iterators/end.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.iterators/rbegin.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.iterators/rend.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.objectrep/as_bytes.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.objectrep/as_writeable_bytes.fail.cpp
vendor/libc++/dist/test/std/containers/views/span.objectrep/as_writeable_bytes.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.obs/empty.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.obs/size.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.obs/size_bytes.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.sub/first.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.sub/last.pass.cpp
vendor/libc++/dist/test/std/containers/views/span.sub/subspan.pass.cpp
vendor/libc++/dist/test/std/containers/views/types.pass.cpp
vendor/libc++/dist/test/std/depr/depr.c.headers/float_h.pass.cpp
vendor/libc++/dist/test/std/depr/depr.c.headers/math_h.pass.cpp
vendor/libc++/dist/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
vendor/libc++/dist/test/std/depr/depr.c.headers/uchar_h.pass.cpp
vendor/libc++/dist/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/overflow.pass.cpp
vendor/libc++/dist/test/std/experimental/simd/simd.access/default.pass.cpp
vendor/libc++/dist/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
vendor/libc++/dist/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
vendor/libc++/dist/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
vendor/libc++/dist/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp
vendor/libc++/dist/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp
vendor/libc++/dist/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
vendor/libc++/dist/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
vendor/libc++/dist/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
vendor/libc++/dist/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
vendor/libc++/dist/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
vendor/libc++/dist/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/ext.manip/get_money.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/ext.manip/get_time.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.formatted.arithmetic/int.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/short.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/signed_char_pointer.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/unsigned_char_pointer.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/wchar_t_pointer.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.rvalue/rvalue.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size_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/input.streams/istream.unformatted/ignore_0xff.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.unformatted/readsome.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minmax_showbase.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/std.manip/resetiosflags.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/std.manip/setbase.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/std.manip/setfill.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/std.manip/setiosflags.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/std.manip/setprecision.pass.cpp
vendor/libc++/dist/test/std/input.output/iostream.format/std.manip/setw.pass.cpp
vendor/libc++/dist/test/std/input.output/iostreams.base/ios/basic.ios.members/narrow.pass.cpp
vendor/libc++/dist/test/std/iterators/iterator.primitives/iterator.traits/iterator.pass.cpp
vendor/libc++/dist/test/std/language.support/cmp/cmp.partialord/partialord.pass.cpp
vendor/libc++/dist/test/std/language.support/cmp/cmp.strongord/strongord.pass.cpp
vendor/libc++/dist/test/std/language.support/cmp/cmp.weakord/weakord.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/sized_delete_array_fsizeddeallocation.sh.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/sized_delete_fsizeddeallocation.sh.cpp
vendor/libc++/dist/test/std/language.support/support.dynamic/ptr.launder/launder.types.fail.cpp
vendor/libc++/dist/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/c.limits/cfloat.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.limits/limits/numeric.limits.members/denorm_min.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp
vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp
vendor/libc++/dist/test/std/language.support/support.runtime/cstdlib.pass.cpp
vendor/libc++/dist/test/std/language.support/support.runtime/ctime.pass.cpp
vendor/libc++/dist/test/std/language.support/support.start.term/quick_exit.pass.cpp
vendor/libc++/dist/test/std/language.support/support.start.term/quick_exit_check1.fail.cpp
vendor/libc++/dist/test/std/language.support/support.start.term/quick_exit_check2.fail.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.collate/locale.collate.byname/transform.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/wchar_t_out.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.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.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.byname/grouping.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/neg_format.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/pos_format.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/test_min_max.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/test_neg_one.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_date.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_date_wide.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
vendor/libc++/dist/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
vendor/libc++/dist/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp
vendor/libc++/dist/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp
vendor/libc++/dist/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp
vendor/libc++/dist/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp
vendor/libc++/dist/test/std/numerics/c.math/cmath.pass.cpp
vendor/libc++/dist/test/std/numerics/complex.number/complex.ops/stream_input.pass.cpp
vendor/libc++/dist/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp
vendor/libc++/dist/test/std/re/re.alg/re.alg.match/basic.pass.cpp
vendor/libc++/dist/test/std/re/re.alg/re.alg.match/ecma.pass.cpp
vendor/libc++/dist/test/std/re/re.alg/re.alg.match/extended.pass.cpp
vendor/libc++/dist/test/std/re/re.alg/re.alg.match/parse_curly_brackets.pass.cpp
vendor/libc++/dist/test/std/re/re.alg/re.alg.search/awk.pass.cpp
vendor/libc++/dist/test/std/re/re.alg/re.alg.search/basic.pass.cpp
vendor/libc++/dist/test/std/re/re.alg/re.alg.search/ecma.pass.cpp
vendor/libc++/dist/test/std/re/re.alg/re.alg.search/extended.pass.cpp
vendor/libc++/dist/test/std/re/re.alg/re.alg.search/invert_neg_word_search.pass.cpp
vendor/libc++/dist/test/std/re/re.grammar/excessive_brace_count.pass.cpp
vendor/libc++/dist/test/std/re/re.traits/lookup_collatename.pass.cpp
vendor/libc++/dist/test/std/re/re.traits/transform.pass.cpp
vendor/libc++/dist/test/std/re/re.traits/transform_primary.pass.cpp
vendor/libc++/dist/test/std/re/re.traits/translate_nocase.pass.cpp
vendor/libc++/dist/test/std/strings/basic.string.hash/enabled_hashes.pass.cpp
vendor/libc++/dist/test/std/strings/basic.string.hash/strings.pass.cpp
vendor/libc++/dist/test/std/strings/basic.string.literals/literal.pass.cpp
vendor/libc++/dist/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
vendor/libc++/dist/test/std/strings/basic.string/string.capacity/reserve.pass.cpp
vendor/libc++/dist/test/std/strings/basic.string/string.cons/string_view_deduction.pass.cpp
vendor/libc++/dist/test/std/strings/basic.string/string.cons/string_view_size_size_deduction.fail.cpp
vendor/libc++/dist/test/std/strings/basic.string/string.cons/string_view_size_size_deduction.pass.cpp
vendor/libc++/dist/test/std/strings/basic.string/string.iterators/iterators.pass.cpp
vendor/libc++/dist/test/std/strings/c.strings/cctype.pass.cpp
vendor/libc++/dist/test/std/strings/c.strings/cstring.pass.cpp
vendor/libc++/dist/test/std/strings/c.strings/cuchar.pass.cpp
vendor/libc++/dist/test/std/strings/c.strings/cwchar.pass.cpp
vendor/libc++/dist/test/std/strings/c.strings/cwctype.pass.cpp
vendor/libc++/dist/test/std/strings/string.classes/typedefs.pass.cpp
vendor/libc++/dist/test/std/strings/string.conversions/stod.pass.cpp
vendor/libc++/dist/test/std/strings/string.conversions/stof.pass.cpp
vendor/libc++/dist/test/std/strings/string.conversions/stoi.pass.cpp
vendor/libc++/dist/test/std/strings/string.conversions/stol.pass.cpp
vendor/libc++/dist/test/std/strings/string.conversions/stoll.pass.cpp
vendor/libc++/dist/test/std/strings/string.conversions/stoul.pass.cpp
vendor/libc++/dist/test/std/strings/string.conversions/stoull.pass.cpp
vendor/libc++/dist/test/std/strings/string.conversions/to_string.pass.cpp
vendor/libc++/dist/test/std/strings/string.conversions/to_wstring.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/assign.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_string.pass.cpp
vendor/libc++/dist/test/std/strings/string.view/string.view.hash/enabled_hashes.pass.cpp
vendor/libc++/dist/test/std/strings/string.view/string.view.hash/string_view.pass.cpp
vendor/libc++/dist/test/std/strings/string.view/string.view.iterators/begin.pass.cpp
vendor/libc++/dist/test/std/strings/string.view/string.view.iterators/end.pass.cpp
vendor/libc++/dist/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp
vendor/libc++/dist/test/std/strings/string.view/string.view.iterators/rend.pass.cpp
vendor/libc++/dist/test/std/strings/string.view/string.view.ops/compare.pointer_size.pass.cpp
vendor/libc++/dist/test/std/strings/string.view/string.view.ops/compare.size_size_sv.pass.cpp
vendor/libc++/dist/test/std/strings/string.view/string.view.ops/compare.size_size_sv_pointer_size.pass.cpp
vendor/libc++/dist/test/std/strings/string.view/string.view.ops/compare.size_size_sv_size_size.pass.cpp
vendor/libc++/dist/test/std/strings/string.view/string.view.ops/copy.pass.cpp
vendor/libc++/dist/test/std/strings/string.view/string_view.literals/literal.pass.cpp
vendor/libc++/dist/test/std/strings/string.view/types.pass.cpp
vendor/libc++/dist/test/std/thread/futures/futures.shared_future/wait_until.pass.cpp
vendor/libc++/dist/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
vendor/libc++/dist/test/std/thread/thread.condition/thread.condition.condvarany/notify_one.pass.cpp
vendor/libc++/dist/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp
vendor/libc++/dist/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.pass.cpp
vendor/libc++/dist/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_try_to_lock.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/lock.pass.cpp
vendor/libc++/dist/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp
vendor/libc++/dist/test/std/thread/thread.threads/thread.thread.this/sleep_until.pass.cpp
vendor/libc++/dist/test/std/utilities/any/any.class/any.assign/copy.pass.cpp
vendor/libc++/dist/test/std/utilities/any/any.class/any.assign/move.pass.cpp
vendor/libc++/dist/test/std/utilities/any/any.class/any.assign/value.pass.cpp
vendor/libc++/dist/test/std/utilities/any/any.class/any.cons/copy.pass.cpp
vendor/libc++/dist/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp
vendor/libc++/dist/test/std/utilities/any/any.class/any.cons/move.pass.cpp
vendor/libc++/dist/test/std/utilities/any/any.class/any.cons/value.pass.cpp
vendor/libc++/dist/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp
vendor/libc++/dist/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp
vendor/libc++/dist/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp
vendor/libc++/dist/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.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/make_any.pass.cpp
vendor/libc++/dist/test/std/utilities/any/any.nonmembers/swap.pass.cpp
vendor/libc++/dist/test/std/utilities/charconv/charconv.from.chars/integral.pass.cpp
vendor/libc++/dist/test/std/utilities/charconv/charconv.to.chars/integral.pass.cpp
vendor/libc++/dist/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/nested.pass.cpp
vendor/libc++/dist/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp
vendor/libc++/dist/test/std/utilities/function.objects/refwrap/type_properties.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/default.allocator/allocator.members/allocate.pass.cpp
vendor/libc++/dist/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp
vendor/libc++/dist/test/std/utilities/memory/pointer.traits/pointer_to.pass.cpp
vendor/libc++/dist/test/std/utilities/memory/storage.iterator/raw_storage_iterator.base.pass.cpp
vendor/libc++/dist/test/std/utilities/memory/storage.iterator/raw_storage_iterator.pass.cpp
vendor/libc++/dist/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared.pass.cpp
vendor/libc++/dist/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.pass.cpp
vendor/libc++/dist/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp
vendor/libc++/dist/test/std/utilities/meta/meta.type.synop/endian.pass.cpp
vendor/libc++/dist/test/std/utilities/meta/meta.unary.prop.query/alignment_of.pass.cpp
vendor/libc++/dist/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp
vendor/libc++/dist/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_default_constructible.pass.cpp
vendor/libc++/dist/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp
vendor/libc++/dist/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp
vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.assign/copy.pass.cpp
vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.assign/move.pass.cpp
vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp
vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.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.specalg/make_optional.pass.cpp
vendor/libc++/dist/test/std/utilities/template.bitset/bitset.members/flip_one.pass.cpp
vendor/libc++/dist/test/std/utilities/template.bitset/bitset.members/reset_one.pass.cpp
vendor/libc++/dist/test/std/utilities/template.bitset/bitset.members/set_one.pass.cpp
vendor/libc++/dist/test/std/utilities/template.bitset/bitset.members/test.pass.cpp
vendor/libc++/dist/test/std/utilities/template.bitset/includes.pass.cpp
vendor/libc++/dist/test/std/utilities/time/date.time/ctime.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.literals/literals.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.duration/time.duration.literals/literals1.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.duration/time.duration.nonmember/op_divide_duration.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.duration/time.duration.special/max.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.duration/time.duration.special/min.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.duration/time.duration.special/zero.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.point/time.point.arithmetic/op_+=.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.point/time.point.arithmetic/op_-=.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.point/time.point.special/max.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.point/time.point.special/min.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.traits/time.traits.duration_values/max.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.traits/time.traits.duration_values/min.pass.cpp
vendor/libc++/dist/test/std/utilities/time/time.traits/time.traits.duration_values/zero.pass.cpp
vendor/libc++/dist/test/std/utilities/tuple/tuple.tuple/TupleFunction.pass.cpp
vendor/libc++/dist/test/std/utilities/tuple/tuple.tuple/tuple.assign/move.pass.cpp
vendor/libc++/dist/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/PR20855_tuple_ref_binding_diagnostics.pass.cpp
vendor/libc++/dist/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_incomplete.fail.cpp
vendor/libc++/dist/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_incomplete.pass.cpp
vendor/libc++/dist/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_structured_bindings.pass.cpp
vendor/libc++/dist/test/std/utilities/type.index/type.index.hash/hash.pass.cpp
vendor/libc++/dist/test/std/utilities/utility/pairs/pairs.pair/piecewise.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.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.relops/relops.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.status/index.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.status/valueless_by_exception.pass.cpp
vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.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/archetypes.hpp
vendor/libc++/dist/test/support/archetypes.ipp
vendor/libc++/dist/test/support/counting_predicates.hpp
vendor/libc++/dist/test/support/filesystem_dynamic_test_helper.py
vendor/libc++/dist/test/support/filesystem_test_helper.hpp
vendor/libc++/dist/test/support/min_allocator.h
vendor/libc++/dist/test/support/nasty_macros.hpp
vendor/libc++/dist/test/support/poisoned_hash_helper.hpp
vendor/libc++/dist/test/support/test_comparisons.h
vendor/libc++/dist/test/support/test_macros.h
vendor/libc++/dist/test/support/unique_ptr_test_helper.h
vendor/libc++/dist/utils/google-benchmark/.gitignore
vendor/libc++/dist/utils/google-benchmark/AUTHORS
vendor/libc++/dist/utils/google-benchmark/CMakeLists.txt
vendor/libc++/dist/utils/google-benchmark/CONTRIBUTORS
vendor/libc++/dist/utils/google-benchmark/README.md
vendor/libc++/dist/utils/google-benchmark/cmake/CXXFeatureCheck.cmake
vendor/libc++/dist/utils/google-benchmark/cmake/GetGitVersion.cmake
vendor/libc++/dist/utils/google-benchmark/cmake/HandleGTest.cmake
vendor/libc++/dist/utils/google-benchmark/docs/tools.md
vendor/libc++/dist/utils/google-benchmark/include/benchmark/benchmark.h
vendor/libc++/dist/utils/google-benchmark/src/benchmark.cc
vendor/libc++/dist/utils/google-benchmark/src/benchmark_api_internal.h
vendor/libc++/dist/utils/google-benchmark/src/benchmark_register.cc
vendor/libc++/dist/utils/google-benchmark/src/colorprint.cc
vendor/libc++/dist/utils/google-benchmark/src/complexity.cc
vendor/libc++/dist/utils/google-benchmark/src/console_reporter.cc
vendor/libc++/dist/utils/google-benchmark/src/csv_reporter.cc
vendor/libc++/dist/utils/google-benchmark/src/cycleclock.h
vendor/libc++/dist/utils/google-benchmark/src/internal_macros.h
vendor/libc++/dist/utils/google-benchmark/src/json_reporter.cc
vendor/libc++/dist/utils/google-benchmark/src/reporter.cc
vendor/libc++/dist/utils/google-benchmark/src/sleep.cc
vendor/libc++/dist/utils/google-benchmark/src/statistics.cc
vendor/libc++/dist/utils/google-benchmark/src/string_util.h
vendor/libc++/dist/utils/google-benchmark/src/sysinfo.cc
vendor/libc++/dist/utils/google-benchmark/src/thread_manager.h
vendor/libc++/dist/utils/google-benchmark/src/timers.cc
vendor/libc++/dist/utils/google-benchmark/test/CMakeLists.txt
vendor/libc++/dist/utils/google-benchmark/test/complexity_test.cc
vendor/libc++/dist/utils/google-benchmark/test/output_test.h
vendor/libc++/dist/utils/google-benchmark/test/output_test_helper.cc
vendor/libc++/dist/utils/google-benchmark/test/register_benchmark_test.cc
vendor/libc++/dist/utils/google-benchmark/test/reporter_output_test.cc
vendor/libc++/dist/utils/google-benchmark/test/skip_with_error_test.cc
vendor/libc++/dist/utils/google-benchmark/test/string_util_gtest.cc
vendor/libc++/dist/utils/google-benchmark/test/user_counters_tabular_test.cc
vendor/libc++/dist/utils/google-benchmark/test/user_counters_test.cc
vendor/libc++/dist/utils/google-benchmark/tools/compare.py
vendor/libc++/dist/utils/google-benchmark/tools/gbench/Inputs/test3_run0.json
vendor/libc++/dist/utils/google-benchmark/tools/gbench/Inputs/test3_run1.json
vendor/libc++/dist/utils/google-benchmark/tools/gbench/report.py
vendor/libc++/dist/utils/google-benchmark/tools/gbench/util.py
vendor/libc++/dist/utils/libcxx/test/config.py
vendor/libc++/dist/utils/libcxx/test/format.py
vendor/libc++/dist/utils/libcxx/test/target_info.py
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/upcoming_meeting.html
Modified: vendor/libc++/dist/CMakeLists.txt
==============================================================================
--- vendor/libc++/dist/CMakeLists.txt Sat Jan 19 10:05:15 2019 (r343176)
+++ vendor/libc++/dist/CMakeLists.txt Sat Jan 19 10:05:35 2019 (r343177)
@@ -27,7 +27,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR
project(libcxx CXX C)
set(PACKAGE_NAME libcxx)
- set(PACKAGE_VERSION 7.0.0svn)
+ set(PACKAGE_VERSION 8.0.0svn)
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
set(PACKAGE_BUGREPORT "llvm-bugs at lists.llvm.org")
@@ -50,9 +50,14 @@ MACRO_ENSURE_OUT_OF_SOURCE_BUILD(
"${PROJECT_NAME} requires an out of source build. Please create a separate
build directory and run 'cmake /path/to/${PROJECT_NAME} [options]' there."
)
+if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" AND "${CMAKE_CXX_SIMULATE_ID}" STREQUAL "MSVC")
+ message(STATUS "Configuring for clang-cl")
+ set(LIBCXX_TARGETING_CLANG_CL ON)
+endif()
if (MSVC)
set(LIBCXX_TARGETING_MSVC ON)
+ message(STATUS "Configuring for MSVC")
else()
set(LIBCXX_TARGETING_MSVC OFF)
endif()
@@ -77,7 +82,12 @@ option(LIBCXX_ENABLE_FILESYSTEM "Build filesystem as p
option(LIBCXX_INCLUDE_TESTS "Build the libc++ tests." ${LLVM_INCLUDE_TESTS})
# Benchmark options -----------------------------------------------------------
-option(LIBCXX_INCLUDE_BENCHMARKS "Build the libc++ benchmarks and their dependancies" ON)
+option(LIBCXX_INCLUDE_BENCHMARKS "Build the libc++ benchmarks and their dependencies" ON)
+
+set(LIBCXX_BENCHMARK_TEST_ARGS_DEFAULT --benchmark_min_time=0.01)
+set(LIBCXX_BENCHMARK_TEST_ARGS "${LIBCXX_BENCHMARK_TEST_ARGS_DEFAULT}" CACHE STRING
+ "Arguments to pass when running the benchmarks using check-cxx-benchmarks")
+
set(LIBCXX_BENCHMARK_NATIVE_STDLIB "" CACHE STRING
"Build the benchmarks against the specified native STL.
The value must be one of libc++/libstdc++")
@@ -111,15 +121,12 @@ cmake_dependent_option(LIBCXX_INSTALL_FILESYSTEM_LIBRA
"Install libc++fs.a" ON
"LIBCXX_ENABLE_FILESYSTEM;LIBCXX_INSTALL_LIBRARY" OFF)
-if (FUCHSIA)
- set(DEFAULT_ABI_VERSION 2)
-else()
- set(DEFAULT_ABI_VERSION 1)
-endif()
-set(LIBCXX_ABI_VERSION ${DEFAULT_ABI_VERSION} CACHE STRING "ABI version of libc++.")
+set(LIBCXX_ABI_VERSION "1" CACHE STRING "ABI version of libc++. Can be either 1 or 2, where 2 is currently not stable. Defaults to 1.")
+set(LIBCXX_ABI_NAMESPACE "" CACHE STRING "The inline ABI namespace used by libc++. It defaults to __n where `n` is the current ABI version.")
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.")
+option(LIBCXX_HIDE_FROM_ABI_PER_TU_BY_DEFAULT "Enable per TU ABI insulation by default. To be used by vendors." OFF)
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)
@@ -175,7 +182,7 @@ cmake_dependent_option(LIBCXX_STATICALLY_LINK_ABI_IN_S
cmake_dependent_option(LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY
"Statically link the ABI library to shared library" ON
- "LIBCXX_ENABLE_STATIC_ABI_LIBRARY;LIBCXX_ENABLE_STATIC" OFF)
+ "LIBCXX_ENABLE_STATIC_ABI_LIBRARY;LIBCXX_ENABLE_SHARED" OFF)
# Generate and install a linker script inplace of libc++.so. The linker script
# will link libc++ to the correct ABI library. This option is on by default
@@ -276,6 +283,9 @@ endif()
option(LIBCXX_CONFIGURE_IDE "Configure libcxx for use within an IDE"
${LIBCXX_CONFIGURE_IDE_DEFAULT})
+option(LIBCXX_HERMETIC_STATIC_LIBRARY
+ "Do not export any symbols from the static library." OFF)
+
#===============================================================================
# Check option configurations
#===============================================================================
@@ -502,14 +512,16 @@ remove_flags(-Wno-pedantic -pedantic-errors -pedantic)
# Required flags ==============================================================
set(LIBCXX_STANDARD_VER c++11 CACHE INTERNAL "internal option to change build dialect")
-if (LIBCXX_HAS_MUSL_LIBC)
+if (LIBCXX_HAS_MUSL_LIBC OR LIBCXX_TARGETING_CLANG_CL)
# musl's pthread implementations uses volatile types in their structs which is
# not a constexpr in C++11 but is in C++14, so we use C++14 with musl.
set(LIBCXX_STANDARD_VER c++14 CACHE INTERNAL "internal option to change build dialect")
endif()
add_compile_flags_if_supported(-std=${LIBCXX_STANDARD_VER})
+add_compile_flags_if_supported("/std:${LIBCXX_STANDARD_VER}")
mangle_name("LIBCXX_SUPPORTS_STD_EQ_${LIBCXX_STANDARD_VER}_FLAG" SUPPORTS_DIALECT_NAME)
-if(NOT ${SUPPORTS_DIALECT_NAME})
+mangle_name("LIBCXX_SUPPORTS_STD_COLON_${LIBCXX_STANDARD_VER}_FLAG" SUPPORTS_DIALECT_NAME_MSVC)
+if(NOT ${SUPPORTS_DIALECT_NAME} AND NOT ${SUPPORTS_DIALECT_NAME_MSVC})
if(NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC" AND NOT "${CMAKE_CXX_SIMULATE_ID}" STREQUAL "MSVC")
message(FATAL_ERROR "C++11 or greater is required but the compiler does not support ${LIBCXX_STANDARD_VER}")
endif()
@@ -544,11 +556,29 @@ add_definitions(-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
add_compile_flags_if_supported(
-Wall -Wextra -W -Wwrite-strings
-Wno-unused-parameter -Wno-long-long
- -Werror=return-type)
+ -Werror=return-type -Wextra-semi)
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
add_compile_flags_if_supported(
-Wno-user-defined-literals
-Wno-covered-switch-default)
+ if (LIBCXX_TARGETING_CLANG_CL)
+ add_compile_flags_if_supported(
+ -Wno-c++98-compat
+ -Wno-c++98-compat-pedantic
+ -Wno-c++11-compat
+ -Wno-undef
+ -Wno-reserved-id-macro
+ -Wno-gnu-include-next
+ -Wno-gcc-compat # For ignoring "'diagnose_if' is a clang extension" warnings
+ -Wno-zero-as-null-pointer-constant # FIXME: Remove this and fix all occurrences.
+ -Wno-deprecated-dynamic-exception-spec # For auto_ptr
+ -Wno-sign-conversion
+ -Wno-old-style-cast
+ -Wno-deprecated # FIXME: Remove this and fix all occurrences.
+ -Wno-shift-sign-overflow # FIXME: Why do we need this with clang-cl but not clang?
+ -Wno-double-promotion # FIXME: remove me
+ )
+ endif()
elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
add_compile_flags_if_supported(
-Wno-literal-suffix
@@ -621,47 +651,67 @@ endif()
# Sanitizer flags =============================================================
-# Configure for sanitizers. If LIBCXX_STANDALONE_BUILD then we have to do
-# the flag translation ourselves. Othewise LLVM's CMakeList.txt will handle it.
-if (LIBCXX_STANDALONE_BUILD)
- set(LLVM_USE_SANITIZER "" CACHE STRING
- "Define the sanitizer used to build the library and tests")
+function(get_sanitizer_flags OUT_VAR USE_SANITIZER)
+ set(SANITIZER_FLAGS)
+ set(USE_SANITIZER "${USE_SANITIZER}")
# NOTE: LLVM_USE_SANITIZER checks for a UNIX like system instead of MSVC.
# But we don't have LLVM_ON_UNIX so checking for MSVC is the best we can do.
- if (LLVM_USE_SANITIZER AND NOT MSVC)
- add_flags_if_supported("-fno-omit-frame-pointer")
- add_flags_if_supported("-gline-tables-only")
+ if (USE_SANITIZER AND NOT MSVC)
+ append_flags_if_supported(SANITIZER_FLAGS "-fno-omit-frame-pointer")
+ append_flags_if_supported(SANITIZER_FLAGS "-gline-tables-only")
if (NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG" AND
- NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "RELWITHDEBINFO")
- add_flags_if_supported("-gline-tables-only")
+ NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "RELWITHDEBINFO")
+ append_flags_if_supported(SANITIZER_FLAGS "-gline-tables-only")
endif()
- if (LLVM_USE_SANITIZER STREQUAL "Address")
- add_flags("-fsanitize=address")
- elseif (LLVM_USE_SANITIZER MATCHES "Memory(WithOrigins)?")
- add_flags(-fsanitize=memory)
- if (LLVM_USE_SANITIZER STREQUAL "MemoryWithOrigins")
- add_flags("-fsanitize-memory-track-origins")
+ if (USE_SANITIZER STREQUAL "Address")
+ append_flags(SANITIZER_FLAGS "-fsanitize=address")
+ elseif (USE_SANITIZER MATCHES "Memory(WithOrigins)?")
+ append_flags(SANITIZER_FLAGS -fsanitize=memory)
+ if (USE_SANITIZER STREQUAL "MemoryWithOrigins")
+ append_flags(SANITIZER_FLAGS "-fsanitize-memory-track-origins")
endif()
- elseif (LLVM_USE_SANITIZER STREQUAL "Undefined")
- add_flags("-fsanitize=undefined -fno-sanitize=vptr,function -fno-sanitize-recover=all")
- elseif (LLVM_USE_SANITIZER STREQUAL "Thread")
- add_flags(-fsanitize=thread)
+ elseif (USE_SANITIZER STREQUAL "Undefined")
+ append_flags(SANITIZER_FLAGS "-fsanitize=undefined -fno-sanitize=vptr,function -fno-sanitize-recover=all")
+ elseif (USE_SANITIZER STREQUAL "Thread")
+ append_flags(SANITIZER_FLAGS -fsanitize=thread)
else()
- message(WARNING "Unsupported value of LLVM_USE_SANITIZER: ${LLVM_USE_SANITIZER}")
+ message(WARNING "Unsupported value of LLVM_USE_SANITIZER: ${USE_SANITIZER}")
endif()
- elseif(LLVM_USE_SANITIZER AND MSVC)
+ elseif(USE_SANITIZER AND MSVC)
message(WARNING "LLVM_USE_SANITIZER is not supported on this platform.")
endif()
+ set(${OUT_VAR} "${SANITIZER_FLAGS}" PARENT_SCOPE)
+endfunction()
+
+# Configure for sanitizers. If LIBCXX_STANDALONE_BUILD then we have to do
+# the flag translation ourselves. Othewise LLVM's CMakeList.txt will handle it.
+if (LIBCXX_STANDALONE_BUILD)
+ set(LLVM_USE_SANITIZER "" CACHE STRING
+ "Define the sanitizer used to build the library and tests")
endif()
+get_sanitizer_flags(SANITIZER_FLAGS "${LLVM_USE_SANITIZER}")
+if (LIBCXX_STANDALONE_BUILD AND SANITIZER_FLAGS)
+ add_flags(${SANITIZER_FLAGS})
+endif()
# Configuration file flags =====================================================
-if (NOT LIBCXX_ABI_VERSION EQUAL DEFAULT_ABI_VERSION)
+if (NOT LIBCXX_ABI_VERSION EQUAL 1)
config_define(${LIBCXX_ABI_VERSION} _LIBCPP_ABI_VERSION)
endif()
+if (NOT LIBCXX_ABI_NAMESPACE STREQUAL "")
+ if (NOT LIBCXX_ABI_NAMESPACE MATCHES "__.*")
+ message(WARNING "LIBCXX_ABI_NAMESPACE must be a reserved identifier.")
+ endif()
+ if (LIBCXX_ABI_NAMESPACE MATCHES "__[0-9]+$")
+ message(FATAL_ERROR "LIBCXX_ABI_NAMESPACE '${LIBCXX_ABI_NAMESPACE}' is reserved for use by libc++.")
+ endif()
+ config_define(${LIBCXX_ABI_NAMESPACE} _LIBCPP_ABI_NAMESPACE)
+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(LIBCXX_HIDE_FROM_ABI_PER_TU_BY_DEFAULT _LIBCPP_HIDE_FROM_ABI_PER_TU_BY_DEFAULT)
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)
@@ -724,6 +774,18 @@ include_directories(include)
add_subdirectory(include)
add_subdirectory(lib)
+set(LIBCXX_TEST_DEPS "")
+
+if (LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY)
+ list(APPEND LIBCXX_TEST_DEPS cxx_experimental)
+endif()
+if (LIBCXX_ENABLE_FILESYSTEM)
+ list(APPEND LIBCXX_TEST_DEPS cxx_filesystem)
+endif()
+
+if (LIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY)
+ list(APPEND LIBCXX_TEST_DEPS cxx_external_threads)
+endif()
if (LIBCXX_INCLUDE_BENCHMARKS)
add_subdirectory(benchmarks)
Modified: vendor/libc++/dist/LICENSE.TXT
==============================================================================
--- vendor/libc++/dist/LICENSE.TXT Sat Jan 19 10:05:15 2019 (r343176)
+++ vendor/libc++/dist/LICENSE.TXT Sat Jan 19 10:05:35 2019 (r343177)
@@ -14,7 +14,7 @@ Full text of the relevant licenses is included below.
University of Illinois/NCSA
Open Source License
-Copyright (c) 2009-2017 by the contributors listed in CREDITS.TXT
+Copyright (c) 2009-2019 by the contributors listed in CREDITS.TXT
All rights reserved.
Modified: vendor/libc++/dist/appveyor-reqs-install.cmd
==============================================================================
--- vendor/libc++/dist/appveyor-reqs-install.cmd Sat Jan 19 10:05:15 2019 (r343176)
+++ vendor/libc++/dist/appveyor-reqs-install.cmd Sat Jan 19 10:05:35 2019 (r343177)
@@ -9,7 +9,7 @@ cd C:\projects\deps
:: Setup Compiler
::###########################################################################
if NOT EXIST llvm-installer.exe (
- appveyor DownloadFile http://prereleases.llvm.org/win-snapshots/LLVM-7.0.0-r325576-win32.exe -FileName llvm-installer.exe
+ appveyor DownloadFile https://prereleases.llvm.org/win-snapshots/LLVM-8.0.0-r345380-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/appveyor.yml
==============================================================================
--- vendor/libc++/dist/appveyor.yml Sat Jan 19 10:05:15 2019 (r343176)
+++ vendor/libc++/dist/appveyor.yml Sat Jan 19 10:05:35 2019 (r343177)
@@ -19,14 +19,6 @@ environment:
MAKE_PROGRAM: ninja
APPVEYOR_SAVE_CACHE_ON_ERROR: true
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- CMAKE_OPTIONS: -DCMAKE_C_COMPILER=clang-cl.exe -DCMAKE_CXX_COMPILER=clang-cl.exe
- CLANG_VERSION: 4
- MSVC_SETUP_PATH: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
- MSVC_SETUP_ARG: x86_amd64
- GENERATOR: Ninja
- MAKE_PROGRAM: ninja
- APPVEYOR_SAVE_CACHE_ON_ERROR: true
- - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
MINGW_PATH: C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin
GENERATOR: MinGW Makefiles
MAKE_PROGRAM: mingw32-make
Modified: vendor/libc++/dist/benchmarks/CMakeLists.txt
==============================================================================
--- vendor/libc++/dist/benchmarks/CMakeLists.txt Sat Jan 19 10:05:15 2019 (r343176)
+++ vendor/libc++/dist/benchmarks/CMakeLists.txt Sat Jan 19 10:05:35 2019 (r343177)
@@ -11,17 +11,21 @@ set(BENCHMARK_LIBCXX_COMPILE_FLAGS
-isystem ${LIBCXX_SOURCE_DIR}/include
-L${LIBCXX_LIBRARY_DIR}
-Wl,-rpath,${LIBCXX_LIBRARY_DIR}
+ ${SANITIZER_FLAGS}
)
if (DEFINED LIBCXX_CXX_ABI_LIBRARY_PATH)
list(APPEND BENCHMARK_LIBCXX_COMPILE_FLAGS
-L${LIBCXX_CXX_ABI_LIBRARY_PATH}
-Wl,-rpath,${LIBCXX_CXX_ABI_LIBRARY_PATH})
endif()
+if (LIBCXX_NEEDS_SITE_CONFIG)
+ list(APPEND BENCHMARK_LIBCXX_COMPILE_FLAGS -include "${LIBCXX_BINARY_DIR}/__config_site")
+endif()
split_list(BENCHMARK_LIBCXX_COMPILE_FLAGS)
ExternalProject_Add(google-benchmark-libcxx
EXCLUDE_FROM_ALL ON
- DEPENDS cxx
+ DEPENDS cxx cxx-headers
PREFIX benchmark-libcxx
SOURCE_DIR ${LIBCXX_SOURCE_DIR}/utils/google-benchmark
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/benchmark-libcxx
@@ -67,8 +71,19 @@ add_custom_target(cxx-benchmarks)
set(BENCHMARK_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR})
set(BENCHMARK_LIBCXX_INSTALL ${CMAKE_CURRENT_BINARY_DIR}/benchmark-libcxx)
set(BENCHMARK_NATIVE_INSTALL ${CMAKE_CURRENT_BINARY_DIR}/benchmark-native)
+
+check_flag_supported("-std=c++17")
+mangle_name("LIBCXX_SUPPORTS_STD_EQ_c++17_FLAG" BENCHMARK_SUPPORTS_STD_CXX17_FLAG)
+if (${BENCHMARK_SUPPORTS_STD_CXX17_FLAG})
+ set(BENCHMARK_DIALECT_FLAG "-std=c++17")
+else()
+ # If the compiler doesn't support -std=c++17, attempt to fall back to -std=c++1z while still
+ # requiring C++17 language features.
+ set(BENCHMARK_DIALECT_FLAG "-std=c++1z")
+endif()
+
set(BENCHMARK_TEST_COMPILE_FLAGS
- -std=c++17 -O2
+ ${BENCHMARK_DIALECT_FLAG} -O2
-I${BENCHMARK_LIBCXX_INSTALL}/include
-I${LIBCXX_SOURCE_DIR}/test/support
)
@@ -76,11 +91,18 @@ set(BENCHMARK_TEST_LIBCXX_COMPILE_FLAGS
-nostdinc++
-isystem ${LIBCXX_SOURCE_DIR}/include
${BENCHMARK_TEST_COMPILE_FLAGS}
+ ${SANITIZER_FLAGS}
-Wno-user-defined-literals
)
+if (LIBCXX_NEEDS_SITE_CONFIG)
+ list(APPEND BENCHMARK_TEST_LIBCXX_COMPILE_FLAGS
+ -include "${LIBCXX_BINARY_DIR}/__config_site")
+endif()
+
set(BENCHMARK_TEST_LIBCXX_LINK_FLAGS
-nodefaultlibs
-L${BENCHMARK_LIBCXX_INSTALL}/lib/
+ ${SANITIZER_FLAGS}
)
set(BENCHMARK_TEST_NATIVE_COMPILE_FLAGS
${BENCHMARK_NATIVE_TARGET_FLAGS}
@@ -95,10 +117,25 @@ split_list(BENCHMARK_TEST_LIBCXX_COMPILE_FLAGS)
split_list(BENCHMARK_TEST_LIBCXX_LINK_FLAGS)
split_list(BENCHMARK_TEST_NATIVE_COMPILE_FLAGS)
split_list(BENCHMARK_TEST_NATIVE_LINK_FLAGS)
-macro(add_benchmark_test name source_file)
+
+if (LIBCXX_BENCHMARK_NATIVE_STDLIB STREQUAL "libstdc++")
+ find_library(LIBSTDCXX_FILESYSTEM_TEST stdc++fs
+ PATHS ${LIBCXX_BENCHMARK_NATIVE_GCC_TOOLCHAIN}
+ PATH_SUFFIXES lib lib64
+ DOC "The libstdc++ filesystem library used by the benchmarks"
+ )
+ if (NOT "${LIBSTDCXX_FILESYSTEM_TEST}" STREQUAL "LIBSTDCXX_FILESYSTEM_TEST-NOTFOUND")
+ set(LIBSTDCXX_FILESYSTEM_LIB "stdc++fs")
+ endif()
+endif()
+
+set(libcxx_benchmark_targets)
+
+function(add_benchmark_test name source_file)
set(libcxx_target ${name}_libcxx)
+ list(APPEND libcxx_benchmark_targets ${libcxx_target})
add_executable(${libcxx_target} EXCLUDE_FROM_ALL ${source_file})
- add_dependencies(${libcxx_target} cxx google-benchmark-libcxx)
+ add_dependencies(${libcxx_target} cxx cxx-headers google-benchmark-libcxx)
add_dependencies(cxx-benchmarks ${libcxx_target})
if (LIBCXX_ENABLE_SHARED)
target_link_libraries(${libcxx_target} cxx_shared)
@@ -108,7 +145,13 @@ macro(add_benchmark_test name source_file)
if (TARGET cxx_experimental)
target_link_libraries(${libcxx_target} cxx_experimental)
endif()
+ if (TARGET cxx_filesystem)
+ target_link_libraries(${libcxx_target} cxx_filesystem)
+ endif()
target_link_libraries(${libcxx_target} -lbenchmark)
+ if (LLVM_USE_SANITIZER)
+ target_link_libraries(${libcxx_target} -ldl)
+ endif()
set_target_properties(${libcxx_target}
PROPERTIES
OUTPUT_NAME "${name}.libcxx.out"
@@ -116,15 +159,19 @@ macro(add_benchmark_test name source_file)
COMPILE_FLAGS "${BENCHMARK_TEST_LIBCXX_COMPILE_FLAGS}"
LINK_FLAGS "${BENCHMARK_TEST_LIBCXX_LINK_FLAGS}")
if (LIBCXX_BENCHMARK_NATIVE_STDLIB)
+ if (LIBCXX_BENCHMARK_NATIVE_STDLIB STREQUAL "libstdc++" AND NOT DEFINED LIBSTDCXX_FILESYSTEM_LIB
+ AND "${name}" STREQUAL "filesystem")
+ return()
+ endif()
set(native_target ${name}_native)
add_executable(${native_target} EXCLUDE_FROM_ALL ${source_file})
add_dependencies(${native_target} google-benchmark-native
google-benchmark-libcxx)
target_link_libraries(${native_target} -lbenchmark)
if (LIBCXX_BENCHMARK_NATIVE_STDLIB STREQUAL "libstdc++")
- target_link_libraries(${native_target} -lstdc++fs)
+ target_link_libraries(${native_target} ${LIBSTDCXX_FILESYSTEM_LIB})
elseif (LIBCXX_BENCHMARK_NATIVE_STDLIB STREQUAL "libc++")
- target_link_libraries(${native_target} -lc++experimental)
+ target_link_libraries(${native_target} -lc++fs -lc++experimental)
endif()
if (LIBCXX_HAS_PTHREAD_LIB)
target_link_libraries(${native_target} -pthread)
@@ -138,7 +185,7 @@ macro(add_benchmark_test name source_file)
COMPILE_FLAGS "${BENCHMARK_TEST_NATIVE_COMPILE_FLAGS}"
LINK_FLAGS "${BENCHMARK_TEST_NATIVE_LINK_FLAGS}")
endif()
-endmacro()
+endfunction()
#==============================================================================
@@ -155,3 +202,23 @@ foreach(test_path ${BENCHMARK_TESTS})
endif()
add_benchmark_test(${test_name} ${test_file})
endforeach()
+
+if (LIBCXX_INCLUDE_TESTS)
+ include(AddLLVM)
+
+ if (NOT DEFINED LIBCXX_TEST_DEPS)
+ message(FATAL_ERROR "Expected LIBCXX_TEST_DEPS to be defined")
+ endif()
+
+ configure_lit_site_cfg(
+ ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
+ ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py)
+
+ set(BENCHMARK_LIT_ARGS "--show-all --show-xfail --show-unsupported ${LIT_ARGS_DEFAULT}")
+
+ add_lit_target(check-cxx-benchmarks
+ "Running libcxx benchmarks tests"
+ ${CMAKE_CURRENT_BINARY_DIR}
+ DEPENDS cxx-benchmarks ${LIBCXX_TEST_DEPS}
+ ARGS ${BENCHMARK_LIT_ARGS})
+endif()
Added: vendor/libc++/dist/benchmarks/CartesianBenchmarks.hpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/libc++/dist/benchmarks/CartesianBenchmarks.hpp Sat Jan 19 10:05:35 2019 (r343177)
@@ -0,0 +1,135 @@
+//===----------------------------------------------------------------------===//
+//
+// 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.
+//
+//===----------------------------------------------------------------------===//
+
+
+#include <string>
+#include <tuple>
+#include <type_traits>
+#include <vector>
+
+#include "benchmark/benchmark.h"
+#include "test_macros.h"
+
+namespace internal {
+
+template <class D, class E, size_t I>
+struct EnumValue : std::integral_constant<E, static_cast<E>(I)> {
+ static std::string name() { return std::string("_") + D::Names[I]; }
+};
+
+template <class D, class E, size_t ...Idxs>
+constexpr auto makeEnumValueTuple(std::index_sequence<Idxs...>) {
+ return std::make_tuple(EnumValue<D, E, Idxs>{}...);
+}
+
+template <class B>
+static auto skip(const B& Bench, int) -> decltype(Bench.skip()) {
+ return Bench.skip();
+}
+template <class B>
+static auto skip(const B& Bench, char) {
+ return false;
+}
+
+template <class B, class Args, size_t... Is>
+void makeBenchmarkFromValuesImpl(const Args& A, std::index_sequence<Is...>) {
+ for (auto& V : A) {
+ B Bench{std::get<Is>(V)...};
+ if (!internal::skip(Bench, 0)) {
+ benchmark::RegisterBenchmark(Bench.name().c_str(),
+ [=](benchmark::State& S) { Bench.run(S); });
+ }
+ }
+}
+
+template <class B, class... Args>
+void makeBenchmarkFromValues(const std::vector<std::tuple<Args...> >& A) {
+ makeBenchmarkFromValuesImpl<B>(A, std::index_sequence_for<Args...>());
+}
+
+template <template <class...> class B, class Args, class... U>
+void makeBenchmarkImpl(const Args& A, std::tuple<U...> t) {
+ makeBenchmarkFromValues<B<U...> >(A);
+}
+
+template <template <class...> class B, class Args, class... U,
+ class... T, class... Tuples>
+void makeBenchmarkImpl(const Args& A, std::tuple<U...>, std::tuple<T...>,
+ Tuples... rest) {
+ (internal::makeBenchmarkImpl<B>(A, std::tuple<U..., T>(), rest...), ...);
+}
+
+template <class R, class T>
+void allValueCombinations(R& Result, const T& Final) {
+ return Result.push_back(Final);
+}
+
+template <class R, class T, class V, class... Vs>
+void allValueCombinations(R& Result, const T& Prev, const V& Value,
+ const Vs&... Values) {
+ for (const auto& E : Value) {
+ allValueCombinations(Result, std::tuple_cat(Prev, std::make_tuple(E)),
+ Values...);
+ }
+}
+
+} // namespace internal
+
+// CRTP class that enables using enum types as a dimension for
+// makeCartesianProductBenchmark below.
+// The type passed to `B` will be a std::integral_constant<E, e>, with the
+// additional static function `name()` that returns the stringified name of the
+// label.
+//
+// Eg:
+// enum class MyEnum { A, B };
+// struct AllMyEnum : EnumValuesAsTuple<AllMyEnum, MyEnum, 2> {
+// static constexpr absl::string_view Names[] = {"A", "B"};
+// };
+template <class Derived, class EnumType, size_t NumLabels>
+using EnumValuesAsTuple =
+ decltype(internal::makeEnumValueTuple<Derived, EnumType>(
+ std::make_index_sequence<NumLabels>{}));
+
+// Instantiates B<T0, T1, ..., TN> where <Ti...> are the combinations in the
+// cartesian product of `Tuples...`, and pass (arg0, ..., argN) as constructor
+// arguments where `(argi...)` are the combination in the cartesian product of
+// the runtime values of `A...`.
+// B<T...> requires:
+// - std::string name(args...): The name of the benchmark.
+// - void run(benchmark::State&, args...): The body of the benchmark.
+// It can also optionally provide:
+// - bool skip(args...): When `true`, skips the combination. Default is false.
+//
+// Returns int to facilitate registration. The return value is unspecified.
+template <template <class...> class B, class... Tuples, class... Args>
+int makeCartesianProductBenchmark(const Args&... A) {
+ std::vector<std::tuple<typename Args::value_type...> > V;
+ internal::allValueCombinations(V, std::tuple<>(), A...);
+ internal::makeBenchmarkImpl<B>(V, std::tuple<>(), Tuples()...);
+ return 0;
+}
+
+template <class B, class... Args>
+int makeCartesianProductBenchmark(const Args&... A) {
+ std::vector<std::tuple<typename Args::value_type...> > V;
+ internal::allValueCombinations(V, std::tuple<>(), A...);
+ internal::makeBenchmarkFromValues<B>(V);
+ return 0;
+}
+
+// When `opaque` is true, this function hides the runtime state of `value` from
+// the optimizer.
+// It returns `value`.
+template <class T>
+TEST_ALWAYS_INLINE inline T maybeOpaque(T value, bool opaque) {
+ if (opaque) benchmark::DoNotOptimize(value);
+ return value;
+}
+
Modified: vendor/libc++/dist/benchmarks/algorithms.bench.cpp
==============================================================================
--- vendor/libc++/dist/benchmarks/algorithms.bench.cpp Sat Jan 19 10:05:15 2019 (r343176)
+++ vendor/libc++/dist/benchmarks/algorithms.bench.cpp Sat Jan 19 10:05:35 2019 (r343177)
@@ -1,62 +1,270 @@
-#include <unordered_set>
-#include <vector>
+
+#include <algorithm>
#include <cstdint>
+#include <map>
+#include <random>
+#include <string>
+#include <utility>
+#include <vector>
-#include "benchmark/benchmark.h"
+#include "CartesianBenchmarks.hpp"
#include "GenerateInput.hpp"
+#include "benchmark/benchmark.h"
+#include "test_macros.h"
-constexpr std::size_t TestNumInputs = 1024;
+namespace {
-template <class GenInputs>
-void BM_Sort(benchmark::State& st, GenInputs gen) {
- using ValueType = typename decltype(gen(0))::value_type;
- const auto in = gen(st.range(0));
- std::vector<ValueType> inputs[5];
- auto reset_inputs = [&]() {
- for (auto& C : inputs) {
- C = in;
- benchmark::DoNotOptimize(C.data());
- }
- };
- reset_inputs();
- while (st.KeepRunning()) {
- for (auto& I : inputs) {
- std::sort(I.data(), I.data() + I.size());
- benchmark::DoNotOptimize(I.data());
- }
- st.PauseTiming();
- reset_inputs();
- benchmark::ClobberMemory();
- st.ResumeTiming();
+enum class ValueType { Uint32, String };
+struct AllValueTypes : EnumValuesAsTuple<AllValueTypes, ValueType, 2> {
+ static constexpr const char* Names[] = {"uint32", "string"};
+};
+
+template <class V>
+using Value =
+ std::conditional_t<V() == ValueType::Uint32, uint32_t, std::string>;
+
+enum class Order {
+ Random,
+ Ascending,
+ Descending,
+ SingleElement,
+ PipeOrgan,
+ Heap
+};
+struct AllOrders : EnumValuesAsTuple<AllOrders, Order, 6> {
+ static constexpr const char* Names[] = {"Random", "Ascending",
+ "Descending", "SingleElement",
+ "PipeOrgan", "Heap"};
+};
+
+void fillValues(std::vector<uint32_t>& V, size_t N, Order O) {
+ if (O == Order::SingleElement) {
+ V.resize(N, 0);
+ } else {
+ while (V.size() < N)
+ V.push_back(V.size());
+ }
+}
+
+void fillValues(std::vector<std::string>& V, size_t N, Order O) {
+
+ if (O == Order::SingleElement) {
+ V.resize(N, getRandomString(1024));
+ } else {
+ while (V.size() < N)
+ V.push_back(getRandomString(1024));
+ }
+}
+
+template <class T>
+void sortValues(T& V, Order O) {
+ assert(std::is_sorted(V.begin(), V.end()));
+ switch (O) {
+ case Order::Random: {
+ std::random_device R;
+ std::mt19937 M(R());
+ std::shuffle(V.begin(), V.end(), M);
+ break;
+ }
+ case Order::Ascending:
+ std::sort(V.begin(), V.end());
+ break;
+ case Order::Descending:
+ std::sort(V.begin(), V.end(), std::greater<>());
+ break;
+ case Order::SingleElement:
+ // Nothing to do
+ break;
+ case Order::PipeOrgan:
+ std::sort(V.begin(), V.end());
+ std::reverse(V.begin() + V.size() / 2, V.end());
+ break;
+ case Order::Heap:
+ std::make_heap(V.begin(), V.end());
+ break;
+ }
+}
+
+template <class ValueType>
+std::vector<std::vector<Value<ValueType> > > makeOrderedValues(size_t N,
+ Order O) {
+ // Let's make sure that all random sequences of the same size are the same.
+ // That way we can compare the different algorithms with the same input.
+ static std::map<std::pair<size_t, Order>, std::vector<Value<ValueType> > >
+ Cached;
+
+ auto& Values = Cached[{N, O}];
+ if (Values.empty()) {
+ fillValues(Values, N, O);
+ sortValues(Values, O);
+ };
+ const size_t NumCopies = std::max(size_t{1}, 1000 / N);
+ return { NumCopies, Values };
+}
+
+template <class T, class U>
+TEST_ALWAYS_INLINE void resetCopies(benchmark::State& state, T& Copies,
+ U& Orig) {
+ state.PauseTiming();
+ for (auto& Copy : Copies)
+ Copy = Orig;
+ state.ResumeTiming();
+}
+
+template <class ValueType, class F>
+void runOpOnCopies(benchmark::State& state, size_t Quantity, Order O,
+ bool CountElements, F f) {
+ auto Copies = makeOrderedValues<ValueType>(Quantity, O);
+ const auto Orig = Copies[0];
+
+ const size_t Batch = CountElements ? Copies.size() * Quantity : Copies.size();
+ while (state.KeepRunningBatch(Batch)) {
+ for (auto& Copy : Copies) {
+ f(Copy);
+ benchmark::DoNotOptimize(Copy);
}
+ resetCopies(state, Copies, Orig);
+ }
}
-BENCHMARK_CAPTURE(BM_Sort, random_uint32,
- getRandomIntegerInputs<uint32_t>)->Arg(TestNumInputs);
+template <class ValueType, class Order>
+struct Sort {
+ size_t Quantity;
-BENCHMARK_CAPTURE(BM_Sort, sorted_ascending_uint32,
- getSortedIntegerInputs<uint32_t>)->Arg(TestNumInputs);
+ void run(benchmark::State& state) const {
+ runOpOnCopies<ValueType>(state, Quantity, Order(), false, [](auto& Copy) {
+ std::sort(Copy.begin(), Copy.end());
+ });
+ }
-BENCHMARK_CAPTURE(BM_Sort, sorted_descending_uint32,
- getReverseSortedIntegerInputs<uint32_t>)->Arg(TestNumInputs);
+ bool skip() const { return Order() == ::Order::Heap; }
-BENCHMARK_CAPTURE(BM_Sort, single_element_uint32,
- getDuplicateIntegerInputs<uint32_t>)->Arg(TestNumInputs);
+ std::string name() const {
+ return "BM_Sort" + ValueType::name() + Order::name() + "_" +
+ std::to_string(Quantity);
+ };
+};
-BENCHMARK_CAPTURE(BM_Sort, pipe_organ_uint32,
- getPipeOrganIntegerInputs<uint32_t>)->Arg(TestNumInputs);
+template <class ValueType, class Order>
+struct StableSort {
+ size_t Quantity;
-BENCHMARK_CAPTURE(BM_Sort, random_strings,
- getRandomStringInputs)->Arg(TestNumInputs);
+ void run(benchmark::State& state) const {
+ runOpOnCopies<ValueType>(state, Quantity, Order(), false, [](auto& Copy) {
+ std::stable_sort(Copy.begin(), Copy.end());
+ });
+ }
-BENCHMARK_CAPTURE(BM_Sort, sorted_ascending_strings,
- getSortedStringInputs)->Arg(TestNumInputs);
+ bool skip() const { return Order() == ::Order::Heap; }
-BENCHMARK_CAPTURE(BM_Sort, sorted_descending_strings,
- getReverseSortedStringInputs)->Arg(TestNumInputs);
+ std::string name() const {
+ return "BM_StableSort" + ValueType::name() + Order::name() + "_" +
+ std::to_string(Quantity);
+ };
+};
-BENCHMARK_CAPTURE(BM_Sort, single_element_strings,
- getDuplicateStringInputs)->Arg(TestNumInputs);
+template <class ValueType, class Order>
+struct MakeHeap {
+ size_t Quantity;
+ void run(benchmark::State& state) const {
+ runOpOnCopies<ValueType>(state, Quantity, Order(), false, [](auto& Copy) {
+ std::make_heap(Copy.begin(), Copy.end());
+ });
+ }
-BENCHMARK_MAIN();
+ std::string name() const {
+ return "BM_MakeHeap" + ValueType::name() + Order::name() + "_" +
+ std::to_string(Quantity);
+ };
+};
+
+template <class ValueType>
+struct SortHeap {
+ size_t Quantity;
+
+ void run(benchmark::State& state) const {
+ runOpOnCopies<ValueType>(
+ state, Quantity, Order::Heap, false,
+ [](auto& Copy) { std::sort_heap(Copy.begin(), Copy.end()); });
+ }
+
+ std::string name() const {
+ return "BM_SortHeap" + ValueType::name() + "_" + std::to_string(Quantity);
+ };
+};
+
+template <class ValueType, class Order>
+struct MakeThenSortHeap {
+ size_t Quantity;
+
+ void run(benchmark::State& state) const {
+ runOpOnCopies<ValueType>(state, Quantity, Order(), false, [](auto& Copy) {
+ std::make_heap(Copy.begin(), Copy.end());
+ std::sort_heap(Copy.begin(), Copy.end());
+ });
+ }
+
+ std::string name() const {
+ return "BM_MakeThenSortHeap" + ValueType::name() + Order::name() + "_" +
+ std::to_string(Quantity);
+ };
+};
+
+template <class ValueType, class Order>
+struct PushHeap {
+ size_t Quantity;
+
+ void run(benchmark::State& state) const {
+ runOpOnCopies<ValueType>(state, Quantity, Order(), true, [](auto& Copy) {
+ for (auto I = Copy.begin(), E = Copy.end(); I != E; ++I) {
+ std::push_heap(Copy.begin(), I + 1);
+ }
+ });
+ }
+
+ bool skip() const { return Order() == ::Order::Heap; }
+
+ std::string name() const {
+ return "BM_PushHeap" + ValueType::name() + Order::name() + "_" +
+ std::to_string(Quantity);
+ };
+};
+
+template <class ValueType>
+struct PopHeap {
+ size_t Quantity;
+
+ void run(benchmark::State& state) const {
+ runOpOnCopies<ValueType>(state, Quantity, Order(), true, [](auto& Copy) {
+ for (auto B = Copy.begin(), I = Copy.end(); I != B; --I) {
+ std::pop_heap(B, I);
+ }
+ });
+ }
+
+ std::string name() const {
+ return "BM_PopHeap" + ValueType::name() + "_" + std::to_string(Quantity);
+ };
+};
+
+} // namespace
+
+int main(int argc, char** argv) {
+ benchmark::Initialize(&argc, argv);
+ if (benchmark::ReportUnrecognizedArguments(argc, argv))
+ return 1;
+
+ const std::vector<size_t> Quantities = {1 << 0, 1 << 2, 1 << 4, 1 << 6,
+ 1 << 8, 1 << 10, 1 << 14, 1 << 18};
+ makeCartesianProductBenchmark<Sort, AllValueTypes, AllOrders>(Quantities);
+ makeCartesianProductBenchmark<StableSort, AllValueTypes, AllOrders>(
+ Quantities);
+ makeCartesianProductBenchmark<MakeHeap, AllValueTypes, AllOrders>(Quantities);
+ makeCartesianProductBenchmark<SortHeap, AllValueTypes>(Quantities);
+ makeCartesianProductBenchmark<MakeThenSortHeap, AllValueTypes, AllOrders>(
+ Quantities);
+ makeCartesianProductBenchmark<PushHeap, AllValueTypes, AllOrders>(Quantities);
+ makeCartesianProductBenchmark<PopHeap, AllValueTypes>(Quantities);
+ benchmark::RunSpecifiedBenchmarks();
+}
Added: vendor/libc++/dist/benchmarks/algorithms.partition_point.bench.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/libc++/dist/benchmarks/algorithms.partition_point.bench.cpp Sat Jan 19 10:05:35 2019 (r343177)
@@ -0,0 +1,124 @@
+#include <array>
+#include <algorithm>
+#include <cassert>
+#include <cstdint>
+#include <tuple>
+#include <vector>
+
+#include "benchmark/benchmark.h"
+
+#include "CartesianBenchmarks.hpp"
+#include "GenerateInput.hpp"
+
+namespace {
+
+template <typename I, typename N>
+std::array<I, 10> every_10th_percentile_N(I first, N n) {
+ N step = n / 10;
+ std::array<I, 10> res;
+
+ for (size_t i = 0; i < 10; ++i) {
+ res[i] = first;
+ std::advance(first, step);
+ }
+
+ return res;
+}
+
+template <class IntT>
+struct TestIntBase {
+ static std::vector<IntT> generateInput(size_t size) {
+ std::vector<IntT> Res(size);
+ std::generate(Res.begin(), Res.end(),
+ [] { return getRandomInteger<IntT>(); });
+ return Res;
+ }
+};
+
+struct TestInt32 : TestIntBase<std::int32_t> {
+ static constexpr const char* Name = "TestInt32";
+};
+
+struct TestInt64 : TestIntBase<std::int64_t> {
+ static constexpr const char* Name = "TestInt64";
+};
+
+struct TestUint32 : TestIntBase<std::uint32_t> {
+ static constexpr const char* Name = "TestUint32";
+};
+
+struct TestMediumString {
+ static constexpr const char* Name = "TestMediumString";
+ static constexpr size_t StringSize = 32;
+
+ static std::vector<std::string> generateInput(size_t size) {
+ std::vector<std::string> Res(size);
+ std::generate(Res.begin(), Res.end(), [] { return getRandomString(StringSize); });
+ return Res;
+ }
+};
+
+using AllTestTypes = std::tuple<TestInt32, TestInt64, TestUint32, TestMediumString>;
+
+struct LowerBoundAlg {
+ template <class I, class V>
+ I operator()(I first, I last, const V& value) const {
+ return std::lower_bound(first, last, value);
+ }
+
+ static constexpr const char* Name = "LowerBoundAlg";
+};
+
+struct UpperBoundAlg {
+ template <class I, class V>
+ I operator()(I first, I last, const V& value) const {
+ return std::upper_bound(first, last, value);
+ }
+
+ static constexpr const char* Name = "UpperBoundAlg";
+};
+
+struct EqualRangeAlg {
+ template <class I, class V>
+ std::pair<I, I> operator()(I first, I last, const V& value) const {
+ return std::equal_range(first, last, value);
+ }
+
+ static constexpr const char* Name = "EqualRangeAlg";
+};
+
+using AllAlgs = std::tuple<LowerBoundAlg, UpperBoundAlg, EqualRangeAlg>;
+
+template <class Alg, class TestType>
+struct PartitionPointBench {
+ size_t Quantity;
+
+ std::string name() const {
+ return std::string("PartitionPointBench_") + Alg::Name + "_" +
+ TestType::Name + '/' + std::to_string(Quantity);
+ }
+
+ void run(benchmark::State& state) const {
+ auto Data = TestType::generateInput(Quantity);
+ std::sort(Data.begin(), Data.end());
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-all
mailing list