This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Promote GCC 11 to mandatory CI
ClosedPublic

Authored by ldionne on Jun 15 2021, 12:13 PM.

Details

Reviewers
None
Group Reviewers
Restricted Project
Restricted Project
Commits
rG4f194d0db78f: [libc++] Promote GCC 11 to mandatory CI
Summary

Also, fix the last issue that prevented GCC 11 from passing the test
suite. Thanks to everyone else who fixed issues.

Diff Detail

Event Timeline

ldionne created this revision.Jun 15 2021, 12:13 PM
ldionne requested review of this revision.Jun 15 2021, 12:13 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 15 2021, 12:13 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
Quuxplusone added inline comments.
libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
30–32

Whatever change is made to t probably also needs to be made to vt.
D103769 is vaguely related.

libcxx/utils/ci/Dockerfile
61

I'd leave this comment as "a recent GCC", since otherwise it'll be lying in a few months from now.

libcxx/utils/ci/buildkite-pipeline.yml
138–149

Would it be an unconscionable waste of buildkite resources to just leave this here, and update the gcc-next target to GCC 12 when it's released? As with the comment above, it seems silly to be churning this stuff around twice per GCC-release-cycle, when we could get away with updating it just once per GCC-release-cycle.

ldionne updated this revision to Diff 352254.Jun 15 2021, 2:35 PM

Update XFAIL for libc++abi on recent GCC

Herald added a project: Restricted Project. · View Herald TranscriptJun 15 2021, 2:35 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
ldionne updated this revision to Diff 352256.Jun 15 2021, 2:48 PM
ldionne marked 3 inline comments as done.

Address review comments and clarify intent about supported versions.

libcxx/utils/ci/Dockerfile
61

Actually, I think it's important to document the intent here. See my next update, hopefully it makes it clearer what we're trying to do.

ldionne accepted this revision as: Restricted Project, Restricted Project.Jun 15 2021, 5:54 PM
This revision was not accepted when it landed; it landed in state Needs Review.Jun 15 2021, 5:55 PM
This revision was automatically updated to reflect the committed changes.
libcxx/utils/ci/Dockerfile
61

OK, I buy this new phrasing. LGTM.

mizvekov added inline comments.
libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
30

This initialization and the similar one below would not work from C++14 and below.
std::atomic is not copy construtible, and only starting from C++17 this initialization here from a prvalue of the same type performs direct initialization, and not a copy.

ldionne marked an inline comment as done.Jul 15 2021, 11:46 AM
ldionne added inline comments.
libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
30

Just circling back -- we solved this in our discussion on Discord, and I'm fixing it in D105936.