Skip to content

Revert "[libc++][format] P3953R3: Rename std::runtime_format (#189657)"#191912

Merged
thurstond merged 1 commit into
llvm:mainfrom
thurstond:libcxx_format
Apr 14, 2026
Merged

Revert "[libc++][format] P3953R3: Rename std::runtime_format (#189657)"#191912
thurstond merged 1 commit into
llvm:mainfrom
thurstond:libcxx_format

Conversation

@thurstond

Copy link
Copy Markdown
Contributor

This reverts commit 67c893e due to buildbot breakage
(#189657 (comment), #189657 (comment)).

@thurstond thurstond requested a review from a team as a code owner April 13, 2026 23:33
@llvmbot llvmbot added the libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. label Apr 13, 2026
@thurstond

Copy link
Copy Markdown
Contributor Author

cc @H-G-Hristov

@llvmbot

llvmbot commented Apr 13, 2026

Copy link
Copy Markdown
Member

@llvm/pr-subscribers-libcxx

Author: Thurston Dang (thurstond)

Changes

This reverts commit 67c893e due to buildbot breakage
(#189657 (comment), #189657 (comment)).


Full diff: https://github.com/llvm/llvm-project/pull/191912.diff

10 Files Affected:

  • (modified) libcxx/docs/ReleaseNotes/23.rst (-1)
  • (modified) libcxx/docs/Status/Cxx2cPapers.csv (+1-1)
  • (modified) libcxx/include/__format/format_functions.h (+7-7)
  • (modified) libcxx/include/format (+7-7)
  • (modified) libcxx/modules/std/format.inc (+1-1)
  • (renamed) libcxx/test/std/utilities/format/format.fmt.string/ctor.runtime-format-string.pass.cpp (+7-7)
  • (renamed) libcxx/test/std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp (+8-8)
  • (renamed) libcxx/test/std/utilities/format/format.functions/format.runtime_format.pass.cpp (+8-8)
  • (renamed) libcxx/test/std/utilities/format/format.syn/runtime_format_string.pass.cpp (+14-14)
  • (modified) libcxx/utils/generate_feature_test_macro_components.py (-1)
diff --git a/libcxx/docs/ReleaseNotes/23.rst b/libcxx/docs/ReleaseNotes/23.rst
index c21b378f7db4b..45ea57af41825 100644
--- a/libcxx/docs/ReleaseNotes/23.rst
+++ b/libcxx/docs/ReleaseNotes/23.rst
@@ -40,7 +40,6 @@ Implemented Papers
 
 - P2440R1: ``ranges::iota``, ``ranges::shift_left`` and ``ranges::shift_right`` (`Github <https://llvm.org/PR105184>`__)
 - P3936R1: Safer ``atomic_ref::address`` (`Github <https://llvm.org/PR189594>`__)
-- P3953R3: Rename ``std::runtime_format`` (`Github <https://llvm.org/PR189624>`__)
 - P4052R0: Renaming saturation arithmetic functions (`Github <https://llvm.org/PR189589>`__)
 
 Improvements and New Features
diff --git a/libcxx/docs/Status/Cxx2cPapers.csv b/libcxx/docs/Status/Cxx2cPapers.csv
index 7adf5a2122e62..311378025eb2e 100644
--- a/libcxx/docs/Status/Cxx2cPapers.csv
+++ b/libcxx/docs/Status/Cxx2cPapers.csv
@@ -207,7 +207,7 @@
 "`P3826R5 <https://wg21.link/P3826R5>`__","Fix Sender Algorithm Customization","2026-03 (Croydon)","","","`#189620 <https://github.com/llvm/llvm-project/issues/189620>`__",""
 "`P3980R1 <https://wg21.link/P3980R1>`__","Task's Allocator Use","2026-03 (Croydon)","","","`#189621 <https://github.com/llvm/llvm-project/issues/189621>`__",""
 "`P4156R0 <https://wg21.link/P4156R0>`__","Rename meta::has_ellipsis_parameter to meta::is_vararg_function","2026-03 (Croydon)","","","`#189622 <https://github.com/llvm/llvm-project/issues/189622>`__",""
-"`P3953R3 <https://wg21.link/P3953R3>`__","Rename ``std::runtime_format``","2026-03 (Croydon)","|Complete|","23","`#189624 <https://github.com/llvm/llvm-project/issues/189624>`__",""
+"`P3953R3 <https://wg21.link/P3953R3>`__","Rename ``std::runtime_format``","2026-03 (Croydon)","","","`#189624 <https://github.com/llvm/llvm-project/issues/189624>`__",""
 "`P4052R0 <https://wg21.link/P4052R0>`__","Renaming saturation arithmetic functions","2026-03 (Croydon)","|Complete|","23","`#189589 <https://github.com/llvm/llvm-project/issues/189589>`__",""
 "`P3941R4 <https://wg21.link/P3941R4>`__","Scheduler Affinity","2026-03 (Croydon)","","","`#189627 <https://github.com/llvm/llvm-project/issues/189627>`__",""
 "`P3856R8 <https://wg21.link/P3856R8>`__","New reflection metafunction - is_structural_type (US NB comment 49)","2026-03 (Croydon)","","","`#189625 <https://github.com/llvm/llvm-project/issues/189625>`__",""
diff --git a/libcxx/include/__format/format_functions.h b/libcxx/include/__format/format_functions.h
index 7cf259d0e1db7..7b0fcc0ea585a 100644
--- a/libcxx/include/__format/format_functions.h
+++ b/libcxx/include/__format/format_functions.h
@@ -342,7 +342,7 @@ _LIBCPP_HIDE_FROM_ABI constexpr typename _Ctx::iterator __vformat_to(_ParseCtx&&
 
 #  if _LIBCPP_STD_VER >= 26
 template <class _CharT>
-struct __dynamic_format_string {
+struct __runtime_format_string {
 private:
   basic_string_view<_CharT> __str_;
 
@@ -350,15 +350,15 @@ struct __dynamic_format_string {
   friend struct basic_format_string;
 
 public:
-  _LIBCPP_HIDE_FROM_ABI __dynamic_format_string(basic_string_view<_CharT> __s) noexcept : __str_(__s) {}
+  _LIBCPP_HIDE_FROM_ABI __runtime_format_string(basic_string_view<_CharT> __s) noexcept : __str_(__s) {}
 
-  __dynamic_format_string(const __dynamic_format_string&)            = delete;
-  __dynamic_format_string& operator=(const __dynamic_format_string&) = delete;
+  __runtime_format_string(const __runtime_format_string&)            = delete;
+  __runtime_format_string& operator=(const __runtime_format_string&) = delete;
 };
 
-_LIBCPP_HIDE_FROM_ABI inline __dynamic_format_string<char> dynamic_format(string_view __fmt) noexcept { return __fmt; }
+_LIBCPP_HIDE_FROM_ABI inline __runtime_format_string<char> runtime_format(string_view __fmt) noexcept { return __fmt; }
 #    if _LIBCPP_HAS_WIDE_CHARACTERS
-_LIBCPP_HIDE_FROM_ABI inline __dynamic_format_string<wchar_t> dynamic_format(wstring_view __fmt) noexcept {
+_LIBCPP_HIDE_FROM_ABI inline __runtime_format_string<wchar_t> runtime_format(wstring_view __fmt) noexcept {
   return __fmt;
 }
 #    endif
@@ -375,7 +375,7 @@ struct basic_format_string {
 
   _LIBCPP_HIDE_FROM_ABI constexpr basic_string_view<_CharT> get() const noexcept { return __str_; }
 #  if _LIBCPP_STD_VER >= 26
-  _LIBCPP_HIDE_FROM_ABI basic_format_string(__dynamic_format_string<_CharT> __s) noexcept : __str_(__s.__str_) {}
+  _LIBCPP_HIDE_FROM_ABI basic_format_string(__runtime_format_string<_CharT> __s) noexcept : __str_(__s.__str_) {}
 #  endif
 
 private:
diff --git a/libcxx/include/format b/libcxx/include/format
index 7ff619fa84208..2246f062040ae 100644
--- a/libcxx/include/format
+++ b/libcxx/include/format
@@ -31,7 +31,7 @@ namespace std {
 
     public:
       template<class T> consteval basic_format_string(const T& s);
-      basic_format_string(dynamic-format-string<charT> s) noexcept : str(s.str) {}   // since C++26
+      basic_format_string(runtime-format-string<charT> s) noexcept : str(s.str) {}   // since C++26
 
       constexpr basic_string_view<charT> get() const noexcept { return str; }
     };
@@ -42,21 +42,21 @@ namespace std {
     using wformat_string =                                      // since C++23, exposition only before C++23
       basic_format_string<wchar_t, type_identity_t<Args>...>;
 
-  template<class charT> struct dynamic-format-string {          // since C++26, exposition-only
+  template<class charT> struct runtime-format-string {          // since C++26, exposition-only
   private:
     basic_string_view<charT> str;                               // exposition-only
 
   public:
-    dynamic-format-string(basic_string_view<charT> s) noexcept : str(s) {}
+    runtime-format-string(basic_string_view<charT> s) noexcept : str(s) {}
 
-    dynamic-format-string(const dynamic-format-string&) = delete;
-    dynamic-format-string& operator=(const dynamic-format-string&) = delete;
+    runtime-format-string(const runtime-format-string&) = delete;
+    runtime-format-string& operator=(const runtime-format-string&) = delete;
   };
 
-  dynamic-format-string<char> dynamic_format(string_view fmt) noexcept {
+  runtime-format-string<char> runtime_format(string_view fmt) noexcept {
     return fmt;
   }
-  dynamic-format-string<wchar_t> dynamic_format(wstring_view fmt) noexcept {
+  runtime-format-string<wchar_t> runtime_format(wstring_view fmt) noexcept {
     return fmt;
   }
 
diff --git a/libcxx/modules/std/format.inc b/libcxx/modules/std/format.inc
index baa43bc8304dc..fb0f971aeb0e9 100644
--- a/libcxx/modules/std/format.inc
+++ b/libcxx/modules/std/format.inc
@@ -29,7 +29,7 @@ export namespace std {
   using std::wformat_string;
 #endif
 #if _LIBCPP_STD_VER >= 26
-  using std::dynamic_format;
+  using std::runtime_format;
 #endif // _LIBCPP_STD_VER >= 26
 
   // [format.functions], formatting functions
diff --git a/libcxx/test/std/utilities/format/format.fmt.string/ctor.dynamic-format-string.pass.cpp b/libcxx/test/std/utilities/format/format.fmt.string/ctor.runtime-format-string.pass.cpp
similarity index 70%
rename from libcxx/test/std/utilities/format/format.fmt.string/ctor.dynamic-format-string.pass.cpp
rename to libcxx/test/std/utilities/format/format.fmt.string/ctor.runtime-format-string.pass.cpp
index f839e8fb5d946..fff15a1da4017 100644
--- a/libcxx/test/std/utilities/format/format.fmt.string/ctor.dynamic-format-string.pass.cpp
+++ b/libcxx/test/std/utilities/format/format.fmt.string/ctor.runtime-format-string.pass.cpp
@@ -13,11 +13,11 @@
 // template<class charT, class... Args>
 // class basic_format_string<charT, type_identity_t<Args>...>
 //
-// basic_format_string(dynamic-format-string<charT> s) noexcept : str(s.str) {}
+// basic_format_string(runtime-format-string<charT> s) noexcept : str(s.str) {}
 //
 // Additional testing is done in
-// - libcxx/test/std/utilities/format/format.functions/format.dynamic_format.pass.cpp
-// - libcxx/test/std/utilities/format/format.functions/format.locale.dynamic_format.pass.cpp
+// - libcxx/test/std/utilities/format/format.functions/format.runtime_format.pass.cpp
+// - libcxx/test/std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp
 
 #include <format>
 #include <cassert>
@@ -25,16 +25,16 @@
 #include "test_macros.h"
 
 int main(int, char**) {
-  static_assert(noexcept(std::format_string<>{std::dynamic_format(std::string_view{})}));
+  static_assert(noexcept(std::format_string<>{std::runtime_format(std::string_view{})}));
   {
-    std::format_string<> s = std::dynamic_format("}{invalid format string}{");
+    std::format_string<> s = std::runtime_format("}{invalid format string}{");
     assert(s.get() == "}{invalid format string}{");
   }
 
 #ifndef TEST_HAS_NO_WIDE_CHARACTERS
-  static_assert(noexcept(std::wformat_string<>{std::dynamic_format(std::wstring_view{})}));
+  static_assert(noexcept(std::wformat_string<>{std::runtime_format(std::wstring_view{})}));
   {
-    std::wformat_string<> s = std::dynamic_format(L"}{invalid format string}{");
+    std::wformat_string<> s = std::runtime_format(L"}{invalid format string}{");
     assert(s.get() == L"}{invalid format string}{");
   }
 #endif // TEST_HAS_NO_WIDE_CHARACTERS
diff --git a/libcxx/test/std/utilities/format/format.functions/format.locale.dynamic_format.pass.cpp b/libcxx/test/std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp
similarity index 83%
rename from libcxx/test/std/utilities/format/format.functions/format.locale.dynamic_format.pass.cpp
rename to libcxx/test/std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp
index 780c9d0f3832b..a262d64f4579b 100644
--- a/libcxx/test/std/utilities/format/format.functions/format.locale.dynamic_format.pass.cpp
+++ b/libcxx/test/std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp
@@ -16,15 +16,15 @@
 
 // Tests the behavior of
 //
-// dynamic-format-string<char> dynamic_format(string_view fmt) noexcept;
-// dynamic-format-string<wchar_t> dynamic_format(wstring_view fmt) noexcept;
+// runtime-format-string<char> runtime_format(string_view fmt) noexcept;
+// runtime-format-string<wchar_t> runtime_format(wstring_view fmt) noexcept;
 //
 // and
 //
 // template<class charT, class... Args>
 //   struct basic_format_string {
 //   ...
-//   basic_format_string(dynamic-format-string<charT> s) noexcept : str(s.str) {}
+//   basic_format_string(runtime-format-string<charT> s) noexcept : str(s.str) {}
 //   ...
 // }
 //
@@ -35,9 +35,9 @@
 // template<class... Args>
 //   wstring format(const locale& loc, wformat_string<Args...> fmt, Args&&... args);
 //
-// The basics of dynamic_format and basic_format_string's constructor are tested in
-// - libcxx/test/std/utilities/format/format.syn/dynamic_format_string.pass.cpp
-// - libcxx/test/std/utilities/format/format.fmt.string/ctor.dynamic-format-string.pass.cpp
+// The basics of runtime_format and basic_format_string's constructor are tested in
+// - libcxx/test/std/utilities/format/format.syn/runtime_format_string.pass.cpp
+// - libcxx/test/std/utilities/format/format.fmt.string/ctor.runtime-format-string.pass.cpp
 
 #include <format>
 #include <cassert>
@@ -52,7 +52,7 @@
 
 auto test = []<class CharT, class... Args>(
                 std::basic_string_view<CharT> expected, std::basic_string_view<CharT> fmt, Args&&... args) constexpr {
-  std::basic_string<CharT> out = std::format(std::locale(), std::dynamic_format(fmt), std::forward<Args>(args)...);
+  std::basic_string<CharT> out = std::format(std::locale(), std::runtime_format(fmt), std::forward<Args>(args)...);
   TEST_REQUIRE(out == expected,
                TEST_WRITE_CONCATENATED(
                    "\nFormat string   ", fmt, "\nExpected output ", expected, "\nActual output   ", out, '\n'));
@@ -71,7 +71,7 @@ auto test_exception =
                 TEST_WRITE_CONCATENATED(
                     "\nFormat string   ", fmt, "\nExpected exception ", what, "\nActual exception   ", e.what(), '\n'));
           },
-          TEST_IGNORE_NODISCARD std::format(std::locale(), std::dynamic_format(fmt), std::forward<Args>(args)...));
+          TEST_IGNORE_NODISCARD std::format(std::locale(), std::runtime_format(fmt), std::forward<Args>(args)...));
     };
 
 int main(int, char**) {
diff --git a/libcxx/test/std/utilities/format/format.functions/format.dynamic_format.pass.cpp b/libcxx/test/std/utilities/format/format.functions/format.runtime_format.pass.cpp
similarity index 81%
rename from libcxx/test/std/utilities/format/format.functions/format.dynamic_format.pass.cpp
rename to libcxx/test/std/utilities/format/format.functions/format.runtime_format.pass.cpp
index 8193eb2a71750..4bec9094382de 100644
--- a/libcxx/test/std/utilities/format/format.functions/format.dynamic_format.pass.cpp
+++ b/libcxx/test/std/utilities/format/format.functions/format.runtime_format.pass.cpp
@@ -15,15 +15,15 @@
 
 // Tests the behavior of
 //
-// dynamic-format-string<char> dynamic_format(string_view fmt) noexcept;
-// dynamic-format-string<wchar_t> dynamic_format(wstring_view fmt) noexcept;
+// runtime-format-string<char> runtime_format(string_view fmt) noexcept;
+// runtime-format-string<wchar_t> runtime_format(wstring_view fmt) noexcept;
 //
 // and
 //
 // template<class charT, class... Args>
 //   struct basic_format_string {
 //   ...
-//   basic_format_string(dynamic-format-string<charT> s) noexcept : str(s.str) {}
+//   basic_format_string(runtime-format-string<charT> s) noexcept : str(s.str) {}
 //   ...
 // }
 //
@@ -34,9 +34,9 @@
 // template<class... Args>
 //   wstring format(wformat_string<Args...> fmt, Args&&... args);
 //
-// The basics of dynamic_format and basic_format_string's constructor are tested in
-// - libcxx/test/std/utilities/format/format.syn/dynamic_format_string.pass.cpp
-// - libcxx/test/std/utilities/format/format.fmt.string/ctor.dynamic-format-string.pass.cpp
+// The basics of runtime_format and basic_format_string's constructor are tested in
+// - libcxx/test/std/utilities/format/format.syn/runtime_format_string.pass.cpp
+// - libcxx/test/std/utilities/format/format.fmt.string/ctor.runtime-format-string.pass.cpp
 
 #include <format>
 #include <cassert>
@@ -50,7 +50,7 @@
 
 auto test = []<class CharT, class... Args>(
                 std::basic_string_view<CharT> expected, std::basic_string_view<CharT> fmt, Args&&... args) constexpr {
-  std::basic_string<CharT> out = std::format(std::dynamic_format(fmt), std::forward<Args>(args)...);
+  std::basic_string<CharT> out = std::format(std::runtime_format(fmt), std::forward<Args>(args)...);
   TEST_REQUIRE(out == expected,
                TEST_WRITE_CONCATENATED(
                    "\nFormat string   ", fmt, "\nExpected output ", expected, "\nActual output   ", out, '\n'));
@@ -69,7 +69,7 @@ auto test_exception =
                 TEST_WRITE_CONCATENATED(
                     "\nFormat string   ", fmt, "\nExpected exception ", what, "\nActual exception   ", e.what(), '\n'));
           },
-          TEST_IGNORE_NODISCARD std::format(std::dynamic_format(fmt), std::forward<Args>(args)...));
+          TEST_IGNORE_NODISCARD std::format(std::runtime_format(fmt), std::forward<Args>(args)...));
     };
 
 int main(int, char**) {
diff --git a/libcxx/test/std/utilities/format/format.syn/dynamic_format_string.pass.cpp b/libcxx/test/std/utilities/format/format.syn/runtime_format_string.pass.cpp
similarity index 64%
rename from libcxx/test/std/utilities/format/format.syn/dynamic_format_string.pass.cpp
rename to libcxx/test/std/utilities/format/format.syn/runtime_format_string.pass.cpp
index 634a28a082581..c2a221c233ba4 100644
--- a/libcxx/test/std/utilities/format/format.syn/dynamic_format_string.pass.cpp
+++ b/libcxx/test/std/utilities/format/format.syn/runtime_format_string.pass.cpp
@@ -10,23 +10,23 @@
 
 // <format>
 
-// template<class charT> struct dynamic-format-string {  // exposition-only
+// template<class charT> struct runtime-format-string {  // exposition-only
 // private:
 //   basic_string_view<charT> str;  // exposition-only
 //
 // public:
-//   dynamic-format-string(basic_string_view<charT> s) noexcept : str(s) {}
+//   runtime-format-string(basic_string_view<charT> s) noexcept : str(s) {}
 //
-//   dynamic-format-string(const dynamic-format-string&) = delete;
-//   dynamic-format-string& operator=(const dynamic-format-string&) = delete;
+//   runtime-format-string(const runtime-format-string&) = delete;
+//   runtime-format-string& operator=(const runtime-format-string&) = delete;
 // };
 //
-// dynamic-format-string<char> dynamic_format(string_view fmt) noexcept;
-// dynamic-format-string<wchar_t> dynamic_format(wstring_view fmt) noexcept;
+// runtime-format-string<char> runtime_format(string_view fmt) noexcept;
+// runtime-format-string<wchar_t> runtime_format(wstring_view fmt) noexcept;
 //
 // Additional testing is done in
-// - libcxx/test/std/utilities/format/format.functions/format.dynamic_format.pass.cpp
-// - libcxx/test/std/utilities/format/format.functions/format.locale.dynamic_format.pass.cpp
+// - libcxx/test/std/utilities/format/format.functions/format.runtime_format.pass.cpp
+// - libcxx/test/std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp
 
 #include <format>
 
@@ -50,19 +50,19 @@ static void test_properties() {
 }
 
 int main(int, char**) {
-  static_assert(noexcept(std::dynamic_format(std::string_view{})));
-  auto format_string = std::dynamic_format(std::string_view{});
+  static_assert(noexcept(std::runtime_format(std::string_view{})));
+  auto format_string = std::runtime_format(std::string_view{});
 
   using FormatString = decltype(format_string);
-  LIBCPP_ASSERT((std::same_as<FormatString, std::__dynamic_format_string<char>>));
+  LIBCPP_ASSERT((std::same_as<FormatString, std::__runtime_format_string<char>>));
   test_properties<FormatString, char>();
 
 #ifndef TEST_HAS_NO_WIDE_CHARACTERS
-  static_assert(noexcept(std::dynamic_format(std::wstring_view{})));
-  auto wformat_string = std::dynamic_format(std::wstring_view{});
+  static_assert(noexcept(std::runtime_format(std::wstring_view{})));
+  auto wformat_string = std::runtime_format(std::wstring_view{});
 
   using WFormatString = decltype(wformat_string);
-  LIBCPP_ASSERT((std::same_as<WFormatString, std::__dynamic_format_string<wchar_t>>));
+  LIBCPP_ASSERT((std::same_as<WFormatString, std::__runtime_format_string<wchar_t>>));
   test_properties<WFormatString, wchar_t>();
 #endif // TEST_HAS_NO_WIDE_CHARACTERS
 
diff --git a/libcxx/utils/generate_feature_test_macro_components.py b/libcxx/utils/generate_feature_test_macro_components.py
index 56a1d0c39c9fb..9c81ef4295737 100644
--- a/libcxx/utils/generate_feature_test_macro_components.py
+++ b/libcxx/utils/generate_feature_test_macro_components.py
@@ -572,7 +572,6 @@ def add_version_header(tc):
                 # "c++23": 202207, Not implemented P2419R2 Clarify handling of encodings in localized formatting of chrono types
                 # "c++26": 202306, P2637R3 Member Visit (implemented)
                 # "c++26": 202311, P2918R2 Runtime format strings II (implemented)
-                # "c++26": 202603, P3953R3 Rename std::runtime_format (implemented)
             },
             # Note these three papers are adopted at the June 2023 meeting and have sequential numbering
             # 202304 P2510R3 Formatting pointers (Implemented)

@frederick-vs-ja

Copy link
Copy Markdown
Contributor

The error message says:

******************** TEST 'llvm-libc++-shared.cfg.in :: std/utilities/format/format.functions/format.locale.dynamic_format.pass.cpp' FAILED ********************
Exit Code: 250

Command Output (stdout):
--
# COMPILED WITH
/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build0/bin/clang++ /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/libcxx/test/std/utilities/format/format.functions/format.locale.dynamic_format.pass.cpp -pthread --target=aarch64-unknown-linux-gnu -g -fno-omit-frame-pointer -fsanitize=address -nostdinc++ -I /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test-suite-install/include/c++/v1 -I /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test-suite-install/include/c++/v1 -I /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wshift-negative-value -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -Wno-nullability-completeness -flax-vector-conversions=none -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -Wuser-defined-warnings  -lc++experimental -nostdlib++ -L /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test-suite-install/lib -Wl,-rpath,/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test-suite-install/lib -lc++ -latomic -o /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test/std/utilities/format/format.functions/Output/format.locale.dynamic_format.pass.cpp.dir/t.tmp.exe
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build0/bin/clang++ /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/libcxx/test/std/utilities/format/format.functions/format.locale.dynamic_format.pass.cpp -pthread --target=aarch64-unknown-linux-gnu -g -fno-omit-frame-pointer -fsanitize=address -nostdinc++ -I /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test-suite-install/include/c++/v1 -I /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test-suite-install/include/c++/v1 -I /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wshift-negative-value -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -Wno-nullability-completeness -flax-vector-conversions=none -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -Wuser-defined-warnings -lc++experimental -nostdlib++ -L /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test-suite-install/lib -Wl,-rpath,/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test-suite-install/lib -lc++ -latomic -o /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test/std/utilities/format/format.functions/Output/format.locale.dynamic_format.pass.cpp.dir/t.tmp.exe
# note: command had no output on stdout or stderr
# EXECUTED AS
/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_venv/bin/python /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/libcxx/utils/run.py --execdir /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test/std/utilities/format/format.functions/Output/format.locale.dynamic_format.pass.cpp.dir --  /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test/std/utilities/format/format.functions/Output/format.locale.dynamic_format.pass.cpp.dir/t.tmp.exe
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_venv/bin/python /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/libcxx/utils/run.py --execdir /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test/std/utilities/format/format.functions/Output/format.locale.dynamic_format.pass.cpp.dir -- /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test/std/utilities/format/format.functions/Output/format.locale.dynamic_format.pass.cpp.dir/t.tmp.exe
# .---command stderr------------
# | libc++abi: terminating due to uncaught exception of type std::__1::format_error: The argument index value is too large for the number of arguments supplied
# `-----------------------------
# error: command failed with exit status: 250

This is unlikely related to renaming. Have you confirmed that reverting the changes fixes this error?

@thurstond

Copy link
Copy Markdown
Contributor Author

The error message says:

******************** TEST 'llvm-libc++-shared.cfg.in :: std/utilities/format/format.functions/format.locale.dynamic_format.pass.cpp' FAILED ********************
Exit Code: 250

Command Output (stdout):
--
# COMPILED WITH
/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build0/bin/clang++ /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/libcxx/test/std/utilities/format/format.functions/format.locale.dynamic_format.pass.cpp -pthread --target=aarch64-unknown-linux-gnu -g -fno-omit-frame-pointer -fsanitize=address -nostdinc++ -I /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test-suite-install/include/c++/v1 -I /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test-suite-install/include/c++/v1 -I /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wshift-negative-value -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -Wno-nullability-completeness -flax-vector-conversions=none -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -Wuser-defined-warnings  -lc++experimental -nostdlib++ -L /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test-suite-install/lib -Wl,-rpath,/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test-suite-install/lib -lc++ -latomic -o /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test/std/utilities/format/format.functions/Output/format.locale.dynamic_format.pass.cpp.dir/t.tmp.exe
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build0/bin/clang++ /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/libcxx/test/std/utilities/format/format.functions/format.locale.dynamic_format.pass.cpp -pthread --target=aarch64-unknown-linux-gnu -g -fno-omit-frame-pointer -fsanitize=address -nostdinc++ -I /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test-suite-install/include/c++/v1 -I /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test-suite-install/include/c++/v1 -I /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wshift-negative-value -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -Wno-nullability-completeness -flax-vector-conversions=none -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -Wuser-defined-warnings -lc++experimental -nostdlib++ -L /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test-suite-install/lib -Wl,-rpath,/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test-suite-install/lib -lc++ -latomic -o /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test/std/utilities/format/format.functions/Output/format.locale.dynamic_format.pass.cpp.dir/t.tmp.exe
# note: command had no output on stdout or stderr
# EXECUTED AS
/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_venv/bin/python /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/libcxx/utils/run.py --execdir /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test/std/utilities/format/format.functions/Output/format.locale.dynamic_format.pass.cpp.dir --  /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test/std/utilities/format/format.functions/Output/format.locale.dynamic_format.pass.cpp.dir/t.tmp.exe
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_venv/bin/python /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/libcxx/utils/run.py --execdir /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test/std/utilities/format/format.functions/Output/format.locale.dynamic_format.pass.cpp.dir -- /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/libcxx_build_asan/libcxx/test/std/utilities/format/format.functions/Output/format.locale.dynamic_format.pass.cpp.dir/t.tmp.exe
# .---command stderr------------
# | libc++abi: terminating due to uncaught exception of type std::__1::format_error: The argument index value is too large for the number of arguments supplied
# `-----------------------------
# error: command failed with exit status: 250

This is unlikely related to renaming. Have you confirmed that reverting the changes fixes this error?

I haven't tried reverting (I'd need to spin up an Arm cloud workstation).

I agree I don't see anything wrong with the patch, but for whatever reason it seems the patch tickles the compiler in such a way (perhaps exposing a pre-existing bug elsewhere) that it leads to a test failure. There's three separate buildbots where this patch is the only change, and this renamed test started failing (while the test prior to renaming did not fail):

@thurstond

Copy link
Copy Markdown
Contributor Author

Have you confirmed that reverting the changes fixes this error?

I plan to merge this revert; the buildbots will then shortly confirm whether it fixes the error or not.

@thurstond thurstond merged commit bfff42c into llvm:main Apr 14, 2026
79 of 81 checks passed
@frederick-vs-ja

Copy link
Copy Markdown
Contributor

Well, let's see what's to happen.

@thurstond

thurstond commented Apr 14, 2026

Copy link
Copy Markdown
Contributor Author

So far the revert has landed on one of the failing bots, and turned it back to green: https://lab.llvm.org/buildbot/#/builders/55/builds/26697

The revert has not landed on the other two failing bots yet.

edit: it also turned the other two bots back to green: https://lab.llvm.org/buildbot/#/builders/24/builds/19458, https://lab.llvm.org/buildbot/#/builders/94/builds/16884

@frederick-vs-ja

Copy link
Copy Markdown
Contributor

Oh, I see. Old and new logs read:

LIT_FILTER_OUT=std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp|std/utilities/format/format.functions/format.runtime_format.pass.cpp|std/utilities/format/format.functions/format_to_n.locale.pass.cpp|std/utilities/format/format.functions/format_to_n.pass.cpp|std/utilities/format/format.functions/format_to.locale.pass.cpp|std/utilities/format/format.functions/format_to.pass.cpp|std/utilities/format/format.functions/format.locale.pass.cpp|std/utilities/format/format.functions/format.pass.cpp|std/utilities/format/format.functions/formatted_size.locale.pass.cpp|std/utilities/format/format.functions/formatted_size.pass.cpp|std/utilities/format/format.functions/vformat|test_demangle.pass.cpp|ostream.formatted.print/vprint_nonunicode.pass.cpp|ostream.formatted.print/vprint_unicode.pass.cpp

So we need to update LIT_FILTER_OUT together.

@thurstond

Copy link
Copy Markdown
Contributor Author

So we need to update LIT_FILTER_OUT together.

Nice catch! :-)

@llvm-ci

llvm-ci commented Apr 14, 2026

Copy link
Copy Markdown

LLVM Buildbot has detected a new failure on builder sanitizer-x86_64-linux-fast running on sanitizer-buildbot3 while building libcxx at step 2 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/169/builds/21873

Here is the relevant piece of the build log for the reference
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/ld.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/main.py:74: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 98283 tests, 64 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90
FAIL: LLVM :: CodeGen/X86/basic-block-sections-clusters-bb-hash.ll (26533 of 98283)
******************** TEST 'LLVM :: CodeGen/X86/basic-block-sections-clusters-bb-hash.ll' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 11
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llc /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/X86/basic-block-sections-clusters-bb-hash.ll -O0 -mtriple=x86_64-pc-linux -function-sections -filetype=obj -basic-block-address-map -emit-bb-hash -o /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp.o
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llc /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/X86/basic-block-sections-clusters-bb-hash.ll -O0 -mtriple=x86_64-pc-linux -function-sections -filetype=obj -basic-block-address-map -emit-bb-hash -o /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp.o
# note: command had no output on stdout or stderr
# RUN: at line 16
echo 'v1' > /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp1
# executed command: echo v1
# note: command had no output on stdout or stderr
# RUN: at line 17
echo 'f foo' >> /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp1
# executed command: echo 'f foo'
# note: command had no output on stdout or stderr
# RUN: at line 18
echo 'g 0:100,1:100,2:0 1:100,3:100 2:0,3:0 3:100' >> /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp1
# executed command: echo 'g 0:100,1:100,2:0 1:100,3:100 2:0,3:0 3:100'
# note: command had no output on stdout or stderr
# RUN: at line 22
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llvm-readobj /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp.o --bb-addr-map |  awk 'BEGIN {printf "h"}      /ID: [0-9]+/ {id=$2}      /Hash: 0x[0-9A-Fa-f]+/ {gsub(/^0x/, "", $2); hash=$2; printf " %s:%s", id, hash}      END {print ""}'  >> /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp1
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llvm-readobj /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp.o --bb-addr-map
# note: command had no output on stdout or stderr
# executed command: awk 'BEGIN {printf "h"}      /ID: [0-9]+/ {id=$2}      /Hash: 0x[0-9A-Fa-f]+/ {gsub(/^0x/, "", $2); hash=$2; printf " %s:%s", id, hash}      END {print ""}'
# note: command had no output on stdout or stderr
# RUN: at line 29
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llc < /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/X86/basic-block-sections-clusters-bb-hash.ll -O0 -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp1 -basic-block-section-match-infer |  /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/X86/basic-block-sections-clusters-bb-hash.ll -check-prefixes=CHECK,LINUX-SECTIONS1
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llc -O0 -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp1 -basic-block-section-match-infer
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/X86/basic-block-sections-clusters-bb-hash.ll -check-prefixes=CHECK,LINUX-SECTIONS1
# .---command stderr------------
# | /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/X86/basic-block-sections-clusters-bb-hash.ll:80:26: error: LINUX-SECTIONS1-LABEL: expected string not found in input
# | ; LINUX-SECTIONS1-LABEL: # %bb.1:
# |                          ^
# | <stdin>:7:5: note: scanning from here
# | foo: # @foo
Step 13 (stage2/msan check) failure: stage2/msan check (failure)
...
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/ld.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/main.py:74: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 98283 tests, 64 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90
FAIL: LLVM :: CodeGen/X86/basic-block-sections-clusters-bb-hash.ll (26533 of 98283)
******************** TEST 'LLVM :: CodeGen/X86/basic-block-sections-clusters-bb-hash.ll' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 11
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llc /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/X86/basic-block-sections-clusters-bb-hash.ll -O0 -mtriple=x86_64-pc-linux -function-sections -filetype=obj -basic-block-address-map -emit-bb-hash -o /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp.o
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llc /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/X86/basic-block-sections-clusters-bb-hash.ll -O0 -mtriple=x86_64-pc-linux -function-sections -filetype=obj -basic-block-address-map -emit-bb-hash -o /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp.o
# note: command had no output on stdout or stderr
# RUN: at line 16
echo 'v1' > /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp1
# executed command: echo v1
# note: command had no output on stdout or stderr
# RUN: at line 17
echo 'f foo' >> /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp1
# executed command: echo 'f foo'
# note: command had no output on stdout or stderr
# RUN: at line 18
echo 'g 0:100,1:100,2:0 1:100,3:100 2:0,3:0 3:100' >> /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp1
# executed command: echo 'g 0:100,1:100,2:0 1:100,3:100 2:0,3:0 3:100'
# note: command had no output on stdout or stderr
# RUN: at line 22
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llvm-readobj /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp.o --bb-addr-map |  awk 'BEGIN {printf "h"}      /ID: [0-9]+/ {id=$2}      /Hash: 0x[0-9A-Fa-f]+/ {gsub(/^0x/, "", $2); hash=$2; printf " %s:%s", id, hash}      END {print ""}'  >> /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp1
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llvm-readobj /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp.o --bb-addr-map
# note: command had no output on stdout or stderr
# executed command: awk 'BEGIN {printf "h"}      /ID: [0-9]+/ {id=$2}      /Hash: 0x[0-9A-Fa-f]+/ {gsub(/^0x/, "", $2); hash=$2; printf " %s:%s", id, hash}      END {print ""}'
# note: command had no output on stdout or stderr
# RUN: at line 29
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llc < /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/X86/basic-block-sections-clusters-bb-hash.ll -O0 -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp1 -basic-block-section-match-infer |  /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/X86/basic-block-sections-clusters-bb-hash.ll -check-prefixes=CHECK,LINUX-SECTIONS1
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llc -O0 -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/test/CodeGen/X86/Output/basic-block-sections-clusters-bb-hash.ll.tmp1 -basic-block-section-match-infer
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/X86/basic-block-sections-clusters-bb-hash.ll -check-prefixes=CHECK,LINUX-SECTIONS1
# .---command stderr------------
# | /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/X86/basic-block-sections-clusters-bb-hash.ll:80:26: error: LINUX-SECTIONS1-LABEL: expected string not found in input
# | ; LINUX-SECTIONS1-LABEL: # %bb.1:
# |                          ^
# | <stdin>:7:5: note: scanning from here
# | foo: # @foo

@frederick-vs-ja

frederick-vs-ja commented Apr 14, 2026

Copy link
Copy Markdown
Contributor

Looks like that we need to update LIT_FILTER_OUT in another repo (llvm/llvm-zorg@c37d176).

Edit: llvm/llvm-zorg#836. CC @vitalybuka.

@thurstond

Copy link
Copy Markdown
Contributor Author

Looks like that we need to update LIT_FILTER_OUT in another repo (llvm/llvm-zorg@c37d176).

Edit: llvm/llvm-zorg#836. CC @vitalybuka.

I've approved it. Thanks for the quick fix!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants