Page MenuHomePhabricator

[libc++] Support Apple Clang 10, which lacks constexpr dtor support.
AbandonedPublic

Authored by Quuxplusone on Jul 1 2021, 2:58 PM.

Details

Reviewers
ldionne
Group Reviewers
Restricted Project
Summary
Merely building libc++.a shouldn't require a bleeding-edge compiler;
but in order to build libc++.a you need to compile src/optional.cpp,
which requires being able to parse include/optional (and for some reason
to do this in full C++2a mode). Apple Clang 10 (my current Xcode version)
doesn't do constexpr destructors (wg21.link/p0784), so it can't build
libc++.a for this solitary reason. Let's just fix this one thing.

Diff Detail

Event Timeline

Quuxplusone requested review of this revision.Jul 1 2021, 2:58 PM
Quuxplusone created this revision.
Herald added 1 blocking reviewer(s): Restricted Project. · View Herald TranscriptJul 1 2021, 2:58 PM
ldionne requested changes to this revision.Jul 5 2021, 12:47 PM

Merely building libc++.a shouldn't require a bleeding-edge compiler;

You can and should be using the runtimes build if you don't want to install a recent "system" compiler.

Let's just fix this one thing.

This is a matter of policy. It's easy to add small workarounds, but the sum of all those workarounds is what becomes harmful. We don't test on AppleClang 10 (nor on any Clang that old), so it's not supported. Is there a reason why you can't use a more recent AppleClang?

See https://lists.llvm.org/pipermail/llvm-dev/2021-March/149249.html for our compiler policy. I've been meaning to update the docs to explain that policy for a while now, I'll prioritize that now.

This revision now requires changes to proceed.Jul 5 2021, 12:47 PM
Quuxplusone abandoned this revision.Thu, Sep 9, 6:23 PM