[libcxx-commits] [libcxx] [libc++] Remove transitive <locale> include from <vector> (PR #80282)
via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Feb 1 04:09:41 PST 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libcxx
Author: Nikolas Klauser (philnik777)
<details>
<summary>Changes</summary>
This reduces the time to include `<vector>` from 468ms to 367ms.
---
Full diff: https://github.com/llvm/llvm-project/pull/80282.diff
9 Files Affected:
- (modified) libcxx/include/__format/formatter_bool.h (+1-1)
- (modified) libcxx/include/__format/formatter_integral.h (+1-1)
- (modified) libcxx/include/vector (+1)
- (modified) libcxx/test/libcxx/transitive_includes/cxx11.csv (+6)
- (modified) libcxx/test/libcxx/transitive_includes/cxx14.csv (+6)
- (modified) libcxx/test/libcxx/transitive_includes/cxx17.csv (+6)
- (modified) libcxx/test/libcxx/transitive_includes/cxx20.csv (+6)
- (modified) libcxx/test/libcxx/transitive_includes/cxx23.csv (+10-1)
- (modified) libcxx/test/libcxx/transitive_includes/cxx26.csv (+10-1)
``````````diff
diff --git a/libcxx/include/__format/formatter_bool.h b/libcxx/include/__format/formatter_bool.h
index 1c479501b675f..5e3daff7b3dba 100644
--- a/libcxx/include/__format/formatter_bool.h
+++ b/libcxx/include/__format/formatter_bool.h
@@ -22,7 +22,7 @@
#include <__utility/unreachable.h>
#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_integral.h b/libcxx/include/__format/formatter_integral.h
index e0217a240027c..eca966f8886f8 100644
--- a/libcxx/include/__format/formatter_integral.h
+++ b/libcxx/include/__format/formatter_integral.h
@@ -32,7 +32,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/vector b/libcxx/include/vector
index e9dd57055cb11..6b0bdb960203c 100644
--- a/libcxx/include/vector
+++ b/libcxx/include/vector
@@ -2972,6 +2972,7 @@ _LIBCPP_POP_MACROS
# include <atomic>
# include <concepts>
# include <cstdlib>
+# include <locale>
# include <type_traits>
# include <typeinfo>
# include <utility>
diff --git a/libcxx/test/libcxx/transitive_includes/cxx11.csv b/libcxx/test/libcxx/transitive_includes/cxx11.csv
index 21f0138b1b4bb..5eb839a3aa7a6 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx11.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx11.csv
@@ -839,13 +839,17 @@ system_error type_traits
system_error version
thread array
thread atomic
+thread cctype
thread cerrno
thread chrono
+thread clocale
thread compare
thread cstddef
thread cstdint
+thread cstdlib
thread cstring
thread ctime
+thread cwchar
thread functional
thread iosfwd
thread limits
@@ -954,8 +958,10 @@ variant version
vector algorithm
vector array
vector atomic
+vector cctype
vector cerrno
vector climits
+vector clocale
vector compare
vector concepts
vector cstddef
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14.csv b/libcxx/test/libcxx/transitive_includes/cxx14.csv
index 71d1735d79487..7b372fb37dcd5 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx14.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx14.csv
@@ -841,13 +841,17 @@ system_error type_traits
system_error version
thread array
thread atomic
+thread cctype
thread cerrno
thread chrono
+thread clocale
thread compare
thread cstddef
thread cstdint
+thread cstdlib
thread cstring
thread ctime
+thread cwchar
thread functional
thread iosfwd
thread limits
@@ -956,8 +960,10 @@ variant version
vector algorithm
vector array
vector atomic
+vector cctype
vector cerrno
vector climits
+vector clocale
vector compare
vector concepts
vector cstddef
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17.csv b/libcxx/test/libcxx/transitive_includes/cxx17.csv
index 71d1735d79487..7b372fb37dcd5 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx17.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx17.csv
@@ -841,13 +841,17 @@ system_error type_traits
system_error version
thread array
thread atomic
+thread cctype
thread cerrno
thread chrono
+thread clocale
thread compare
thread cstddef
thread cstdint
+thread cstdlib
thread cstring
thread ctime
+thread cwchar
thread functional
thread iosfwd
thread limits
@@ -956,8 +960,10 @@ variant version
vector algorithm
vector array
vector atomic
+vector cctype
vector cerrno
vector climits
+vector clocale
vector compare
vector concepts
vector cstddef
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20.csv b/libcxx/test/libcxx/transitive_includes/cxx20.csv
index 4d4372275eb82..9b4915a468d1c 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx20.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx20.csv
@@ -846,12 +846,16 @@ system_error type_traits
system_error version
thread array
thread atomic
+thread cctype
thread cerrno
+thread clocale
thread compare
thread cstddef
thread cstdint
+thread cstdlib
thread cstring
thread ctime
+thread cwchar
thread functional
thread iosfwd
thread limits
@@ -960,8 +964,10 @@ variant version
vector algorithm
vector array
vector atomic
+vector cctype
vector cerrno
vector climits
+vector clocale
vector compare
vector concepts
vector cstddef
diff --git a/libcxx/test/libcxx/transitive_includes/cxx23.csv b/libcxx/test/libcxx/transitive_includes/cxx23.csv
index 94c67307cc2f1..7c7099d176f18 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx23.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx23.csv
@@ -585,11 +585,16 @@ system_error string
system_error version
thread array
thread atomic
+thread cctype
thread cerrno
+thread clocale
thread compare
thread cstddef
thread cstdint
+thread cstdlib
+thread cstring
thread ctime
+thread cwchar
thread initializer_list
thread iosfwd
thread limits
@@ -601,6 +606,7 @@ thread stdexcept
thread string
thread string_view
thread tuple
+thread typeinfo
thread version
tuple compare
tuple cstddef
@@ -658,20 +664,23 @@ variant new
variant tuple
variant version
vector array
+vector cctype
vector cerrno
vector climits
+vector clocale
vector compare
vector cstddef
vector cstdint
+vector cstdlib
vector cstring
vector cwchar
vector initializer_list
vector iosfwd
vector limits
-vector locale
vector new
vector stdexcept
vector string
vector string_view
vector tuple
+vector typeinfo
vector version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx26.csv b/libcxx/test/libcxx/transitive_includes/cxx26.csv
index 94c67307cc2f1..7c7099d176f18 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx26.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx26.csv
@@ -585,11 +585,16 @@ system_error string
system_error version
thread array
thread atomic
+thread cctype
thread cerrno
+thread clocale
thread compare
thread cstddef
thread cstdint
+thread cstdlib
+thread cstring
thread ctime
+thread cwchar
thread initializer_list
thread iosfwd
thread limits
@@ -601,6 +606,7 @@ thread stdexcept
thread string
thread string_view
thread tuple
+thread typeinfo
thread version
tuple compare
tuple cstddef
@@ -658,20 +664,23 @@ variant new
variant tuple
variant version
vector array
+vector cctype
vector cerrno
vector climits
+vector clocale
vector compare
vector cstddef
vector cstdint
+vector cstdlib
vector cstring
vector cwchar
vector initializer_list
vector iosfwd
vector limits
-vector locale
vector new
vector stdexcept
vector string
vector string_view
vector tuple
+vector typeinfo
vector version
``````````
</details>
https://github.com/llvm/llvm-project/pull/80282
More information about the libcxx-commits
mailing list