This is an archive of the discontinued LLVM Phabricator instance.

[libc++] [P0482] [C++20] Implement missing bits for atomic
ClosedPublic

Authored by curdeius on Nov 18 2020, 6:21 AM.

Details

Summary

Added: ATOMIC_CHAR8_T_LOCK_FREE, atomic<char8_t>, atomic_char8_t.
http://wg21.link/P0482

Diff Detail

Event Timeline

curdeius created this revision.Nov 18 2020, 6:21 AM
Herald added a project: Restricted Project. · View Herald Transcript
Herald added a reviewer: Restricted Project. · View Herald Transcript
curdeius requested review of this revision.Nov 18 2020, 6:21 AM
curdeius updated this revision to Diff 306090.Nov 18 2020, 6:28 AM
  • Add atomic<char8_t>.
curdeius retitled this revision from [libc++] [P0482] [C++20] Implement missing bits for atomic: ATOMIC_CHAR8_T_LOCK_FREE. to [libc++] [P0482] [C++20] Implement missing bits for atomic.Nov 18 2020, 6:29 AM
curdeius edited the summary of this revision. (Show Details)
curdeius updated this revision to Diff 306968.Nov 23 2020, 12:30 AM
  • Fix tests for compilers with C++20 but without char8_t (clang < 8, gcc < 9).
  • Rebase.

Ready for review!
I've fixed forgotten guards for compilers that support C++20 but don't have char8_t.
Would it make sense to add one of these compilers to BuildKite premerge tests?

ldionne accepted this revision.Nov 24 2020, 8:05 AM

I've fixed forgotten guards for compilers that support C++20 but don't have char8_t.
Would it make sense to add one of these compilers to BuildKite premerge tests?

No, because we don't really want to support these compilers anyway. What we want to do instead is move towards a world where we build libc++ with modern compilers, usually the just-built Clang, while still supporting maybe 1 year back for other toolchain use cases.

This revision is now accepted and ready to land.Nov 24 2020, 8:05 AM