Skip to content

Commit 4b8bf6a

Browse files
authoredDec 11, 2024
[libc++] Properly guard flat_map includes based on C++ version (#119227)
That's what we (try to) do consistently for all other umbrella headers. As a drive-by, remove the <__assert> header which is not mandated anymore.
1 parent f403727 commit 4b8bf6a

File tree

6 files changed

+8
-114
lines changed

6 files changed

+8
-114
lines changed
 

‎libcxx/include/flat_map

+8-4
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,15 @@ namespace std {
3838
*/
3939

4040
#if 0
41-
#else // 0
42-
# include <__assert> // all public C++ headers provide the assertion handler
41+
#else // 0
4342
# include <__config>
44-
# include <__flat_map/flat_map.h>
45-
# include <__flat_map/sorted_unique.h>
43+
44+
# if _LIBCPP_STD_VER >= 23
45+
# include <__flat_map/flat_map.h>
46+
# include <__flat_map/sorted_unique.h>
47+
# endif
48+
49+
// for feature-test macros
4650
# include <version>
4751

4852
// standard required includes

‎libcxx/test/libcxx/transitive_includes/cxx03.csv

-22
Original file line numberDiff line numberDiff line change
@@ -674,35 +674,13 @@ filesystem typeinfo
674674
filesystem utility
675675
filesystem variant
676676
filesystem version
677-
flat_map atomic
678-
flat_map cctype
679-
flat_map climits
680677
flat_map cmath
681678
flat_map compare
682-
flat_map concepts
683679
flat_map cstddef
684680
flat_map cstdint
685-
flat_map cstdio
686-
flat_map cstdlib
687-
flat_map cstring
688-
flat_map ctime
689-
flat_map cwchar
690-
flat_map cwctype
691-
flat_map exception
692681
flat_map initializer_list
693-
flat_map iosfwd
694-
flat_map iterator
695682
flat_map limits
696-
flat_map memory
697-
flat_map new
698-
flat_map optional
699-
flat_map ratio
700-
flat_map stdexcept
701-
flat_map tuple
702683
flat_map type_traits
703-
flat_map typeinfo
704-
flat_map utility
705-
flat_map variant
706684
flat_map version
707685
format algorithm
708686
format array

‎libcxx/test/libcxx/transitive_includes/cxx11.csv

-22
Original file line numberDiff line numberDiff line change
@@ -674,35 +674,13 @@ filesystem typeinfo
674674
filesystem utility
675675
filesystem variant
676676
filesystem version
677-
flat_map atomic
678-
flat_map cctype
679-
flat_map climits
680677
flat_map cmath
681678
flat_map compare
682-
flat_map concepts
683679
flat_map cstddef
684680
flat_map cstdint
685-
flat_map cstdio
686-
flat_map cstdlib
687-
flat_map cstring
688-
flat_map ctime
689-
flat_map cwchar
690-
flat_map cwctype
691-
flat_map exception
692681
flat_map initializer_list
693-
flat_map iosfwd
694-
flat_map iterator
695682
flat_map limits
696-
flat_map memory
697-
flat_map new
698-
flat_map optional
699-
flat_map ratio
700-
flat_map stdexcept
701-
flat_map tuple
702683
flat_map type_traits
703-
flat_map typeinfo
704-
flat_map utility
705-
flat_map variant
706684
flat_map version
707685
format algorithm
708686
format array

‎libcxx/test/libcxx/transitive_includes/cxx14.csv

-22
Original file line numberDiff line numberDiff line change
@@ -692,35 +692,13 @@ filesystem typeinfo
692692
filesystem utility
693693
filesystem variant
694694
filesystem version
695-
flat_map atomic
696-
flat_map cctype
697-
flat_map climits
698695
flat_map cmath
699696
flat_map compare
700-
flat_map concepts
701697
flat_map cstddef
702698
flat_map cstdint
703-
flat_map cstdio
704-
flat_map cstdlib
705-
flat_map cstring
706-
flat_map ctime
707-
flat_map cwchar
708-
flat_map cwctype
709-
flat_map exception
710699
flat_map initializer_list
711-
flat_map iosfwd
712-
flat_map iterator
713700
flat_map limits
714-
flat_map memory
715-
flat_map new
716-
flat_map optional
717-
flat_map ratio
718-
flat_map stdexcept
719-
flat_map tuple
720701
flat_map type_traits
721-
flat_map typeinfo
722-
flat_map utility
723-
flat_map variant
724702
flat_map version
725703
format algorithm
726704
format array

‎libcxx/test/libcxx/transitive_includes/cxx17.csv

-22
Original file line numberDiff line numberDiff line change
@@ -701,35 +701,13 @@ filesystem utility
701701
filesystem variant
702702
filesystem vector
703703
filesystem version
704-
flat_map atomic
705-
flat_map cctype
706-
flat_map climits
707704
flat_map cmath
708705
flat_map compare
709-
flat_map concepts
710706
flat_map cstddef
711707
flat_map cstdint
712-
flat_map cstdio
713-
flat_map cstdlib
714-
flat_map cstring
715-
flat_map ctime
716-
flat_map cwchar
717-
flat_map cwctype
718-
flat_map exception
719708
flat_map initializer_list
720-
flat_map iosfwd
721-
flat_map iterator
722709
flat_map limits
723-
flat_map memory
724-
flat_map new
725-
flat_map optional
726-
flat_map ratio
727-
flat_map stdexcept
728-
flat_map tuple
729710
flat_map type_traits
730-
flat_map typeinfo
731-
flat_map utility
732-
flat_map variant
733711
flat_map version
734712
format algorithm
735713
format array

‎libcxx/test/libcxx/transitive_includes/cxx20.csv

-22
Original file line numberDiff line numberDiff line change
@@ -697,35 +697,13 @@ filesystem utility
697697
filesystem variant
698698
filesystem vector
699699
filesystem version
700-
flat_map atomic
701-
flat_map cctype
702-
flat_map climits
703700
flat_map cmath
704701
flat_map compare
705-
flat_map concepts
706702
flat_map cstddef
707703
flat_map cstdint
708-
flat_map cstdio
709-
flat_map cstdlib
710-
flat_map cstring
711-
flat_map ctime
712-
flat_map cwchar
713-
flat_map cwctype
714-
flat_map exception
715704
flat_map initializer_list
716-
flat_map iosfwd
717-
flat_map iterator
718705
flat_map limits
719-
flat_map memory
720-
flat_map new
721-
flat_map optional
722-
flat_map ratio
723-
flat_map stdexcept
724-
flat_map tuple
725706
flat_map type_traits
726-
flat_map typeinfo
727-
flat_map utility
728-
flat_map variant
729707
flat_map version
730708
format algorithm
731709
format array

0 commit comments

Comments
 (0)