aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolas Klauser <nikolasklauser@berlin.de>2024-03-16 13:45:24 +0100
committerGitHub <noreply@github.com>2024-03-16 13:45:24 +0100
commit5bcb78141c628d9bd7a0b6e398858282c16038d3 (patch)
tree825bfb9a639bce04a1e05a5e014378096dc40519
parent12978b3e23a2766732595391c193e5631f40a3db (diff)
downloadllvm-5bcb78141c628d9bd7a0b6e398858282c16038d3.zip
llvm-5bcb78141c628d9bd7a0b6e398858282c16038d3.tar.gz
llvm-5bcb78141c628d9bd7a0b6e398858282c16038d3.tar.bz2
[libc++] Remove <locale> includes from <format> (#85478)
This reduces the include time from 767ms to 691ms.
-rw-r--r--libcxx/include/__format/format_context.h2
-rw-r--r--libcxx/include/__format/format_functions.h2
-rw-r--r--libcxx/include/__format/formatter_floating_point.h2
-rw-r--r--libcxx/include/format4
-rw-r--r--libcxx/test/libcxx/transitive_includes/cxx03.csv5
-rw-r--r--libcxx/test/libcxx/transitive_includes/cxx11.csv5
-rw-r--r--libcxx/test/libcxx/transitive_includes/cxx14.csv5
-rw-r--r--libcxx/test/libcxx/transitive_includes/cxx17.csv5
-rw-r--r--libcxx/test/libcxx/transitive_includes/cxx20.csv11
-rw-r--r--libcxx/test/libcxx/transitive_includes/cxx23.csv16
-rw-r--r--libcxx/test/libcxx/transitive_includes/cxx26.csv16
11 files changed, 65 insertions, 8 deletions
diff --git a/libcxx/include/__format/format_context.h b/libcxx/include/__format/format_context.h
index d131e94..bf603c5 100644
--- a/libcxx/include/__format/format_context.h
+++ b/libcxx/include/__format/format_context.h
@@ -27,7 +27,7 @@
#include <cstddef>
#ifndef _LIBCPP_HAS_NO_LOCALIZATION
-# include <locale>
+# include <__locale>
# include <optional>
#endif
diff --git a/libcxx/include/__format/format_functions.h b/libcxx/include/__format/format_functions.h
index 3ee5353..c781014 100644
--- a/libcxx/include/__format/format_functions.h
+++ b/libcxx/include/__format/format_functions.h
@@ -41,7 +41,7 @@
#include <string_view>
#ifndef _LIBCPP_HAS_NO_LOCALIZATION
-# include <locale>
+# include <__locale>
#endif
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__format/formatter_floating_point.h b/libcxx/include/__format/formatter_floating_point.h
index f01d323..1d94cc3 100644
--- a/libcxx/include/__format/formatter_floating_point.h
+++ b/libcxx/include/__format/formatter_floating_point.h
@@ -39,7 +39,7 @@
#include <cstddef>
#ifndef _LIBCPP_HAS_NO_LOCALIZATION
-# include <locale>
+# include <__locale>
#endif
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/format b/libcxx/include/format
index c0485c5..1466134 100644
--- a/libcxx/include/format
+++ b/libcxx/include/format
@@ -221,4 +221,8 @@ namespace std {
# pragma GCC system_header
#endif
+#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <locale>
+#endif
+
#endif // _LIBCPP_FORMAT
diff --git a/libcxx/test/libcxx/transitive_includes/cxx03.csv b/libcxx/test/libcxx/transitive_includes/cxx03.csv
index 678a986..c65b9b9 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx03.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx03.csv
@@ -266,9 +266,14 @@ filesystem system_error
filesystem type_traits
filesystem version
format array
+format cctype
+format clocale
format cmath
format cstddef
format cstdint
+format cstdlib
+format cstring
+format cwchar
format initializer_list
format limits
format locale
diff --git a/libcxx/test/libcxx/transitive_includes/cxx11.csv b/libcxx/test/libcxx/transitive_includes/cxx11.csv
index c3875fa2..b3d9e32 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx11.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx11.csv
@@ -267,9 +267,14 @@ filesystem system_error
filesystem type_traits
filesystem version
format array
+format cctype
+format clocale
format cmath
format cstddef
format cstdint
+format cstdlib
+format cstring
+format cwchar
format initializer_list
format limits
format locale
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14.csv b/libcxx/test/libcxx/transitive_includes/cxx14.csv
index e28e0cd..d723409 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx14.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx14.csv
@@ -269,9 +269,14 @@ filesystem system_error
filesystem type_traits
filesystem version
format array
+format cctype
+format clocale
format cmath
format cstddef
format cstdint
+format cstdlib
+format cstring
+format cwchar
format initializer_list
format limits
format locale
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17.csv b/libcxx/test/libcxx/transitive_includes/cxx17.csv
index e28e0cd..d723409 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx17.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx17.csv
@@ -269,9 +269,14 @@ filesystem system_error
filesystem type_traits
filesystem version
format array
+format cctype
+format clocale
format cmath
format cstddef
format cstdint
+format cstdlib
+format cstring
+format cwchar
format initializer_list
format limits
format locale
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20.csv b/libcxx/test/libcxx/transitive_includes/cxx20.csv
index eec71f4..b355e7b 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx20.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx20.csv
@@ -113,17 +113,21 @@ charconv type_traits
charconv version
chrono array
chrono bit
+chrono cctype
+chrono cerrno
chrono charconv
+chrono clocale
chrono cmath
chrono compare
chrono concepts
chrono cstddef
chrono cstdint
+chrono cstdlib
chrono cstring
chrono ctime
+chrono cwchar
chrono forward_list
chrono limits
-chrono locale
chrono optional
chrono ostream
chrono ratio
@@ -275,9 +279,14 @@ filesystem system_error
filesystem type_traits
filesystem version
format array
+format cctype
+format clocale
format cmath
format cstddef
format cstdint
+format cstdlib
+format cstring
+format cwchar
format initializer_list
format limits
format locale
diff --git a/libcxx/test/libcxx/transitive_includes/cxx23.csv b/libcxx/test/libcxx/transitive_includes/cxx23.csv
index ccba100..8150f09 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx23.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx23.csv
@@ -68,15 +68,20 @@ charconv limits
charconv new
charconv version
chrono array
+chrono cctype
+chrono cerrno
+chrono clocale
chrono cmath
chrono compare
chrono cstddef
chrono cstdint
+chrono cstdlib
+chrono cstring
chrono ctime
+chrono cwchar
chrono forward_list
chrono initializer_list
chrono limits
-chrono locale
chrono new
chrono optional
chrono ostream
@@ -85,6 +90,8 @@ chrono sstream
chrono stdexcept
chrono string
chrono string_view
+chrono tuple
+chrono typeinfo
chrono vector
chrono version
cinttypes cstdint
@@ -184,12 +191,16 @@ filesystem string
filesystem string_view
filesystem version
format array
+format cctype
+format clocale
format cmath
format cstddef
format cstdint
+format cstdlib
+format cstring
+format cwchar
format initializer_list
format limits
-format locale
format new
format optional
format queue
@@ -198,6 +209,7 @@ format stdexcept
format string
format string_view
format tuple
+format typeinfo
format version
forward_list compare
forward_list cstddef
diff --git a/libcxx/test/libcxx/transitive_includes/cxx26.csv b/libcxx/test/libcxx/transitive_includes/cxx26.csv
index ccba100..8150f09 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx26.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx26.csv
@@ -68,15 +68,20 @@ charconv limits
charconv new
charconv version
chrono array
+chrono cctype
+chrono cerrno
+chrono clocale
chrono cmath
chrono compare
chrono cstddef
chrono cstdint
+chrono cstdlib
+chrono cstring
chrono ctime
+chrono cwchar
chrono forward_list
chrono initializer_list
chrono limits
-chrono locale
chrono new
chrono optional
chrono ostream
@@ -85,6 +90,8 @@ chrono sstream
chrono stdexcept
chrono string
chrono string_view
+chrono tuple
+chrono typeinfo
chrono vector
chrono version
cinttypes cstdint
@@ -184,12 +191,16 @@ filesystem string
filesystem string_view
filesystem version
format array
+format cctype
+format clocale
format cmath
format cstddef
format cstdint
+format cstdlib
+format cstring
+format cwchar
format initializer_list
format limits
-format locale
format new
format optional
format queue
@@ -198,6 +209,7 @@ format stdexcept
format string
format string_view
format tuple
+format typeinfo
format version
forward_list compare
forward_list cstddef