Skip to content

Conversation

emaste
Copy link
Member

@emaste emaste commented Oct 8, 2025

No description provided.

@emaste emaste requested a review from a team as a code owner October 8, 2025 22:52
@llvmbot llvmbot added the libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. label Oct 8, 2025
@llvmbot
Copy link
Member

llvmbot commented Oct 8, 2025

@llvm/pr-subscribers-libcxx

Author: Ed Maste (emaste)

Changes

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

1 Files Affected:

  • (modified) libcxx/utils/ci/buildkite-pipeline.yml (+2-2)
diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml
index 3f3e6b466c9ce..2ac69c38ebffa 100644
--- a/libcxx/utils/ci/buildkite-pipeline.yml
+++ b/libcxx/utils/ci/buildkite-pipeline.yml
@@ -120,8 +120,8 @@ steps:
   - label: FreeBSD 13 amd64
     command: libcxx/utils/ci/run-buildbot generic-cxx26
     env:
-      CC: clang19
-      CXX: clang++19
+      CC: clang20
+      CXX: clang++20
     agents:
       queue: libcxx-builders
       os: freebsd

Copy link
Contributor

@philnik777 philnik777 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM assuming the CI is happy. Thanks!

@emaste
Copy link
Member Author

emaste commented Oct 9, 2025

The FreeBSD job failed wtih:

Failed Tests (1):
  llvm-libc++-shared.cfg.in :: std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
# .---command stderr------------
# | /usr/home/buildkite/.buildkite-agent/builds/freebsd-test-1/llvm-project/libcxx-ci/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp:245:17: error: static assertion expression is not an integral constant expression
# |   245 |   static_assert(test());
# |       |                 ^~~~~~
# | /usr/home/buildkite/.buildkite-agent/builds/freebsd-test-1/llvm-project/libcxx-ci/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp:118:3: note: non-constexpr function '__assert' cannot be used in a constant expression
# |   118 |   assert(std::is_implicit_lifetime<T>::value == Expected);
# |       |   ^
# | /usr/include/assert.h:55:36: note: expanded from macro 'assert'
# |    55 | #define assert(e)       ((e) ? (void)0 : __assert(__func__, __FILE__, \
# |       |                                          ^
# | /usr/home/buildkite/.buildkite-agent/builds/freebsd-test-1/llvm-project/libcxx-ci/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp:125:3: note: in call to 'test_is_implicit_lifetime<std::pair<int, float>, true>()'
# |   125 |   test_is_implicit_lifetime<T, true>();
# |       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /usr/home/buildkite/.buildkite-agent/builds/freebsd-test-1/llvm-project/libcxx-ci/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp:229:3: note: in call to 'test_is_implicit_lifetime<std::pair<int, float>>()'
# |   229 |   test_is_implicit_lifetime<std::pair<int, float>>();
# |       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /usr/home/buildkite/.buildkite-agent/builds/freebsd-test-1/llvm-project/libcxx-ci/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp:245:17: note: in call to 'test()'
# |   245 |   static_assert(test());
# |       |                 ^~~~~~
# | /usr/include/assert.h:76:6: note: declared here
# |    76 | void __assert(const char *, const char *, int, const char *) __dead2;
# |       |      ^
# | 1 error generated.
# `-----------------------------

@philnik777
Copy link
Contributor

diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
index 5264e7700e3d..881a5d2c6f75 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
@@ -226,7 +226,9 @@ constexpr bool test() {
 
 #ifdef _LIBCPP_VERSION
   // These types should be implicit-lifetime, but they are not guaranteed to be so.
+#  ifndef _LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR
   test_is_implicit_lifetime<std::pair<int, float>>();
+#  endif
   test_is_implicit_lifetime<std::tuple<int, float>>();
 #endif

should fix that problem.

@philnik777 philnik777 merged commit 55bd6fb into llvm:main Oct 15, 2025
79 checks passed
@emaste
Copy link
Member Author

emaste commented Oct 15, 2025

should fix that problem.

Ah yes, thanks. We (FreeBSD) really need to sort out the std::pair ABI issue :(

@emaste emaste deleted the freebsd-clang-20 branch October 15, 2025 17:53
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.

3 participants