[libcxx-commits] [libcxx] ffb3589 - [libc++] Remove transitive <locale> include from <vector> (#80282)

via libcxx-commits libcxx-commits at lists.llvm.org
Fri Feb 2 02:33:12 PST 2024


Author: Nikolas Klauser
Date: 2024-02-02T11:33:08+01:00
New Revision: ffb3589b8cb3468713d25ff2a4378918eafa7044

URL: https://github.com/llvm/llvm-project/commit/ffb3589b8cb3468713d25ff2a4378918eafa7044
DIFF: https://github.com/llvm/llvm-project/commit/ffb3589b8cb3468713d25ff2a4378918eafa7044.diff

LOG: [libc++] Remove transitive <locale> include from <vector> (#80282)

This reduces the time to include `<vector>` from 468ms to 367ms.

Added: 
    

Modified: 
    libcxx/include/__format/formatter_bool.h
    libcxx/include/__format/formatter_integral.h
    libcxx/include/vector
    libcxx/test/libcxx/transitive_includes/cxx03.csv
    libcxx/test/libcxx/transitive_includes/cxx11.csv
    libcxx/test/libcxx/transitive_includes/cxx14.csv
    libcxx/test/libcxx/transitive_includes/cxx17.csv
    libcxx/test/libcxx/transitive_includes/cxx20.csv
    libcxx/test/libcxx/transitive_includes/cxx23.csv
    libcxx/test/libcxx/transitive_includes/cxx26.csv

Removed: 
    


################################################################################
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 f24d2c4b9c6ac..5e2027ea21a39 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/cxx03.csv b/libcxx/test/libcxx/transitive_includes/cxx03.csv
index 7737551fa08b1..d4c22023db7a0 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx03.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx03.csv
@@ -948,8 +948,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/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


        


More information about the libcxx-commits mailing list