Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add gcc, clang, apple-clang support for C++26 #17092

Merged
merged 4 commits into from
Oct 3, 2024

Conversation

AbrilRBS
Copy link
Member

@AbrilRBS AbrilRBS commented Oct 1, 2024

Changelog: Feature: Add C++26 support for gcc, clang, and apple-clang.
Changelog: Fix: Set C++20 flag to {gnu}c++20 for gcc >= 10 instead of c++2a until gcc 12.
Changelog: Fix: Set C++23 flag to {gnu}c++23 for gcc >= 11 instead of c++2b.
Docs: conan-io/docs#3878

We're accepting the same risks gcc/clang do when supporting the c++26 flags out of the gate, let's hope it pans out 🤞

gcc/clang versions based on https://godbolt.org/z/K3KPqrhWW
gcc c++20/c++23 flag fix based on https://godbolt.org/z/bKh6djM7E
apple-clang support based on:

  • apple-clang 16:
note: use 'c++98' or 'c++03' for 'ISO C++ 1998 with amendments' standard
note: use 'gnu++98' or 'gnu++03' for 'ISO C++ 1998 with amendments and GNU extensions' standard
note: use 'c++11' for 'ISO C++ 2011 with amendments' standard
note: use 'gnu++11' for 'ISO C++ 2011 with amendments and GNU extensions' standard
note: use 'c++14' for 'ISO C++ 2014 with amendments' standard
note: use 'gnu++14' for 'ISO C++ 2014 with amendments and GNU extensions' standard
note: use 'c++17' for 'ISO C++ 2017 with amendments' standard
note: use 'gnu++17' for 'ISO C++ 2017 with amendments and GNU extensions' standard
note: use 'c++20' for 'ISO C++ 2020 DIS' standard
note: use 'gnu++20' for 'ISO C++ 2020 DIS with GNU extensions' standard
note: use 'c++23' for 'ISO C++ 2023 DIS' standard
note: use 'gnu++23' for 'ISO C++ 2023 DIS with GNU extensions' standard
note: use 'c++2c' or 'c++26' for 'Working draft for C++2c' standard
note: use 'gnu++2c' or 'gnu++26' for 'Working draft for C++2c with GNU extensions' standard

  • apple-clang 15:
note: use 'c++98' or 'c++03' for 'ISO C++ 1998 with amendments' standard
note: use 'gnu++98' or 'gnu++03' for 'ISO C++ 1998 with amendments and GNU extensions' standard
note: use 'c++11' for 'ISO C++ 2011 with amendments' standard
note: use 'gnu++11' for 'ISO C++ 2011 with amendments and GNU extensions' standard
note: use 'c++14' for 'ISO C++ 2014 with amendments' standard
note: use 'gnu++14' for 'ISO C++ 2014 with amendments and GNU extensions' standard
note: use 'c++17' for 'ISO C++ 2017 with amendments' standard
note: use 'gnu++17' for 'ISO C++ 2017 with amendments and GNU extensions' standard
note: use 'c++20' for 'ISO C++ 2020 DIS' standard
note: use 'gnu++20' for 'ISO C++ 2020 DIS with GNU extensions' standard
note: use 'c++2b' for 'Working draft for ISO C++ 2023 DIS' standard
note: use 'gnu++2b' for 'Working draft for ISO C++ 2023 DIS with GNU extensions' standard

Closes #17073

@AbrilRBS AbrilRBS added this to the 2.9.0 milestone Oct 1, 2024
@AbrilRBS AbrilRBS requested a review from memsharded October 1, 2024 12:20
@czoido czoido merged commit 7a35b62 into conan-io:develop2 Oct 3, 2024
2 checks passed
@AbrilRBS AbrilRBS deleted the ar/c++-26-support branch October 3, 2024 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[feature] C++26 support
3 participants