Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/external/bsd/libc++/dist/libcxx Import libc++ r208870. Impro...
details: https://anonhg.NetBSD.org/src/rev/5c243944afb2
branches: trunk
changeset: 329229:5c243944afb2
user: joerg <joerg%NetBSD.org@localhost>
date: Thu May 15 23:53:10 2014 +0000
description:
Import libc++ r208870. Improves const use, fixes a few cases of missing
assign-to-self support and increase support for GCC.
diffstat:
external/bsd/libc++/dist/libcxx/include/__bit_reference | 4 +-
external/bsd/libc++/dist/libcxx/include/__config | 34 +-
external/bsd/libc++/dist/libcxx/include/__functional_03 | 8 +-
external/bsd/libc++/dist/libcxx/include/__locale | 2 +-
external/bsd/libc++/dist/libcxx/include/__mutex_base | 4 +-
external/bsd/libc++/dist/libcxx/include/__refstring | 139 ++++
external/bsd/libc++/dist/libcxx/include/__tree | 2 +-
external/bsd/libc++/dist/libcxx/include/algorithm | 178 ++++--
external/bsd/libc++/dist/libcxx/include/cmath | 6 +-
external/bsd/libc++/dist/libcxx/include/cstddef | 5 +
external/bsd/libc++/dist/libcxx/include/deque | 2 +-
external/bsd/libc++/dist/libcxx/include/ext/__hash | 93 +++-
external/bsd/libc++/dist/libcxx/include/ext/hash_map | 4 +-
external/bsd/libc++/dist/libcxx/include/forward_list | 27 +-
external/bsd/libc++/dist/libcxx/include/functional | 23 +-
external/bsd/libc++/dist/libcxx/include/future | 4 +-
external/bsd/libc++/dist/libcxx/include/iomanip | 11 +-
external/bsd/libc++/dist/libcxx/include/iterator | 36 +-
external/bsd/libc++/dist/libcxx/include/locale | 14 +-
external/bsd/libc++/dist/libcxx/include/map | 38 +-
external/bsd/libc++/dist/libcxx/include/memory | 204 +++---
external/bsd/libc++/dist/libcxx/include/ostream | 22 +-
external/bsd/libc++/dist/libcxx/include/regex | 158 ++++-
external/bsd/libc++/dist/libcxx/include/set | 28 +-
external/bsd/libc++/dist/libcxx/include/shared_mutex | 24 +-
external/bsd/libc++/dist/libcxx/include/stdexcept | 12 +-
external/bsd/libc++/dist/libcxx/include/string | 94 +-
external/bsd/libc++/dist/libcxx/include/tuple | 26 +-
external/bsd/libc++/dist/libcxx/include/type_traits | 220 ++++---
external/bsd/libc++/dist/libcxx/include/typeinfo | 46 +-
external/bsd/libc++/dist/libcxx/include/unordered_map | 28 +-
external/bsd/libc++/dist/libcxx/include/utility | 24 +-
external/bsd/libc++/dist/libcxx/include/vector | 55 +
external/bsd/libc++/dist/libcxx/src/condition_variable.cpp | 4 +-
external/bsd/libc++/dist/libcxx/src/hash.cpp | 2 +-
external/bsd/libc++/dist/libcxx/src/ios.cpp | 2 +-
external/bsd/libc++/dist/libcxx/src/shared_mutex.cpp | 14 +-
external/bsd/libc++/dist/libcxx/src/stdexcept.cpp | 124 +---
external/bsd/libc++/dist/libcxx/src/system_error.cpp | 2 +-
external/bsd/libc++/dist/libcxx/test/algorithms/alg.sorting/alg.min.max/max.pass.cpp | 8 +
external/bsd/libc++/dist/libcxx/test/algorithms/alg.sorting/alg.min.max/max_comp.pass.cpp | 8 +
external/bsd/libc++/dist/libcxx/test/algorithms/alg.sorting/alg.min.max/max_element_comp.pass.cpp | 18 +
external/bsd/libc++/dist/libcxx/test/algorithms/alg.sorting/alg.min.max/max_init_list.pass.cpp | 7 +
external/bsd/libc++/dist/libcxx/test/algorithms/alg.sorting/alg.min.max/max_init_list_comp.pass.cpp | 7 +
external/bsd/libc++/dist/libcxx/test/algorithms/alg.sorting/alg.min.max/min.pass.cpp | 8 +
external/bsd/libc++/dist/libcxx/test/algorithms/alg.sorting/alg.min.max/min_comp.pass.cpp | 8 +
external/bsd/libc++/dist/libcxx/test/algorithms/alg.sorting/alg.min.max/min_element_comp.pass.cpp | 18 +
external/bsd/libc++/dist/libcxx/test/algorithms/alg.sorting/alg.min.max/min_init_list.pass.cpp | 7 +
external/bsd/libc++/dist/libcxx/test/algorithms/alg.sorting/alg.min.max/min_init_list_comp.pass.cpp | 7 +
external/bsd/libc++/dist/libcxx/test/algorithms/alg.sorting/alg.min.max/minmax.pass.cpp | 14 +
external/bsd/libc++/dist/libcxx/test/algorithms/alg.sorting/alg.min.max/minmax_comp.pass.cpp | 15 +
external/bsd/libc++/dist/libcxx/test/algorithms/alg.sorting/alg.min.max/minmax_init_list.pass.cpp | 10 +
external/bsd/libc++/dist/libcxx/test/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp | 10 +
external/bsd/libc++/dist/libcxx/test/algorithms/alg.sorting/alg.nth.element/nth_element.pass.cpp | 1 +
external/bsd/libc++/dist/libcxx/test/algorithms/alg.sorting/alg.nth.element/nth_element_comp.pass.cpp | 1 +
external/bsd/libc++/dist/libcxx/test/containers/Copyable.h | 9 +
external/bsd/libc++/dist/libcxx/test/containers/Emplaceable.h | 9 +
external/bsd/libc++/dist/libcxx/test/containers/MoveOnly.h | 9 +
external/bsd/libc++/dist/libcxx/test/containers/NotConstructible.h | 9 +
external/bsd/libc++/dist/libcxx/test/containers/associative/map/map.access/iterator.pass.cpp | 9 +-
external/bsd/libc++/dist/libcxx/test/containers/associative/map/map.cons/copy_assign.pass.cpp | 15 +
external/bsd/libc++/dist/libcxx/test/containers/associative/map/map.cons/default.pass.cpp | 5 +
external/bsd/libc++/dist/libcxx/test/containers/associative/multimap/iterator.pass.cpp | 9 +-
external/bsd/libc++/dist/libcxx/test/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp | 20 +
external/bsd/libc++/dist/libcxx/test/containers/associative/multimap/multimap.cons/default.pass.cpp | 5 +
external/bsd/libc++/dist/libcxx/test/containers/associative/multiset/iterator.pass.cpp | 9 +-
external/bsd/libc++/dist/libcxx/test/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp | 20 +
external/bsd/libc++/dist/libcxx/test/containers/associative/multiset/multiset.cons/default.pass.cpp | 5 +
external/bsd/libc++/dist/libcxx/test/containers/associative/set/iterator.pass.cpp | 9 +-
external/bsd/libc++/dist/libcxx/test/containers/associative/set/set.cons/copy_assign.pass.cpp | 15 +
external/bsd/libc++/dist/libcxx/test/containers/associative/set/set.cons/default.pass.cpp | 5 +
external/bsd/libc++/dist/libcxx/test/containers/container.adaptors/priority.queue/priqueue.cons/assign_copy.pass.cpp | 1 +
external/bsd/libc++/dist/libcxx/test/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_container.pass.cpp | 1 +
external/bsd/libc++/dist/libcxx/test/containers/container.adaptors/priority.queue/priqueue.cons/ctor_copy.pass.cpp | 1 +
external/bsd/libc++/dist/libcxx/test/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp.pass.cpp | 1 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/array/iterators.pass.cpp | 19 +-
external/bsd/libc++/dist/libcxx/test/containers/sequences/deque/deque.cons/default.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/deque/deque.modifiers/push_back_exception_safety.pass.cpp | 24 +-
external/bsd/libc++/dist/libcxx/test/containers/sequences/deque/deque.modifiers/push_front_exception_safety.pass.cpp | 24 +-
external/bsd/libc++/dist/libcxx/test/containers/sequences/deque/iterators.pass.cpp | 21 +-
external/bsd/libc++/dist/libcxx/test/containers/sequences/forwardlist/forwardlist.cons/default.pass.cpp | 6 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/forwardlist/forwardlist.cons/default_recursive.pass.cpp | 25 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp | 9 +-
external/bsd/libc++/dist/libcxx/test/containers/sequences/list/iterators.pass.cpp | 9 +-
external/bsd/libc++/dist/libcxx/test/containers/sequences/list/list.cons/default.pass.cpp | 5 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector.bool/construct_default.pass.cpp | 6 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector.bool/find.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector.bool/iterators.pass.cpp | 20 +-
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/asan.pass.cpp | 52 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/iterators.pass.cpp | 20 +-
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.capacity/capacity.pass.cpp | 5 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.capacity/reserve.pass.cpp | 6 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.capacity/resize_size.pass.cpp | 11 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.capacity/resize_size_value.pass.cpp | 7 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.capacity/shrink_to_fit.pass.cpp | 9 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.capacity/swap.pass.cpp | 9 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.cons/assign_initializer_list.pass.cpp | 3 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.cons/assign_move.pass.cpp | 19 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.cons/construct_default.pass.cpp | 10 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.cons/construct_size.pass.cpp | 3 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.cons/construct_size_value.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.cons/construct_size_value_alloc.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.cons/copy.pass.cpp | 14 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.cons/copy_alloc.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.cons/default.recursive.pass.cpp | 23 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.cons/initializer_list.pass.cpp | 3 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.cons/initializer_list_alloc.pass.cpp | 3 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.cons/move.pass.cpp | 22 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.cons/move_alloc.pass.cpp | 21 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.cons/op_equal_initializer_list.pass.cpp | 3 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.data/data.pass.cpp | 5 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.data/data_const.pass.cpp | 5 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.modifiers/emplace.pass.cpp | 7 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.modifiers/emplace_back.pass.cpp | 7 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.modifiers/emplace_extra.pass.cpp | 9 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.modifiers/erase_iter.pass.cpp | 9 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.modifiers/erase_iter_iter.pass.cpp | 29 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.modifiers/insert_iter_initializer_list.pass.cpp | 3 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.pass.cpp | 7 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.modifiers/insert_iter_rvalue.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.modifiers/insert_iter_size_value.pass.cpp | 5 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.modifiers/insert_iter_value.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.modifiers/push_back.pass.cpp | 16 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.modifiers/push_back_exception_safety.pass.cpp | 29 +-
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.modifiers/push_back_rvalue.pass.cpp | 16 +
external/bsd/libc++/dist/libcxx/test/containers/sequences/vector/vector.special/swap.pass.cpp | 41 +
external/bsd/libc++/dist/libcxx/test/containers/stack_allocator.h | 9 +
external/bsd/libc++/dist/libcxx/test/containers/test_compare.h | 9 +
external/bsd/libc++/dist/libcxx/test/containers/test_hash.h | 9 +
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.map/bucket_count.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.map/count.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.map/eq.pass.cpp | 12 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.map/equal_range_const.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.map/equal_range_non_const.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.map/find_const.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.map/find_non_const.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.map/iterators.pass.cpp | 9 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.map/load_factor.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.map/swap_member.pass.cpp | 24 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.map/unord.map.cnstr/assign_copy.pass.cpp | 18 +
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.map/unord.map.cnstr/default.pass.cpp | 9 +
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.map/unord.map.swap/swap_non_member.pass.cpp | 24 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.map/unorder.map.modifiers/erase_key.pass.cpp | 36 +
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multimap/bucket_count.pass.cpp | 2 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multimap/count.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multimap/eq.pass.cpp | 12 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multimap/equal_range_const.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multimap/equal_range_non_const.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multimap/find_const.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multimap/find_non_const.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multimap/iterators.pass.cpp | 9 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multimap/load_factor.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multimap/swap_member.pass.cpp | 24 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multimap/unord.multimap.cnstr/assign_copy.pass.cpp | 18 +
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multimap/unord.multimap.cnstr/default.pass.cpp | 9 +
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multimap/unord.multimap.modifiers/erase_key.pass.cpp | 37 +
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multimap/unord.multimap.swap/swap_non_member.pass.cpp | 24 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multiset/erase_key.pass.cpp | 35 +
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multiset/iterators.pass.cpp | 9 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multiset/unord.multiset.cnstr/assign_copy.pass.cpp | 19 +
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.multiset/unord.multiset.cnstr/default.pass.cpp | 9 +
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.set/erase_key.pass.cpp | 35 +
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.set/iterators.pass.cpp | 9 +-
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.set/unord.set.cnstr/assign_copy.pass.cpp | 18 +
external/bsd/libc++/dist/libcxx/test/containers/unord/unord.set/unord.set.cnstr/default.pass.cpp | 9 +
external/bsd/libc++/dist/libcxx/test/depr/depr.c.headers/math_h.pass.cpp | 6 +-
external/bsd/libc++/dist/libcxx/test/extensions/hash/specializations.fail.cpp | 17 +
external/bsd/libc++/dist/libcxx/test/extensions/hash/specializations.pass.cpp | 29 +
external/bsd/libc++/dist/libcxx/test/extensions/hash_map/const_iterator.fail.cpp | 18 +
external/bsd/libc++/dist/libcxx/test/extensions/nothing_to_do.pass.cpp | 12 +
external/bsd/libc++/dist/libcxx/test/input.output/iostream.format/input.streams/istream.manip/ws.pass.cpp | 20 +
external/bsd/libc++/dist/libcxx/test/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp | 3 -
external/bsd/libc++/dist/libcxx/test/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp | 3 -
external/bsd/libc++/dist/libcxx/test/input.output/iostream.format/input.streams/istream.unformatted/ignore_0xff.pass.cpp | 3 -
external/bsd/libc++/dist/libcxx/test/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp | 3 -
external/bsd/libc++/dist/libcxx/test/input.output/iostream.format/input.streams/istream.unformatted/readsome.pass.cpp | 3 -
external/bsd/libc++/dist/libcxx/test/input.output/iostream.format/quoted.manip/quoted.pass.cpp | 23 +-
external/bsd/libc++/dist/libcxx/test/iterators/iterator.range/begin-end.pass.cpp | 24 +-
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/post.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/pre.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op_astrk/test.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.inserter/test.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/post.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/pre.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/lv_value.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op_astrk/test.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.inserter/test.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.cons/test.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/post.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/pre.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/lv_value.pass.cpp | 21 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/rv_value.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op_astrk/test.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/inserter/test.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.make/make_reverse_iterator.pass.cpp | 42 +
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op.star/op_star.pass.cpp | 23 +-
external/bsd/libc++/dist/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opref/op_arrow.pass.cpp | 64 +-
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/is_specialized.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp | 14 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp | 8 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp | 38 +-
external/bsd/libc++/dist/libcxx/test/lit.cfg | 9 +-
external/bsd/libc++/dist/libcxx/test/localization/locale.categories/__scan_keyword.pass.cpp | 2 +-
external/bsd/libc++/dist/libcxx/test/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/test_min_max.pass.cpp | 9 +
external/bsd/libc++/dist/libcxx/test/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp | 10 +-
external/bsd/libc++/dist/libcxx/test/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put1.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/numerics/c.math/cmath.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/numerics/complex.number/complex.ops/stream_input.pass.cpp | 3 -
external/bsd/libc++/dist/libcxx/test/numerics/complex.number/complex.transcendentals/atanh.pass.cpp | 2 +-
external/bsd/libc++/dist/libcxx/test/re/re.alg/re.alg.match/basic.fail.cpp | 38 +
external/bsd/libc++/dist/libcxx/test/re/re.alg/re.alg.search/basic.fail.cpp | 38 +
external/bsd/libc++/dist/libcxx/test/re/re.iter/re.regiter/re.regiter.cnstr/cnstr.fail.cpp | 38 +
external/bsd/libc++/dist/libcxx/test/re/re.iter/re.regiter/re.regiter.incr/post.pass.cpp | 55 +
external/bsd/libc++/dist/libcxx/test/re/re.iter/re.tokiter/re.tokiter.cnstr/array.fail.cpp | 41 +
external/bsd/libc++/dist/libcxx/test/re/re.iter/re.tokiter/re.tokiter.cnstr/init.fail.cpp | 38 +
external/bsd/libc++/dist/libcxx/test/re/re.iter/re.tokiter/re.tokiter.cnstr/int.fail.cpp | 37 +
external/bsd/libc++/dist/libcxx/test/re/re.iter/re.tokiter/re.tokiter.cnstr/vector.fail.cpp | 42 +
external/bsd/libc++/dist/libcxx/test/re/re.iter/re.tokiter/re.tokiter.incr/post.pass.cpp | 81 ++-
external/bsd/libc++/dist/libcxx/test/re/re.results/types.pass.cpp | 2 +-
external/bsd/libc++/dist/libcxx/test/re/re.traits/lookup_classname.pass.cpp | 12 +-
external/bsd/libc++/dist/libcxx/test/strings/basic.string/input_iterator.h | 9 +
external/bsd/libc++/dist/libcxx/test/strings/basic.string/string.modifiers/string_append/string_size_size.pass.cpp | 30 +-
external/bsd/libc++/dist/libcxx/test/strings/basic.string/string.modifiers/string_assign/string_size_size.pass.cpp | 30 +-
external/bsd/libc++/dist/libcxx/test/strings/basic.string/string.modifiers/string_insert/size_string_size_size.pass.cpp | 43 +-
external/bsd/libc++/dist/libcxx/test/strings/basic.string/string.modifiers/string_replace/size_size_string_size_size.pass.cpp | 49 +-
external/bsd/libc++/dist/libcxx/test/strings/basic.string/string.ops/string_compare/size_size_string_size_size.pass.cpp | 32 +-
external/bsd/libc++/dist/libcxx/test/strings/basic.string/test_traits.h | 9 +
external/bsd/libc++/dist/libcxx/test/support/DefaultOnly.h | 9 +
external/bsd/libc++/dist/libcxx/test/support/allocators.h | 9 +
external/bsd/libc++/dist/libcxx/test/support/asan_testing.h | 37 +
external/bsd/libc++/dist/libcxx/test/support/min_allocator.h | 9 +
external/bsd/libc++/dist/libcxx/test/support/nasty_containers.hpp | 282 ++++++++++
external/bsd/libc++/dist/libcxx/test/support/private_constructor.hpp | 9 +
external/bsd/libc++/dist/libcxx/test/support/test_allocator.h | 69 ++
external/bsd/libc++/dist/libcxx/test/support/test_iterators.h | 9 +
external/bsd/libc++/dist/libcxx/test/testit | 14 +-
external/bsd/libc++/dist/libcxx/test/thread/futures/futures.async/async.pass.cpp | 19 +
external/bsd/libc++/dist/libcxx/test/thread/futures/futures.future_error/what.pass.cpp | 7 +
external/bsd/libc++/dist/libcxx/test/thread/futures/futures.promise/dtor.pass.cpp | 10 +-
external/bsd/libc++/dist/libcxx/test/thread/futures/futures.tas/futures.task.members/ctor_func.pass.cpp | 16 +
external/bsd/libc++/dist/libcxx/test/thread/futures/futures.tas/futures.task.members/ctor_func_alloc.pass.cpp | 28 +-
external/bsd/libc++/dist/libcxx/test/thread/futures/test_allocator.h | 9 +
external/bsd/libc++/dist/libcxx/test/thread/thread.condition/thread.condition.condvarany/wait.exception.pass.cpp | 52 +
external/bsd/libc++/dist/libcxx/test/thread/thread.condition/thread.condition.condvarany/wait_for.exception.pass.cpp | 52 +
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/copy_assign.fail.cpp | 8 +-
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/copy_ctor.fail.cpp | 6 +-
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/default.pass.cpp | 2 +-
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp | 8 +-
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp | 6 +-
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp | 6 +-
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp | 6 +-
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_time_point.pass.cpp | 8 +-
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_try_to_lock.pass.cpp | 10 +-
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp | 4 +-
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/mutex.pass.cpp | 6 +-
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/op_bool.pass.cpp | 6 +-
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/owns_lock.pass.cpp | 6 +-
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/nothing_to_do.pass.cpp | 12 +
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/assign.fail.cpp | 27 +
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/copy.fail.cpp | 26 +
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp | 23 +
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock.pass.cpp | 52 +
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock_shared.pass.cpp | 75 ++
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp | 56 +
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp | 71 ++
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp | 60 ++
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp | 78 ++
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp | 78 ++
external/bsd/libc++/dist/libcxx/test/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp | 71 ++
external/bsd/libc++/dist/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/lt.pass.cpp | 14 +-
external/bsd/libc++/dist/libcxx/test/utilities/allocator.adaptor/allocator.adaptor.types/allocator_pointers.pass.cpp | 116 ++++
external/bsd/libc++/dist/libcxx/test/utilities/function.objects/arithmetic.operations/transparent.pass.cpp | 9 +
external/bsd/libc++/dist/libcxx/test/utilities/function.objects/bitwise.operations/transparent.pass.cpp | 9 +
external/bsd/libc++/dist/libcxx/test/utilities/function.objects/comparisons/transparent.pass.cpp | 9 +
external/bsd/libc++/dist/libcxx/test/utilities/function.objects/func.memfn/member_data.pass.cpp | 2 +
external/bsd/libc++/dist/libcxx/test/utilities/function.objects/func.memfn/member_function.pass.cpp | 6 +
external/bsd/libc++/dist/libcxx/test/utilities/function.objects/func.memfn/member_function_const.pass.cpp | 6 +
external/bsd/libc++/dist/libcxx/test/utilities/function.objects/func.memfn/member_function_const_volatile.pass.cpp | 6 +
external/bsd/libc++/dist/libcxx/test/utilities/function.objects/func.memfn/member_function_volatile.pass.cpp | 6 +
external/bsd/libc++/dist/libcxx/test/utilities/function.objects/func.require/invoke.pass.cpp | 50 +
external/bsd/libc++/dist/libcxx/test/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp | 9 +
external/bsd/libc++/dist/libcxx/test/utilities/function.objects/logical.operations/transparent.pass.cpp | 9 +
external/bsd/libc++/dist/libcxx/test/utilities/memory/default.allocator/allocator_pointers.pass.cpp | 116 ++++
external/bsd/libc++/dist/libcxx/test/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.assign/weak_ptr.pass.cpp | 16 +
external/bsd/libc++/dist/libcxx/test/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.assign/weak_ptr_Y.pass.cpp | 16 +
external/bsd/libc++/dist/libcxx/test/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/weak_ptr.pass.cpp | 17 +
external/bsd/libc++/dist/libcxx/test/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/weak_ptr_Y.pass.cpp | 16 +
external/bsd/libc++/dist/libcxx/test/utilities/meta/meta.trans/meta.trans.other/result_of.pass.cpp | 18 +
external/bsd/libc++/dist/libcxx/test/utilities/meta/meta.trans/meta.trans.sign/make_signed.pass.cpp | 14 +
external/bsd/libc++/dist/libcxx/test/utilities/meta/meta.trans/meta.trans.sign/make_unsigned.pass.cpp | 14 +
external/bsd/libc++/dist/libcxx/test/utilities/meta/meta.unary.prop.query/alignment_of.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/utilities/meta/meta.unary/meta.unary.cat/integral.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/utilities/meta/meta.unary/meta.unary.comp/integral.pass.cpp | 4 +
external/bsd/libc++/dist/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp | 5 +-
external/bsd/libc++/dist/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_final.pass.cpp | 53 +
external/bsd/libc++/dist/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_signed.pass.cpp | 5 +
external/bsd/libc++/dist/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_unsigned.pass.cpp | 5 +
external/bsd/libc++/dist/libcxx/test/utilities/time/clock.h | 9 +
external/bsd/libc++/dist/libcxx/test/utilities/time/rep.h | 9 +
external/bsd/libc++/dist/libcxx/test/utilities/tuple/tuple.general/tuple.smartptr.pass.cpp | 35 +
external/bsd/libc++/dist/libcxx/test/utilities/tuple/tuple.tuple/MoveOnly.h | 9 +
external/bsd/libc++/dist/libcxx/test/utilities/tuple/tuple.tuple/TupleFunction.pass.cpp | 35 +
external/bsd/libc++/dist/libcxx/test/utilities/tuple/tuple.tuple/alloc_first.h | 9 +
external/bsd/libc++/dist/libcxx/test/utilities/tuple/tuple.tuple/alloc_last.h | 9 +
external/bsd/libc++/dist/libcxx/test/utilities/tuple/tuple.tuple/tuple.creation/tie.pass.cpp | 9 +
external/bsd/libc++/dist/libcxx/test/utilities/tuple/tuple.tuple/tuple.helper/tuple_element.pass.cpp | 7 +
341 files changed, 5460 insertions(+), 931 deletions(-)
diffs (truncated from 13666 to 300 lines):
diff -r 92c0e3ee30e0 -r 5c243944afb2 external/bsd/libc++/dist/libcxx/include/__bit_reference
--- a/external/bsd/libc++/dist/libcxx/include/__bit_reference Thu May 15 23:52:32 2014 +0000
+++ b/external/bsd/libc++/dist/libcxx/include/__bit_reference Thu May 15 23:53:10 2014 +0000
@@ -174,7 +174,7 @@
if (__b)
return _It(__first.__seg_, static_cast<unsigned>(_VSTD::__ctz(__b)));
if (__n == __dn)
- return _It(__first.__seg_, __first.__ctz_ + __n);
+ return __first + __n;
__n -= __dn;
++__first.__seg_;
}
@@ -210,7 +210,7 @@
if (__b)
return _It(__first.__seg_, static_cast<unsigned>(_VSTD::__ctz(__b)));
if (__n == __dn)
- return _It(__first.__seg_, __first.__ctz_ + __n);
+ return __first + __n;
__n -= __dn;
++__first.__seg_;
}
diff -r 92c0e3ee30e0 -r 5c243944afb2 external/bsd/libc++/dist/libcxx/include/__config
--- a/external/bsd/libc++/dist/libcxx/include/__config Thu May 15 23:52:32 2014 +0000
+++ b/external/bsd/libc++/dist/libcxx/include/__config Thu May 15 23:53:10 2014 +0000
@@ -203,6 +203,11 @@
#if defined(__clang__)
+#if defined(__APPLE__) && !defined(__i386__) && !defined(__x86_64__) && \
+ !defined(__arm__)
+#define _LIBCPP_ALTERNATE_STRING_LAYOUT
+#endif
+
#if __has_feature(cxx_alignas)
# define _ALIGNAS_TYPE(x) alignas(x)
# define _ALIGNAS(x) alignas(x)
@@ -215,7 +220,7 @@
#define _LIBCPP_HAS_NO_TEMPLATE_ALIASES
#endif
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
#ifdef __linux__
#define _LIBCPP_HAS_NO_UNICODE_CHARS
#else
@@ -347,6 +352,10 @@
}
}
+#if !defined(_LIBCPP_HAS_NO_ASAN) && !__has_feature(address_sanitizer)
+#define _LIBCPP_HAS_NO_ASAN
+#endif
+
#elif defined(__GNUC__)
#define _ALIGNAS(x) __attribute__((__aligned__(x)))
@@ -421,6 +430,10 @@
using namespace _LIBCPP_NAMESPACE __attribute__((__strong__));
}
+#if !defined(_LIBCPP_HAS_NO_ASAN) && !defined(__SANITIZE_ADDRESS__)
+#define _LIBCPP_HAS_NO_ASAN
+#endif
+
#elif defined(_LIBCPP_MSVC)
#define _LIBCPP_HAS_NO_TEMPLATE_ALIASES
@@ -434,7 +447,7 @@
#define _ALIGNAS(x) __declspec(align(x))
#define _LIBCPP_HAS_NO_VARIADICS
-#define _NOEXCEPT throw()
+#define _NOEXCEPT throw ()
#define _NOEXCEPT_(x)
#define _NOEXCEPT_OR_FALSE(x) false
@@ -446,6 +459,8 @@
namespace std {
}
+#define _LIBCPP_HAS_NO_ASAN
+
#elif defined(__IBMCPP__)
#define _ALIGNAS(x) __attribute__((__aligned__(x)))
@@ -478,6 +493,8 @@
}
}
+#define _LIBCPP_HAS_NO_ASAN
+
#endif // __clang__ || __GNUC__ || _MSC_VER || __IBMCPP__
#ifdef _LIBCPP_HAS_NO_UNICODE_CHARS
@@ -485,6 +502,10 @@
typedef unsigned int char32_t;
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
+#ifndef __SIZEOF_INT128__
+#define _LIBCPP_HAS_NO_INT128
+#endif
+
#ifdef _LIBCPP_HAS_NO_STATIC_ASSERT
template <bool> struct __static_assert_test;
@@ -560,6 +581,10 @@
#define _LIBCPP_EXTERN_TEMPLATE2(...) extern template __VA_ARGS__;
#endif
+#if defined(__APPLE__) && defined(__LP64__) && !defined(__x86_64__)
+#define _LIBCPP_NONUNIQUE_RTTI_BIT (1ULL << 63)
+#endif
+
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(_WIN32) || defined(__sun__) || defined(__NetBSD__)
#define _LIBCPP_LOCALE__L_EXTENSIONS 1
#endif
@@ -604,6 +629,11 @@
#define _LIBCPP_DEPRECATED_AFTER_CXX11 [[deprecated]]
#endif
+#ifndef _LIBCPP_HAS_NO_ASAN
+extern "C" void __sanitizer_annotate_contiguous_container(
+ const void *, const void *, const void *, const void *);
+#endif
+
// Try to find out if RTTI is disabled.
// g++ and cl.exe have RTTI on by default and define a macro when it is.
// g++ only defines the macro in 4.3.2 and onwards.
diff -r 92c0e3ee30e0 -r 5c243944afb2 external/bsd/libc++/dist/libcxx/include/__functional_03
--- a/external/bsd/libc++/dist/libcxx/include/__functional_03 Thu May 15 23:52:32 2014 +0000
+++ b/external/bsd/libc++/dist/libcxx/include/__functional_03 Thu May 15 23:53:10 2014 +0000
@@ -33,28 +33,28 @@
// invoke
typename __invoke_return<type>::type
- operator() ()
+ operator() () const
{
return __invoke(__f_);
}
template <class _A0>
typename __invoke_return0<type, _A0>::type
- operator() (_A0& __a0)
+ operator() (_A0& __a0) const
{
return __invoke(__f_, __a0);
}
template <class _A0, class _A1>
typename __invoke_return1<type, _A0, _A1>::type
- operator() (_A0& __a0, _A1& __a1)
+ operator() (_A0& __a0, _A1& __a1) const
{
return __invoke(__f_, __a0, __a1);
}
template <class _A0, class _A1, class _A2>
typename __invoke_return2<type, _A0, _A1, _A2>::type
- operator() (_A0& __a0, _A1& __a1, _A2& __a2)
+ operator() (_A0& __a0, _A1& __a1, _A2& __a2) const
{
return __invoke(__f_, __a0, __a1, __a2);
}
diff -r 92c0e3ee30e0 -r 5c243944afb2 external/bsd/libc++/dist/libcxx/include/__locale
--- a/external/bsd/libc++/dist/libcxx/include/__locale Thu May 15 23:52:32 2014 +0000
+++ b/external/bsd/libc++/dist/libcxx/include/__locale Thu May 15 23:53:10 2014 +0000
@@ -21,7 +21,7 @@
#include <locale.h>
#if defined(_LIBCPP_MSVCRT) || defined(__MINGW32__)
# include <support/win32/locale_win32.h>
-#elif _AIX
+#elif defined(_AIX)
# include <support/ibm/xlocale.h>
#elif (defined(__GLIBC__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun__)) || defined(__EMSCRIPTEN__) || defined(__IBMCPP__)
# include <xlocale.h>
diff -r 92c0e3ee30e0 -r 5c243944afb2 external/bsd/libc++/dist/libcxx/include/__mutex_base
--- a/external/bsd/libc++/dist/libcxx/include/__mutex_base Thu May 15 23:52:32 2014 +0000
+++ b/external/bsd/libc++/dist/libcxx/include/__mutex_base Thu May 15 23:53:10 2014 +0000
@@ -282,7 +282,7 @@
void notify_one() _NOEXCEPT;
void notify_all() _NOEXCEPT;
- void wait(unique_lock<mutex>& __lk);
+ void wait(unique_lock<mutex>& __lk) _NOEXCEPT;
template <class _Predicate>
void wait(unique_lock<mutex>& __lk, _Predicate __pred);
@@ -313,7 +313,7 @@
private:
void __do_timed_wait(unique_lock<mutex>& __lk,
- chrono::time_point<chrono::system_clock, chrono::nanoseconds>);
+ chrono::time_point<chrono::system_clock, chrono::nanoseconds>) _NOEXCEPT;
};
template <class _To, class _Rep, class _Period>
diff -r 92c0e3ee30e0 -r 5c243944afb2 external/bsd/libc++/dist/libcxx/include/__refstring
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/external/bsd/libc++/dist/libcxx/include/__refstring Thu May 15 23:53:10 2014 +0000
@@ -0,0 +1,139 @@
+//===------------------------ __refstring ---------------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef _LIBCPP___REFSTRING
+#define _LIBCPP___REFSTRING
+
+#include <__config>
+#include <cstddef>
+#include <cstring>
+#if __APPLE__
+#include <dlfcn.h>
+#include <mach-o/dyld.h>
+#endif
+
+_LIBCPP_BEGIN_NAMESPACE_STD
+
+class _LIBCPP_HIDDEN __libcpp_refstring
+{
+private:
+ const char* str_;
+
+ typedef int count_t;
+
+ struct _Rep_base
+ {
+ std::size_t len;
+ std::size_t cap;
+ count_t count;
+ };
+
+ static
+ _Rep_base*
+ rep_from_data(const char *data_) _NOEXCEPT
+ {
+ char *data = const_cast<char *>(data_);
+ return reinterpret_cast<_Rep_base *>(data - sizeof(_Rep_base));
+ }
+ static
+ char *
+ data_from_rep(_Rep_base *rep) _NOEXCEPT
+ {
+ char *data = reinterpret_cast<char *>(rep);
+ return data + sizeof(*rep);
+ }
+
+#if __APPLE__
+ static
+ const char*
+ compute_gcc_empty_string_storage() _NOEXCEPT
+ {
+ void* handle = dlopen("/usr/lib/libstdc++.6.dylib", RTLD_NOLOAD);
+ if (handle == nullptr)
+ return nullptr;
+ void* sym = dlsym(handle, "_ZNSs4_Rep20_S_empty_rep_storageE");
+ if (sym == nullptr)
+ return nullptr;
+ return data_from_rep(reinterpret_cast<_Rep_base *>(sym));
+ }
+
+ static
+ const char*
+ get_gcc_empty_string_storage() _NOEXCEPT
+ {
+ static const char* p = compute_gcc_empty_string_storage();
+ return p;
+ }
+
+ bool
+ uses_refcount() const
+ {
+ return str_ != get_gcc_empty_string_storage();
+ }
+#else
+ bool
+ uses_refcount() const
+ {
+ return true;
+ }
+#endif
+
+public:
+ explicit __libcpp_refstring(const char* msg) {
+ std::size_t len = strlen(msg);
+ _Rep_base* rep = static_cast<_Rep_base *>(::operator new(sizeof(*rep) + len + 1));
+ rep->len = len;
+ rep->cap = len;
+ rep->count = 0;
+ char *data = data_from_rep(rep);
+ std::memcpy(data, msg, len + 1);
+ str_ = data;
+ }
+
+ __libcpp_refstring(const __libcpp_refstring& s) _NOEXCEPT : str_(s.str_)
Home |
Main Index |
Thread Index |
Old Index