This is an archive of the discontinued LLVM Phabricator instance.

[libc++][CI] Test std module in C++26 mode.
ClosedPublic

Authored by Mordante on Jun 21 2023, 3:55 AM.

Details

Reviewers
ldionne
Group Reviewers
Restricted Project
Commits
rG30f9b47907e7: [libc++][CI] Test std module in C++26 mode.

Diff Detail

Event Timeline

Mordante created this revision.Jun 21 2023, 3:55 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 21 2023, 3:55 AM
Herald added a subscriber: arichardson. · View Herald Transcript
Mordante requested review of this revision.Jun 21 2023, 3:55 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 21 2023, 3:55 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
ldionne added a subscriber: ldionne.Jul 4 2023, 1:08 PM
ldionne added inline comments.
libcxx/utils/ci/buildkite-pipeline.yml
214

I am kinda worried about the explosion of the number of jobs. Is there a reason why we want to keep testing the std module in C++23? For example, we don't do that for Clang modules. We only test the latest standard version with Clang modules.

Mordante planned changes to this revision.Jul 5 2023, 9:04 AM
Mordante added inline comments.
libcxx/utils/ci/buildkite-pipeline.yml
214

Yes and No. C++26 adds new named declarations not available in C++23. For example there are already 3 new headers accepted for C++26; hazard_pointer, rcu and text_encoding. So we need to test C++26 and C++23 separately. Based on our discussion regarding testing modules yesterday we may want to take a different approach for testing modules.
We can always build with modules enabled and run the std and std.compat module test separately in the Generic C++23/26 builds. For now I put this patch on hold; let's see what our testing strategy will be first.

Mordante marked an inline comment as done.Aug 10 2023, 9:32 AM
Mordante added inline comments.
libcxx/utils/ci/buildkite-pipeline.yml
214

I know have a different approach where I reuse the existing job to build the module tests. So instead of adding a new job it adds a few tests to the existing job. This also solves the scalability for testing with different libc++ configurations.

Mordante updated this revision to Diff 549470.Aug 11 2023, 11:34 AM

Reworked the patch to use a new approach.

ldionne accepted this revision.Aug 15 2023, 8:42 AM
ldionne added inline comments.
libcxx/utils/ci/buildkite-pipeline.yml
119–123
This revision is now accepted and ready to land.Aug 15 2023, 8:42 AM
Mordante updated this revision to Diff 550805.Aug 16 2023, 10:30 AM

Rebased, resoved merge conflicts.

Mordante updated this revision to Diff 551712.Aug 19 2023, 12:02 AM

Rebased to test dependent patches.

ldionne accepted this revision.Aug 22 2023, 9:47 AM
This revision was landed with ongoing or failed builds.Aug 22 2023, 11:08 AM
This revision was automatically updated to reflect the committed changes.