From d9633f229c36f292dab0e5f510ac635cfaf3a798 Mon Sep 17 00:00:00 2001 From: Petr Hosek Date: Mon, 7 Jun 2021 11:29:03 -0700 Subject: [PATCH] Revert "[libcxx][module-map] creates submodules for private headers" This reverts commit f1417eb9b1f51b689c78dd8cb0114c1749dd2845 as it uncovered a Clang bug PR50592. --- libcxx/include/__iterator/advance.h | 1 - libcxx/include/__iterator/indirect_concepts.h | 2 - libcxx/include/__iterator/next.h | 2 - libcxx/include/__iterator/prev.h | 2 - libcxx/include/__memory/allocation_guard.h | 1 - libcxx/include/__memory/allocator.h | 3 - libcxx/include/__memory/allocator_traits.h | 3 + libcxx/include/__memory/pointer_safety.h | 1 - libcxx/include/__memory/pointer_traits.h | 1 - libcxx/include/module.modulemap | 95 +++++---------------------- 10 files changed, 19 insertions(+), 92 deletions(-) diff --git a/libcxx/include/__iterator/advance.h b/libcxx/include/__iterator/advance.h index 0b89fd4..f482d18 100644 --- a/libcxx/include/__iterator/advance.h +++ b/libcxx/include/__iterator/advance.h @@ -15,7 +15,6 @@ #include <__function_like.h> #include <__iterator/concepts.h> #include <__iterator/incrementable_traits.h> -#include <__iterator/iterator_traits.h> #include #include #include diff --git a/libcxx/include/__iterator/indirect_concepts.h b/libcxx/include/__iterator/indirect_concepts.h index fcc418e..d0ec08c 100644 --- a/libcxx/include/__iterator/indirect_concepts.h +++ b/libcxx/include/__iterator/indirect_concepts.h @@ -12,8 +12,6 @@ #include <__config> #include <__iterator/concepts.h> #include <__iterator/incrementable_traits.h> -#include <__iterator/iterator_traits.h> -#include <__iterator/readable_traits.h> #include #include diff --git a/libcxx/include/__iterator/next.h b/libcxx/include/__iterator/next.h index ab0843c..57cd5ba 100644 --- a/libcxx/include/__iterator/next.h +++ b/libcxx/include/__iterator/next.h @@ -15,8 +15,6 @@ #include <__iterator/advance.h> #include <__iterator/concepts.h> #include <__iterator/incrementable_traits.h> -#include <__iterator/iterator_traits.h> -#include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header diff --git a/libcxx/include/__iterator/prev.h b/libcxx/include/__iterator/prev.h index 0601ee0..3a32f36 100644 --- a/libcxx/include/__iterator/prev.h +++ b/libcxx/include/__iterator/prev.h @@ -15,8 +15,6 @@ #include <__iterator/advance.h> #include <__iterator/concepts.h> #include <__iterator/incrementable_traits.h> -#include <__iterator/iterator_traits.h> -#include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header diff --git a/libcxx/include/__memory/allocation_guard.h b/libcxx/include/__memory/allocation_guard.h index 4987af2..9d8d2d6 100644 --- a/libcxx/include/__memory/allocation_guard.h +++ b/libcxx/include/__memory/allocation_guard.h @@ -13,7 +13,6 @@ #include <__config> #include <__memory/allocator_traits.h> #include -#include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header diff --git a/libcxx/include/__memory/allocator.h b/libcxx/include/__memory/allocator.h index 7e02224..ddd411c 100644 --- a/libcxx/include/__memory/allocator.h +++ b/libcxx/include/__memory/allocator.h @@ -220,9 +220,6 @@ template inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17 bool operator!=(const allocator<_Tp>&, const allocator<_Up>&) _NOEXCEPT {return false;} -template -struct __is_default_allocator > : true_type { }; - _LIBCPP_END_NAMESPACE_STD _LIBCPP_POP_MACROS diff --git a/libcxx/include/__memory/allocator_traits.h b/libcxx/include/__memory/allocator_traits.h index 89afaee..a5d1510 100644 --- a/libcxx/include/__memory/allocator_traits.h +++ b/libcxx/include/__memory/allocator_traits.h @@ -361,6 +361,9 @@ struct __rebind_alloc_helper { template struct __is_default_allocator : false_type { }; +template +struct __is_default_allocator > : true_type { }; + // __is_cpp17_move_insertable template struct __is_cpp17_move_insertable diff --git a/libcxx/include/__memory/pointer_safety.h b/libcxx/include/__memory/pointer_safety.h index 87a6a96..bdfed3f 100644 --- a/libcxx/include/__memory/pointer_safety.h +++ b/libcxx/include/__memory/pointer_safety.h @@ -11,7 +11,6 @@ #define _LIBCPP___MEMORY_POINTER_SAFETY_H #include <__config> -#include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header diff --git a/libcxx/include/__memory/pointer_traits.h b/libcxx/include/__memory/pointer_traits.h index d5442b8..6730066 100644 --- a/libcxx/include/__memory/pointer_traits.h +++ b/libcxx/include/__memory/pointer_traits.h @@ -11,7 +11,6 @@ #define _LIBCPP___MEMORY_POINTER_TRAITS_H #include <__config> -#include <__memory/addressof.h> #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/module.modulemap b/libcxx/include/module.modulemap index b77edf4..b5a219d 100644 --- a/libcxx/include/module.modulemap +++ b/libcxx/include/module.modulemap @@ -336,7 +336,6 @@ module std [system] { export * } module compare { - requires cplusplus20 header "compare" export * } @@ -345,7 +344,6 @@ module std [system] { export * } module concepts { - requires cplusplus20 header "concepts" export * } @@ -371,14 +369,8 @@ module std [system] { export * } module format { - requires cplusplus20 header "format" export * - - module __format { - module format_error { header "__format/format_error.h" } - module format_parse_context { header "__format/format_parse_context.h" } - } } module forward_list { header "forward_list" @@ -433,20 +425,6 @@ module std [system] { module iterator { header "iterator" export * - - module __iterator { - module advance { header "__iterator/advance.h" } - module concepts { header "__iterator/concepts.h" } - module default_sentinel { header "__iterator/default_sentinel.h" } - module incrementable_traits { header "__iterator/incrementable_traits.h" } - module indirect_concepts { header "__iterator/indirect_concepts.h" } - module iter_move { header "__iterator/iter_move.h" } - module iterator_traits { header "__iterator/iterator_traits.h" } - module next { header "__iterator/next.h" } - module prev { header "__iterator/prev.h" } - module projected { header "__iterator/projected.h" } - module readable_traits { header "__iterator/readable_traits.h" } - } } module latch { requires cplusplus14 @@ -474,23 +452,6 @@ module std [system] { module memory { header "memory" export * - - module __memory { - module addressof { header "__memory/addressof.h" } - module allocation_guard { header "__memory/allocation_guard.h" } - module allocator_traits { header "__memory/allocator_traits.h" } - module allocator { header "__memory/allocator.h" } - module auto_ptr { header "__memory/auto_ptr.h" } - module compressed_pair { header "__memory/compressed_pair.h" } - module construct_at { header "__memory/construct_at.h" } - module pointer_safety { header "__memory/pointer_safety.h" } - module pointer_traits { header "__memory/pointer_traits.h" } - module raw_storage_iterator { header "__memory/raw_storage_iterator.h" } - module shared_ptr { header "__memory/shared_ptr.h" } - module temporary_buffer { header "__memory/temporary_buffer.h" } - module uninitialized_algorithms { header "__memory/uninitialized_algorithms.h" } - module unique_ptr { header "__memory/unique_ptr.h" } - } } module mutex { header "mutex" @@ -528,23 +489,11 @@ module std [system] { export * } module ranges { - requires cplusplus20 header "ranges" export compare export initializer_list export iterator export * - - module __ranges { - module access { header "__ranges/access.h" } - module concepts { header "__ranges/concepts.h" } - module data { header "__ranges/data.h" } - module empty { header "__ranges/empty.h" } - module enabled_borrowed_range { header "__ranges/enabled_borrowed_range.h" } - module size { header "__ranges/size.h" } - module view_interface { header "__ranges/view_interface.h" } - module view { header "__ranges/view.h" } - } } module ratio { header "ratio" @@ -642,12 +591,6 @@ module std [system] { header "utility" export initializer_list export * - - module __utility { - module to_underlying { - header "__utility/to_underlying.h" - } - } } module valarray { header "valarray" @@ -669,28 +612,22 @@ module std [system] { } // FIXME: These should be private. - module __availability { header "__availability" export * } - module __bit_reference { header "__bit_reference" export * } - module __bits { header "__bits" export * } - module __config { header "__config" export * } - module __debug { header "__debug" export * } - module __errc { header "__errc" export * } - module __function_like { header "__function_like.h" export * } - module __functional_base { header "__functional_base" export * } - // TODO: modularise __functional_(base_)?03 - module __hash_table { header "__hash_table" export * } - // libcpp_version not modularised since it's just a version number - module __locale { header "__locale" export * } - module __mutex_base { header "__mutex_base" export * } - module __node_handle { header "__node_handle" export * } - module __nullptr { header "__nullptr" export * } - module __split_buffer { header "__split_buffer" export * } - module __std_stream { header "__std_stream" export * } - module __string { header "__string" export * } - module __threading_support { header "__threading_support" export * } - module __tree { header "__tree" export * } - module __tuple { header "__tuple" export * } - module __undef_macros { header "__undef_macros" export * } + module __bit_reference { header "__bit_reference" export * } + module __bits { header "__bits" export * } + module __debug { header "__debug" export * } + module __errc { header "__errc" export * } + module __functional_base { header "__functional_base" export * } + module __hash_table { header "__hash_table" export * } + module __locale { header "__locale" export * } + module __mutex_base { header "__mutex_base" export * } + module __node_handle { header "__node_handle" export * } + module __split_buffer { header "__split_buffer" export * } + module __std_stream { header "__std_stream" export * } + module __string { header "__string" export * } + module __threading_support { header "__threading_support" export * } + module __tree { header "__tree" export * } + module __tuple { header "__tuple" export * } + module __undef_macros { header "__undef_macros" export * } module experimental { requires cplusplus11 -- 2.7.4