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

RFC: Increase C++ version to C++17 #106

Closed
cajun-rat opened this issue Feb 8, 2024 · 5 comments
Closed

RFC: Increase C++ version to C++17 #106

cajun-rat opened this issue Feb 8, 2024 · 5 comments

Comments

@cajun-rat
Copy link
Collaborator

At the moment Aktualizr requires C++11 to build. I propose we bump that to C++17.

Full C++17 support came in gcc 8 (although most of it was present in gcc 7 already. In terms of our likely target platforms already ship that:

That suggests that getting a C++17 compiler shouldn't be a huge problem for our downstream.

Why not go further? C++20 support would require gcc 10 or 11, and while we could go that far it seems like we should be conservative by default.

Comments welcome!

@pattivacek
Copy link
Collaborator

pattivacek commented Feb 9, 2024

I'm on board. I remember when we made the decision to support C++11 five or six years ago!

Edit: found it! Not sure why I felt like looking it up, curiosity got the best of me.

cajun-rat added a commit to cajun-rat/aktualizr that referenced this issue Feb 11, 2024
See discussion on uptane/aktualizr#106

Full C++17 support came in gcc 8 (although most of it was present in gcc
7 already. In terms of our likely target platforms already ship that:

* Debian oldstable shipped with gcc-10.
* The oldest supported Yocto release is Dunfell, which shipped gcc 9.5

That suggests that getting a C++17 compiler shouldn't be a huge problem
for our downstream.

Why not go further? C++20 support would require gcc 10 or 11, and while
we could go that far it seems like we should be conservative by default.
@cajun-rat
Copy link
Collaborator Author

I'm on board. I remember when we made the decision to support C++11 five or six years ago!

Edit: found it! Not sure why I felt like looking it up, curiosity got the best of me.

Brings back good memories!

I've been working on a big series to remove the deprecated openssl functions, and I have this upgrade as a part of that at the moment. It is still WIP, but the (unstable) branch is feat/openssl3 on my github. It is currently built on the Toradex fork, but I have another task to rebase that and bring it close to upstream.

@mike-sul
Copy link
Collaborator

That suggests that getting a C++17 compiler shouldn't be a huge problem for our downstream.

That's not an issue for Foundries at all, we moved to gcc 11.4 and clang 11.1 long time ago.

@mike-sul
Copy link
Collaborator

Why not go further? C++20 support would require gcc 10 or 11, and while we could go that far it seems like we should be conservative by default.

I would be conservative too, unless there are strong benefits in switching to C++20.

SamBissig pushed a commit to toradex/aktualizr that referenced this issue Apr 30, 2024
See discussion on uptane/aktualizr#106

Full C++17 support came in gcc 8 (although most of it was present in gcc
7 already. In terms of our likely target platforms already ship that:

* Debian oldstable shipped with gcc-10.
* The oldest supported Yocto release is Dunfell, which shipped gcc 9.5

That suggests that getting a C++17 compiler shouldn't be a huge problem
for our downstream.

Why not go further? C++20 support would require gcc 10 or 11, and while
we could go that far it seems like we should be conservative by default.
cajun-rat added a commit that referenced this issue Aug 2, 2024
See discussion on #106

Full C++17 support came in gcc 8 (although most of it was present in gcc
7 already. In terms of our likely target platforms already ship that:

* Debian oldstable shipped with gcc-10.
* The oldest supported Yocto release is Dunfell, which shipped gcc 9.5

That suggests that getting a C++17 compiler shouldn't be a huge problem
for our downstream.

Why not go further? C++20 support would require gcc 10 or 11, and while
we could go that far it seems like we should be conservative by default.
cajun-rat added a commit that referenced this issue Aug 4, 2024
See discussion on #106

Full C++17 support came in gcc 8 (although most of it was present in gcc
7 already. In terms of our likely target platforms already ship that:

* Debian oldstable shipped with gcc-10.
* The oldest supported Yocto release is Dunfell, which shipped gcc 9.5

That suggests that getting a C++17 compiler shouldn't be a huge problem
for our downstream.

Why not go further? C++20 support would require gcc 10 or 11, and while
we could go that far it seems like we should be conservative by default.
@cajun-rat
Copy link
Collaborator Author

Fixed!

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

No branches or pull requests

3 participants