2018-06-12 11:10:02 +08:00
|
|
|
set(files
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/adjacent_find.h
|
|
|
|
__algorithm/all_of.h
|
|
|
|
__algorithm/any_of.h
|
|
|
|
__algorithm/binary_search.h
|
|
|
|
__algorithm/clamp.h
|
|
|
|
__algorithm/comp_ref_type.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/comp.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/copy_backward.h
|
|
|
|
__algorithm/copy_if.h
|
|
|
|
__algorithm/copy_n.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/copy.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/count_if.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/count.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/equal_range.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/equal.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/fill_n.h
|
|
|
|
__algorithm/fill.h
|
|
|
|
__algorithm/find_end.h
|
|
|
|
__algorithm/find_first_of.h
|
|
|
|
__algorithm/find_if_not.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/find_if.h
|
|
|
|
__algorithm/find.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/for_each_n.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/for_each.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/generate_n.h
|
|
|
|
__algorithm/generate.h
|
|
|
|
__algorithm/half_positive.h
|
|
|
|
__algorithm/includes.h
|
|
|
|
__algorithm/inplace_merge.h
|
|
|
|
__algorithm/is_heap_until.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/is_heap.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/is_partitioned.h
|
|
|
|
__algorithm/is_permutation.h
|
|
|
|
__algorithm/is_sorted_until.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/is_sorted.h
|
2021-06-05 10:47:47 +08:00
|
|
|
__algorithm/iter_swap.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/lexicographical_compare.h
|
|
|
|
__algorithm/lower_bound.h
|
|
|
|
__algorithm/make_heap.h
|
|
|
|
__algorithm/max_element.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/max.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/merge.h
|
|
|
|
__algorithm/min_element.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/min.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/minmax_element.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/minmax.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/mismatch.h
|
|
|
|
__algorithm/move_backward.h
|
|
|
|
__algorithm/move.h
|
|
|
|
__algorithm/next_permutation.h
|
|
|
|
__algorithm/none_of.h
|
|
|
|
__algorithm/nth_element.h
|
|
|
|
__algorithm/partial_sort_copy.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/partial_sort.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/partition_copy.h
|
|
|
|
__algorithm/partition_point.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/partition.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/pop_heap.h
|
|
|
|
__algorithm/prev_permutation.h
|
|
|
|
__algorithm/push_heap.h
|
|
|
|
__algorithm/remove_copy_if.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/remove_copy.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/remove_if.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/remove.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/replace_copy_if.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/replace_copy.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/replace_if.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/replace.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/reverse_copy.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/reverse.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/rotate_copy.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/rotate.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/sample.h
|
|
|
|
__algorithm/search_n.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/search.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/set_difference.h
|
|
|
|
__algorithm/set_intersection.h
|
|
|
|
__algorithm/set_symmetric_difference.h
|
|
|
|
__algorithm/set_union.h
|
|
|
|
__algorithm/shift_left.h
|
|
|
|
__algorithm/shift_right.h
|
|
|
|
__algorithm/shuffle.h
|
|
|
|
__algorithm/sift_down.h
|
|
|
|
__algorithm/sort_heap.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__algorithm/sort.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/stable_partition.h
|
|
|
|
__algorithm/stable_sort.h
|
2021-06-05 10:47:47 +08:00
|
|
|
__algorithm/swap_ranges.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__algorithm/transform.h
|
|
|
|
__algorithm/unique_copy.h
|
|
|
|
__algorithm/unique.h
|
|
|
|
__algorithm/unwrap_iter.h
|
|
|
|
__algorithm/upper_bound.h
|
2020-11-05 04:01:25 +08:00
|
|
|
__availability
|
2018-06-12 11:10:02 +08:00
|
|
|
__bit_reference
|
2020-05-29 02:28:38 +08:00
|
|
|
__bit/bit_cast.h
|
2021-11-22 07:22:55 +08:00
|
|
|
__bit/byteswap.h
|
2021-01-18 20:21:00 +08:00
|
|
|
__bits
|
2018-06-12 11:10:02 +08:00
|
|
|
__bsd_locale_defaults.h
|
|
|
|
__bsd_locale_fallbacks.h
|
2021-08-31 01:47:55 +08:00
|
|
|
__charconv/chars_format.h
|
|
|
|
__charconv/from_chars_result.h
|
|
|
|
__charconv/to_chars_result.h
|
2021-07-29 10:05:46 +08:00
|
|
|
__compare/common_comparison_category.h
|
2021-07-29 11:40:29 +08:00
|
|
|
__compare/compare_three_way.h
|
2021-07-29 12:03:01 +08:00
|
|
|
__compare/compare_three_way_result.h
|
2021-09-27 12:48:39 +08:00
|
|
|
__compare/is_eq.h
|
2021-07-29 10:05:46 +08:00
|
|
|
__compare/ordering.h
|
2021-07-29 10:04:18 +08:00
|
|
|
__compare/partial_order.h
|
|
|
|
__compare/strong_order.h
|
2021-09-23 13:36:23 +08:00
|
|
|
__compare/synth_three_way.h
|
2021-09-05 11:16:18 +08:00
|
|
|
__compare/three_way_comparable.h
|
2021-07-29 10:04:18 +08:00
|
|
|
__compare/weak_order.h
|
2021-07-29 13:08:30 +08:00
|
|
|
__concepts/arithmetic.h
|
|
|
|
__concepts/assignable.h
|
|
|
|
__concepts/boolean_testable.h
|
|
|
|
__concepts/class_or_enum.h
|
|
|
|
__concepts/common_reference_with.h
|
|
|
|
__concepts/common_with.h
|
|
|
|
__concepts/constructible.h
|
|
|
|
__concepts/convertible_to.h
|
|
|
|
__concepts/copyable.h
|
|
|
|
__concepts/derived_from.h
|
|
|
|
__concepts/destructible.h
|
|
|
|
__concepts/different_from.h
|
|
|
|
__concepts/equality_comparable.h
|
|
|
|
__concepts/invocable.h
|
|
|
|
__concepts/movable.h
|
|
|
|
__concepts/predicate.h
|
|
|
|
__concepts/regular.h
|
|
|
|
__concepts/relation.h
|
|
|
|
__concepts/same_as.h
|
|
|
|
__concepts/semiregular.h
|
|
|
|
__concepts/swappable.h
|
|
|
|
__concepts/totally_ordered.h
|
2020-06-27 00:08:59 +08:00
|
|
|
__config
|
2021-11-16 14:05:34 +08:00
|
|
|
__coroutine/coroutine_handle.h
|
|
|
|
__coroutine/coroutine_traits.h
|
|
|
|
__coroutine/noop_coroutine_handle.h
|
|
|
|
__coroutine/trivial_awaitables.h
|
2018-06-12 11:10:02 +08:00
|
|
|
__debug
|
2020-11-05 00:43:47 +08:00
|
|
|
__errc
|
2020-12-05 18:45:21 +08:00
|
|
|
__format/format_arg.h
|
|
|
|
__format/format_args.h
|
|
|
|
__format/format_context.h
|
2021-04-25 23:58:03 +08:00
|
|
|
__format/format_error.h
|
2020-12-05 18:45:21 +08:00
|
|
|
__format/format_fwd.h
|
2021-04-26 00:23:42 +08:00
|
|
|
__format/format_parse_context.h
|
2020-12-19 20:52:07 +08:00
|
|
|
__format/format_string.h
|
2021-11-14 02:43:32 +08:00
|
|
|
__format/format_to_n_result.h
|
2020-12-19 20:52:07 +08:00
|
|
|
__format/formatter.h
|
2020-12-15 00:39:15 +08:00
|
|
|
__format/formatter_bool.h
|
2020-12-15 00:39:15 +08:00
|
|
|
__format/formatter_char.h
|
[libc++][format] Adds integer formatter.
Implements the formatter for all fundamental integer types
(except `char`, `wchar_t`, and `bool`).
[format.formatter.spec]/2.3
For each charT, for each cv-unqualified arithmetic type ArithmeticT other
than char, wchar_t, char8_t, char16_t, or char32_t, a specialization
```
template<> struct formatter<ArithmeticT, charT>;
```
This removes the stub implemented in D96664.
As an extension it adds partial support for 128-bit integer types.
Implements parts of:
- P0645 Text Formatting
- P1652 Printf corner cases in std::format
Completes:
- LWG-3248 #b, #B, #o, #x, and #X presentation types misformat negative numbers
Reviewed By: #libc, ldionne, vitaut
Differential Revision: https://reviews.llvm.org/D103433
2020-12-15 00:39:15 +08:00
|
|
|
__format/formatter_integer.h
|
|
|
|
__format/formatter_integral.h
|
[libc++][format] Adds string formatter.
Implements the formatter for all string types.
[format.formatter.spec]/2.2
For each charT, the string type specializations
```
template<> struct formatter<charT*, charT>;
template<> struct formatter<const charT*, charT>;
template<size_t N> struct formatter<const charT[N], charT>;
template<class traits, class Allocator>
struct formatter<basic_string<charT, traits, Allocator>, charT>;
template<class traits>
struct formatter<basic_string_view<charT, traits>, charT>;
```
This removes the stub implemented in D96664.
Implements parts of:
- P0645 Text Formatting
- P1868 width: clarifying units of width and precision in std::format
Reviewed By: #libc, ldionne, vitaut
Differential Revision: https://reviews.llvm.org/D103425
2020-12-15 00:39:15 +08:00
|
|
|
__format/formatter_string.h
|
2020-12-15 00:39:15 +08:00
|
|
|
__format/parser_std_format_spec.h
|
2021-05-05 15:14:08 +08:00
|
|
|
__function_like.h
|
2018-06-12 11:10:02 +08:00
|
|
|
__functional_base
|
2021-07-01 21:25:35 +08:00
|
|
|
__functional/binary_function.h
|
|
|
|
__functional/binary_negate.h
|
2021-08-10 03:41:26 +08:00
|
|
|
__functional/bind_back.h
|
2021-07-01 21:25:35 +08:00
|
|
|
__functional/bind_front.h
|
|
|
|
__functional/bind.h
|
|
|
|
__functional/binder1st.h
|
|
|
|
__functional/binder2nd.h
|
2021-08-10 03:41:26 +08:00
|
|
|
__functional/compose.h
|
2021-07-01 21:25:35 +08:00
|
|
|
__functional/default_searcher.h
|
|
|
|
__functional/function.h
|
2021-06-10 07:10:17 +08:00
|
|
|
__functional/hash.h
|
2021-07-01 21:25:35 +08:00
|
|
|
__functional/identity.h
|
|
|
|
__functional/invoke.h
|
|
|
|
__functional/is_transparent.h
|
|
|
|
__functional/mem_fn.h
|
|
|
|
__functional/mem_fun_ref.h
|
|
|
|
__functional/not_fn.h
|
|
|
|
__functional/operations.h
|
|
|
|
__functional/perfect_forward.h
|
|
|
|
__functional/pointer_to_binary_function.h
|
|
|
|
__functional/pointer_to_unary_function.h
|
|
|
|
__functional/ranges_operations.h
|
|
|
|
__functional/reference_wrapper.h
|
2021-06-10 07:10:17 +08:00
|
|
|
__functional/unary_function.h
|
2021-07-01 21:25:35 +08:00
|
|
|
__functional/unary_negate.h
|
2021-06-10 07:10:17 +08:00
|
|
|
__functional/unwrap_ref.h
|
2021-07-01 21:25:35 +08:00
|
|
|
__functional/weak_result_type.h
|
2018-06-12 11:10:02 +08:00
|
|
|
__hash_table
|
2021-06-29 10:32:59 +08:00
|
|
|
__iterator/access.h
|
2021-05-05 15:14:08 +08:00
|
|
|
__iterator/advance.h
|
2021-06-11 21:55:11 +08:00
|
|
|
__iterator/back_insert_iterator.h
|
2021-05-28 00:23:19 +08:00
|
|
|
__iterator/common_iterator.h
|
2021-04-20 02:28:27 +08:00
|
|
|
__iterator/concepts.h
|
2021-07-14 02:06:10 +08:00
|
|
|
__iterator/counted_iterator.h
|
2021-06-29 10:32:59 +08:00
|
|
|
__iterator/data.h
|
2021-06-02 03:55:33 +08:00
|
|
|
__iterator/default_sentinel.h
|
2021-06-29 10:32:59 +08:00
|
|
|
__iterator/distance.h
|
|
|
|
__iterator/empty.h
|
|
|
|
__iterator/erase_if_container.h
|
2021-06-11 21:55:11 +08:00
|
|
|
__iterator/front_insert_iterator.h
|
2021-04-20 02:28:27 +08:00
|
|
|
__iterator/incrementable_traits.h
|
2021-06-11 21:55:11 +08:00
|
|
|
__iterator/insert_iterator.h
|
2021-06-29 10:32:59 +08:00
|
|
|
__iterator/istream_iterator.h
|
2021-07-07 02:45:41 +08:00
|
|
|
__iterator/istreambuf_iterator.h
|
2021-04-21 02:40:43 +08:00
|
|
|
__iterator/iter_move.h
|
2021-05-19 07:18:18 +08:00
|
|
|
__iterator/iter_swap.h
|
2021-07-07 02:45:41 +08:00
|
|
|
__iterator/iterator_traits.h
|
|
|
|
__iterator/iterator.h
|
2021-06-11 21:55:11 +08:00
|
|
|
__iterator/move_iterator.h
|
2021-05-08 13:02:43 +08:00
|
|
|
__iterator/next.h
|
2021-06-29 10:32:59 +08:00
|
|
|
__iterator/ostream_iterator.h
|
2021-07-07 02:45:41 +08:00
|
|
|
__iterator/ostreambuf_iterator.h
|
2021-05-16 09:39:22 +08:00
|
|
|
__iterator/prev.h
|
2021-04-29 03:02:08 +08:00
|
|
|
__iterator/projected.h
|
2021-04-20 02:28:27 +08:00
|
|
|
__iterator/readable_traits.h
|
2021-06-29 10:32:59 +08:00
|
|
|
__iterator/reverse_access.h
|
2021-06-11 21:55:11 +08:00
|
|
|
__iterator/reverse_iterator.h
|
2021-06-29 10:32:59 +08:00
|
|
|
__iterator/size.h
|
2021-08-12 02:16:27 +08:00
|
|
|
__iterator/unreachable_sentinel.h
|
2021-06-11 21:55:11 +08:00
|
|
|
__iterator/wrap_iter.h
|
2018-06-12 11:10:02 +08:00
|
|
|
__libcpp_version
|
|
|
|
__locale
|
2021-08-24 03:32:36 +08:00
|
|
|
__mbstate_t.h
|
2021-04-15 01:59:03 +08:00
|
|
|
__memory/addressof.h
|
2021-04-15 02:00:48 +08:00
|
|
|
__memory/allocation_guard.h
|
2021-07-01 21:25:35 +08:00
|
|
|
__memory/allocator_arg_t.h
|
2020-12-11 07:28:13 +08:00
|
|
|
__memory/allocator_traits.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__memory/allocator.h
|
2021-04-10 00:44:26 +08:00
|
|
|
__memory/auto_ptr.h
|
2021-04-10 02:43:01 +08:00
|
|
|
__memory/compressed_pair.h
|
2021-12-03 09:57:55 +08:00
|
|
|
__memory/concepts.h
|
2021-04-15 01:59:03 +08:00
|
|
|
__memory/construct_at.h
|
2020-12-11 07:28:13 +08:00
|
|
|
__memory/pointer_traits.h
|
2021-04-10 02:45:18 +08:00
|
|
|
__memory/raw_storage_iterator.h
|
2021-04-10 03:16:14 +08:00
|
|
|
__memory/shared_ptr.h
|
2021-04-10 00:58:00 +08:00
|
|
|
__memory/temporary_buffer.h
|
2021-04-10 02:47:46 +08:00
|
|
|
__memory/uninitialized_algorithms.h
|
2021-04-10 03:00:57 +08:00
|
|
|
__memory/unique_ptr.h
|
2021-07-01 21:25:35 +08:00
|
|
|
__memory/uses_allocator.h
|
2018-06-12 11:10:02 +08:00
|
|
|
__mutex_base
|
2021-12-01 09:36:32 +08:00
|
|
|
__numeric/accumulate.h
|
|
|
|
__numeric/adjacent_difference.h
|
|
|
|
__numeric/exclusive_scan.h
|
|
|
|
__numeric/gcd_lcm.h
|
|
|
|
__numeric/inclusive_scan.h
|
|
|
|
__numeric/inner_product.h
|
|
|
|
__numeric/iota.h
|
|
|
|
__numeric/midpoint.h
|
|
|
|
__numeric/partial_sum.h
|
|
|
|
__numeric/reduce.h
|
|
|
|
__numeric/transform_exclusive_scan.h
|
|
|
|
__numeric/transform_inclusive_scan.h
|
|
|
|
__numeric/transform_reduce.h
|
2018-08-01 09:33:38 +08:00
|
|
|
__node_handle
|
2018-06-12 11:10:02 +08:00
|
|
|
__nullptr
|
2021-11-20 03:58:51 +08:00
|
|
|
__random/bernoulli_distribution.h
|
|
|
|
__random/binomial_distribution.h
|
|
|
|
__random/cauchy_distribution.h
|
|
|
|
__random/chi_squared_distribution.h
|
|
|
|
__random/default_random_engine.h
|
|
|
|
__random/discard_block_engine.h
|
|
|
|
__random/discrete_distribution.h
|
|
|
|
__random/exponential_distribution.h
|
|
|
|
__random/extreme_value_distribution.h
|
|
|
|
__random/fisher_f_distribution.h
|
|
|
|
__random/gamma_distribution.h
|
|
|
|
__random/generate_canonical.h
|
|
|
|
__random/geometric_distribution.h
|
|
|
|
__random/independent_bits_engine.h
|
|
|
|
__random/is_seed_sequence.h
|
|
|
|
__random/knuth_b.h
|
|
|
|
__random/linear_congruential_engine.h
|
|
|
|
__random/log2.h
|
|
|
|
__random/lognormal_distribution.h
|
|
|
|
__random/mersenne_twister_engine.h
|
|
|
|
__random/negative_binomial_distribution.h
|
|
|
|
__random/normal_distribution.h
|
|
|
|
__random/piecewise_constant_distribution.h
|
|
|
|
__random/piecewise_linear_distribution.h
|
|
|
|
__random/poisson_distribution.h
|
|
|
|
__random/random_device.h
|
|
|
|
__random/ranlux.h
|
|
|
|
__random/seed_seq.h
|
|
|
|
__random/shuffle_order_engine.h
|
|
|
|
__random/student_t_distribution.h
|
|
|
|
__random/subtract_with_carry_engine.h
|
2021-06-17 23:30:11 +08:00
|
|
|
__random/uniform_int_distribution.h
|
2021-11-20 03:58:51 +08:00
|
|
|
__random/uniform_random_bit_generator.h
|
|
|
|
__random/uniform_real_distribution.h
|
|
|
|
__random/weibull_distribution.h
|
2021-04-11 13:08:32 +08:00
|
|
|
__ranges/access.h
|
2021-05-07 06:31:45 +08:00
|
|
|
__ranges/all.h
|
2021-07-10 01:09:31 +08:00
|
|
|
__ranges/common_view.h
|
2021-04-12 01:40:30 +08:00
|
|
|
__ranges/concepts.h
|
2021-06-25 01:29:35 +08:00
|
|
|
__ranges/copyable_box.h
|
2021-07-28 06:44:33 +08:00
|
|
|
__ranges/counted.h
|
2021-07-09 05:01:19 +08:00
|
|
|
__ranges/dangling.h
|
2021-04-24 06:22:18 +08:00
|
|
|
__ranges/data.h
|
2021-05-07 08:39:53 +08:00
|
|
|
__ranges/drop_view.h
|
2021-05-27 05:25:02 +08:00
|
|
|
__ranges/empty_view.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__ranges/empty.h
|
2020-11-25 01:08:02 +08:00
|
|
|
__ranges/enable_borrowed_range.h
|
2021-06-11 02:40:21 +08:00
|
|
|
__ranges/enable_view.h
|
2021-08-04 04:05:20 +08:00
|
|
|
__ranges/iota_view.h
|
2021-08-07 06:33:46 +08:00
|
|
|
__ranges/join_view.h
|
2021-07-20 00:12:49 +08:00
|
|
|
__ranges/non_propagating_cache.h
|
2021-08-12 05:36:35 +08:00
|
|
|
__ranges/range_adaptor.h
|
2021-05-07 04:19:13 +08:00
|
|
|
__ranges/ref_view.h
|
2021-07-29 08:11:04 +08:00
|
|
|
__ranges/reverse_view.h
|
2021-07-27 08:27:40 +08:00
|
|
|
__ranges/single_view.h
|
2021-04-23 00:29:02 +08:00
|
|
|
__ranges/size.h
|
2021-05-04 05:37:42 +08:00
|
|
|
__ranges/subrange.h
|
2021-07-27 08:27:40 +08:00
|
|
|
__ranges/take_view.h
|
2021-07-10 01:12:16 +08:00
|
|
|
__ranges/transform_view.h
|
2021-07-05 21:25:15 +08:00
|
|
|
__ranges/view_interface.h
|
2018-06-12 11:10:02 +08:00
|
|
|
__split_buffer
|
|
|
|
__std_stream
|
|
|
|
__string
|
2021-07-05 21:25:15 +08:00
|
|
|
__support/android/locale_bionic.h
|
|
|
|
__support/fuchsia/xlocale.h
|
|
|
|
__support/ibm/gettod_zos.h
|
|
|
|
__support/ibm/limits.h
|
|
|
|
__support/ibm/locale_mgmt_zos.h
|
|
|
|
__support/ibm/nanosleep.h
|
|
|
|
__support/ibm/support.h
|
|
|
|
__support/ibm/xlocale.h
|
|
|
|
__support/musl/xlocale.h
|
|
|
|
__support/newlib/xlocale.h
|
|
|
|
__support/openbsd/xlocale.h
|
|
|
|
__support/solaris/floatingpoint.h
|
|
|
|
__support/solaris/wchar.h
|
|
|
|
__support/solaris/xlocale.h
|
|
|
|
__support/win32/limits_msvc_win32.h
|
|
|
|
__support/win32/locale_win32.h
|
|
|
|
__support/xlocale/__nop_locale_mgmt.h
|
|
|
|
__support/xlocale/__posix_l_fallback.h
|
|
|
|
__support/xlocale/__strtonum_fallback.h
|
2021-11-17 23:59:31 +08:00
|
|
|
__thread/poll_with_backoff.h
|
2018-06-12 11:10:02 +08:00
|
|
|
__threading_support
|
|
|
|
__tree
|
|
|
|
__tuple
|
|
|
|
__undef_macros
|
2021-06-10 07:10:17 +08:00
|
|
|
__utility/as_const.h
|
|
|
|
__utility/cmp.h
|
2021-08-27 22:36:04 +08:00
|
|
|
__utility/decay_copy.h
|
2021-06-05 10:47:47 +08:00
|
|
|
__utility/declval.h
|
2021-06-10 07:10:17 +08:00
|
|
|
__utility/exchange.h
|
2021-06-05 10:47:47 +08:00
|
|
|
__utility/forward.h
|
2021-06-10 07:10:17 +08:00
|
|
|
__utility/in_place.h
|
|
|
|
__utility/integer_sequence.h
|
2021-06-05 10:47:47 +08:00
|
|
|
__utility/move.h
|
2021-06-10 07:10:17 +08:00
|
|
|
__utility/pair.h
|
|
|
|
__utility/piecewise_construct.h
|
2021-07-29 10:04:18 +08:00
|
|
|
__utility/priority_tag.h
|
2021-06-10 07:10:17 +08:00
|
|
|
__utility/rel_ops.h
|
2021-06-05 10:47:47 +08:00
|
|
|
__utility/swap.h
|
2021-04-24 23:28:35 +08:00
|
|
|
__utility/to_underlying.h
|
2021-07-08 03:27:27 +08:00
|
|
|
__variant/monostate.h
|
2018-06-12 11:10:02 +08:00
|
|
|
algorithm
|
|
|
|
any
|
|
|
|
array
|
|
|
|
atomic
|
2020-02-18 22:58:34 +08:00
|
|
|
barrier
|
2018-08-18 00:07:48 +08:00
|
|
|
bit
|
2018-06-12 11:10:02 +08:00
|
|
|
bitset
|
|
|
|
cassert
|
|
|
|
ccomplex
|
|
|
|
cctype
|
|
|
|
cerrno
|
|
|
|
cfenv
|
|
|
|
cfloat
|
2018-08-01 10:38:30 +08:00
|
|
|
charconv
|
2018-06-12 11:10:02 +08:00
|
|
|
chrono
|
|
|
|
cinttypes
|
|
|
|
ciso646
|
|
|
|
climits
|
|
|
|
clocale
|
|
|
|
cmath
|
|
|
|
codecvt
|
|
|
|
compare
|
|
|
|
complex
|
|
|
|
complex.h
|
2020-04-09 06:00:13 +08:00
|
|
|
concepts
|
2018-06-12 11:10:02 +08:00
|
|
|
condition_variable
|
2021-11-16 14:05:34 +08:00
|
|
|
coroutine
|
2018-06-12 11:10:02 +08:00
|
|
|
csetjmp
|
|
|
|
csignal
|
|
|
|
cstdarg
|
|
|
|
cstdbool
|
|
|
|
cstddef
|
|
|
|
cstdint
|
|
|
|
cstdio
|
|
|
|
cstdlib
|
|
|
|
cstring
|
|
|
|
ctgmath
|
|
|
|
ctime
|
|
|
|
ctype.h
|
|
|
|
cwchar
|
|
|
|
cwctype
|
|
|
|
deque
|
|
|
|
errno.h
|
|
|
|
exception
|
2019-08-06 02:29:14 +08:00
|
|
|
execution
|
2018-06-12 11:10:02 +08:00
|
|
|
experimental/__config
|
|
|
|
experimental/__memory
|
|
|
|
experimental/algorithm
|
|
|
|
experimental/coroutine
|
|
|
|
experimental/deque
|
|
|
|
experimental/filesystem
|
|
|
|
experimental/forward_list
|
|
|
|
experimental/functional
|
|
|
|
experimental/iterator
|
|
|
|
experimental/list
|
|
|
|
experimental/map
|
|
|
|
experimental/memory_resource
|
|
|
|
experimental/propagate_const
|
|
|
|
experimental/regex
|
|
|
|
experimental/set
|
|
|
|
experimental/simd
|
|
|
|
experimental/string
|
|
|
|
experimental/type_traits
|
|
|
|
experimental/unordered_map
|
|
|
|
experimental/unordered_set
|
|
|
|
experimental/utility
|
|
|
|
experimental/vector
|
|
|
|
ext/__hash
|
|
|
|
ext/hash_map
|
|
|
|
ext/hash_set
|
2019-02-12 07:47:19 +08:00
|
|
|
fenv.h
|
2018-07-27 11:42:58 +08:00
|
|
|
filesystem
|
2018-06-12 11:10:02 +08:00
|
|
|
float.h
|
2020-11-27 02:12:18 +08:00
|
|
|
format
|
2018-06-12 11:10:02 +08:00
|
|
|
forward_list
|
|
|
|
fstream
|
|
|
|
functional
|
|
|
|
future
|
|
|
|
initializer_list
|
|
|
|
inttypes.h
|
|
|
|
iomanip
|
|
|
|
ios
|
|
|
|
iosfwd
|
|
|
|
iostream
|
|
|
|
istream
|
|
|
|
iterator
|
2020-02-18 22:58:34 +08:00
|
|
|
latch
|
2018-06-12 11:10:02 +08:00
|
|
|
limits
|
|
|
|
limits.h
|
|
|
|
list
|
|
|
|
locale
|
|
|
|
locale.h
|
|
|
|
map
|
|
|
|
math.h
|
|
|
|
memory
|
|
|
|
module.modulemap
|
|
|
|
mutex
|
|
|
|
new
|
2020-06-19 15:13:33 +08:00
|
|
|
numbers
|
2018-06-12 11:10:02 +08:00
|
|
|
numeric
|
|
|
|
optional
|
|
|
|
ostream
|
|
|
|
queue
|
|
|
|
random
|
2020-11-25 01:08:02 +08:00
|
|
|
ranges
|
2021-07-05 21:25:15 +08:00
|
|
|
ratio
|
2018-06-12 11:10:02 +08:00
|
|
|
regex
|
|
|
|
scoped_allocator
|
2020-02-18 22:58:34 +08:00
|
|
|
semaphore
|
2018-06-12 11:10:02 +08:00
|
|
|
set
|
|
|
|
setjmp.h
|
|
|
|
shared_mutex
|
2018-07-24 11:01:02 +08:00
|
|
|
span
|
2018-06-12 11:10:02 +08:00
|
|
|
sstream
|
|
|
|
stack
|
|
|
|
stdbool.h
|
|
|
|
stddef.h
|
|
|
|
stdexcept
|
|
|
|
stdint.h
|
|
|
|
stdio.h
|
|
|
|
stdlib.h
|
|
|
|
streambuf
|
|
|
|
string
|
|
|
|
string_view
|
2021-07-05 21:25:15 +08:00
|
|
|
string.h
|
2018-06-12 11:10:02 +08:00
|
|
|
strstream
|
|
|
|
system_error
|
|
|
|
tgmath.h
|
|
|
|
thread
|
|
|
|
tuple
|
|
|
|
type_traits
|
|
|
|
typeindex
|
|
|
|
typeinfo
|
|
|
|
unordered_map
|
|
|
|
unordered_set
|
|
|
|
utility
|
|
|
|
valarray
|
|
|
|
variant
|
|
|
|
vector
|
|
|
|
version
|
|
|
|
wchar.h
|
|
|
|
wctype.h
|
|
|
|
)
|
|
|
|
|
2020-07-16 05:10:56 +08:00
|
|
|
configure_file("__config_site.in" "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site" @ONLY)
|
2018-06-12 11:10:02 +08:00
|
|
|
|
2020-07-16 05:10:56 +08:00
|
|
|
set(_all_includes "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site")
|
2020-06-27 00:08:59 +08:00
|
|
|
foreach(f ${files})
|
|
|
|
set(src "${CMAKE_CURRENT_SOURCE_DIR}/${f}")
|
|
|
|
set(dst "${LIBCXX_GENERATED_INCLUDE_DIR}/${f}")
|
2020-10-23 21:32:50 +08:00
|
|
|
add_custom_command(OUTPUT ${dst}
|
2020-06-27 00:08:59 +08:00
|
|
|
DEPENDS ${src}
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
|
|
|
|
COMMENT "Copying CXX header ${f}")
|
|
|
|
list(APPEND _all_includes "${dst}")
|
|
|
|
endforeach()
|
2018-06-12 11:10:02 +08:00
|
|
|
|
2021-04-02 21:19:31 +08:00
|
|
|
add_custom_target(generate-cxx-headers ALL DEPENDS ${_all_includes})
|
2020-10-23 21:32:50 +08:00
|
|
|
|
2020-06-27 00:08:59 +08:00
|
|
|
add_library(cxx-headers INTERFACE)
|
|
|
|
add_dependencies(cxx-headers generate-cxx-headers ${LIBCXX_CXX_ABI_HEADER_TARGET})
|
|
|
|
# TODO: Use target_include_directories once we figure out why that breaks the runtimes build
|
|
|
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC" OR "${CMAKE_CXX_SIMULATE_ID}" STREQUAL "MSVC")
|
2021-04-30 01:11:39 +08:00
|
|
|
target_compile_options(cxx-headers INTERFACE /I${LIBCXX_GENERATED_INCLUDE_DIR}
|
|
|
|
INTERFACE /I${LIBCXX_GENERATED_INCLUDE_TARGET_DIR})
|
2018-06-12 11:10:02 +08:00
|
|
|
else()
|
2020-07-16 05:10:56 +08:00
|
|
|
target_compile_options(cxx-headers INTERFACE -I${LIBCXX_GENERATED_INCLUDE_DIR}
|
|
|
|
INTERFACE -I${LIBCXX_GENERATED_INCLUDE_TARGET_DIR})
|
2016-08-31 00:51:34 +08:00
|
|
|
endif()
|
2014-10-24 00:51:12 +08:00
|
|
|
|
2014-12-13 06:52:58 +08:00
|
|
|
if (LIBCXX_INSTALL_HEADERS)
|
2018-06-12 11:10:02 +08:00
|
|
|
foreach(file ${files})
|
|
|
|
get_filename_component(dir ${file} DIRECTORY)
|
|
|
|
install(FILES ${file}
|
2020-07-16 05:10:56 +08:00
|
|
|
DESTINATION ${LIBCXX_INSTALL_INCLUDE_DIR}/${dir}
|
2020-09-29 07:12:48 +08:00
|
|
|
COMPONENT cxx-headers
|
2018-06-12 11:10:02 +08:00
|
|
|
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
|
|
|
)
|
|
|
|
endforeach()
|
[libcxx] Capture configuration information when installing the libc++ headers
Summary:
Hi all,
This patch is a successor to D11963. However it has changed dramatically and I felt it would be best to start a new review thread.
Please read the design documentation added in this patch for a description of how it works.
Reviewers: mclow.lists, danalbert, jroelofs, EricWF
Subscribers: vkalintiris, rnk, ed, espositofulvio, asl, eugenis, cfe-commits
Differential Revision: http://reviews.llvm.org/D13407
llvm-svn: 250235
2015-10-14 06:12:02 +08:00
|
|
|
|
2020-06-27 00:08:59 +08:00
|
|
|
# Install the generated __config_site.
|
2020-07-16 05:10:56 +08:00
|
|
|
install(FILES ${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site
|
|
|
|
DESTINATION ${LIBCXX_INSTALL_INCLUDE_TARGET_DIR}
|
[libc++] Always generate a __config_site header
Before this patch, the __config_site header was only generated when at
least one __config_site macro needed to be defined. This lead to two
different code paths in how libc++ is configured, depending on whether
a __config_site header was generated or not. After this patch, the
__config_site is always generated, but it can be empty in case there
are no macros to define in it.
More context on why this change is important
--------------------------------------------
In addition to being confusing, this double-code-path situation lead to
broken code being checked in undetected in 2405bd689815, which introduced
the LIBCXX_HAS_MERGED_TYPEINFO_NAMES_DEFAULT CMake setting. Specifically,
the _LIBCPP_HAS_MERGED_TYPEINFO_NAMES_DEFAULT <__config_site> macro was
supposed NOT to be defined unless LIBCXX_HAS_MERGED_TYPEINFO_NAMES_DEFAULT
was specified explicitly on the CMake command line. Instead, what happened
is that it was defined to 0 if it wasn't specified explicitly and a
<__config_site> header was generated. And defining that macro to 0 had
the important effect of using the non-unique RTTI comparison implementation,
which changes the ABI.
This change in behavior wasn't noticed because the <__config_site> header
is not generated by default. However, the Apple configuration does cause
a <__config_site> header to be generated, which lead to the wrong RTTI
implementation being used, and to https://llvm.org/PR45549. We came close
to an ABI break in the dylib, but were saved due to a downstream-only
change that overrode the decision of the <__config_site> for the purpose
of RTTI comparisons in libc++abi. This is an incredible luck that we should
not rely on ever again.
While the problem itself was fixed with 2464d8135e2a by setting
LIBCXX_HAS_MERGED_TYPEINFO_NAMES_DEFAULT explicitly in the Apple
CMake cache and then in d0fcdcd28f95 by making the setting less
brittle, the point still is that we should have had a single code
path from the beginning. Unlike most normal libraries, the macros
that configure libc++ are really complex, there's a lot of them and
they control important properties of the C++ runtime. There must be
a single code path for that, and it must be simple and robust.
Differential Revision: https://reviews.llvm.org/D80927
2020-05-16 02:54:27 +08:00
|
|
|
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
2020-09-29 07:12:48 +08:00
|
|
|
COMPONENT cxx-headers)
|
2016-04-30 06:17:15 +08:00
|
|
|
|
|
|
|
if (NOT CMAKE_CONFIGURATION_TYPES)
|
2020-09-29 07:12:48 +08:00
|
|
|
add_custom_target(install-cxx-headers
|
2020-06-27 00:08:59 +08:00
|
|
|
DEPENDS cxx-headers
|
2016-04-30 06:17:15 +08:00
|
|
|
COMMAND "${CMAKE_COMMAND}"
|
2020-09-29 07:12:48 +08:00
|
|
|
-DCMAKE_INSTALL_COMPONENT=cxx-headers
|
2016-04-30 06:17:15 +08:00
|
|
|
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
|
2017-12-07 05:03:42 +08:00
|
|
|
# Stripping is a no-op for headers
|
2020-09-29 07:12:48 +08:00
|
|
|
add_custom_target(install-cxx-headers-stripped DEPENDS install-cxx-headers)
|
[libcxx] Capture configuration information when installing the libc++ headers
Summary:
Hi all,
This patch is a successor to D11963. However it has changed dramatically and I felt it would be best to start a new review thread.
Please read the design documentation added in this patch for a description of how it works.
Reviewers: mclow.lists, danalbert, jroelofs, EricWF
Subscribers: vkalintiris, rnk, ed, espositofulvio, asl, eugenis, cfe-commits
Differential Revision: http://reviews.llvm.org/D13407
llvm-svn: 250235
2015-10-14 06:12:02 +08:00
|
|
|
endif()
|
2014-12-13 06:52:58 +08:00
|
|
|
endif()
|