This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Warn if an unsupported compiler is used
ClosedPublic

Authored by ldionne on Aug 17 2023, 1:46 PM.

Details

Reviewers
philnik
Group Reviewers
Restricted Project
Commits
rG2b7f11a6523b: [libc++] Warn if an unsupported compiler is used
Summary

This makes it obvious that libc++ is used in an unsupported configuration, and the compiler probably has to be updated. It often happens that people try to use libc++ and don't realize that their compiler is too old.

Diff Detail

Event Timeline

philnik created this revision.Aug 17 2023, 1:46 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 17 2023, 1:46 PM
philnik requested review of this revision.Aug 17 2023, 1:46 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 17 2023, 1:46 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript

Note the patch is a bit premature. Until LLVM-17 is released we still support LLVM-15.
@emaste Once LLVM 17 is released libc++ will drop support for Clang 15. Can you update the FreeBSD CI to Clang 16 or Clang 17. If you prefer to do the update after the LLVM 17 release can you let us know?

libcxx/include/__config
33

Once LLVM 17 is released libc++ will drop support for Clang 15. Can you update the FreeBSD CI to Clang 16 or Clang 17

Updating to Clang 16 now makes sense, and I'll plan to do it next week.
(Clang 16 is what we use in the FreeBSD base system as well.)

I'll update to 17 a little after it is released.

Once LLVM 17 is released libc++ will drop support for Clang 15. Can you update the FreeBSD CI to Clang 16 or Clang 17

Updating to Clang 16 now makes sense, and I'll plan to do it next week.
(Clang 16 is what we use in the FreeBSD base system as well.)

I'll update to 17 a little after it is released.

Great, thanks!

ldionne accepted this revision.Sep 5 2023, 2:30 PM
ldionne added a subscriber: ldionne.

LGTM but you should probably address your own TODO :-)

This should pass after a rebase now.

This revision is now accepted and ready to land.Sep 5 2023, 2:30 PM
philnik updated this revision to Diff 556376.Sep 10 2023, 2:33 PM
philnik marked an inline comment as done.

Address comments

We should probably drop the Clang 15 configuration from the CI now. WDYT @Mordante ?

We should probably drop the Clang 15 configuration from the CI now. WDYT @Mordante ?

Then we should have a separate PR to do that. I had it on my todo list for after the release, but I'm not objecting to do it a week before the release. Especially since I'm not aware of patches we want to backport to the release branch. Once that patch has landed this one can be rebased.

The patch removing Clang 15 is https://github.com/llvm/llvm-project/pull/66406. I'll ping here once landed.

ldionne added inline comments.Sep 19 2023, 3:08 PM
libcxx/include/__config
36

For now, can we do this? It would allow merging this patch and then I can change the number when I land https://github.com/llvm/llvm-project/pull/66406.

ldionne commandeered this revision.Sep 19 2023, 3:10 PM
ldionne edited reviewers, added: philnik; removed: ldionne.

Commandeering cause I want to land this.

This revision now requires review to proceed.Sep 19 2023, 3:10 PM
ldionne updated this revision to Diff 557081.Sep 19 2023, 3:11 PM

Encode the real version of Clang that we support right now.

This revision was not accepted when it landed; it landed in state Needs Review.Sep 19 2023, 8:46 PM
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.