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

iox-#2066 Switch to C++17 #2096

Merged
merged 9 commits into from
Nov 17, 2023
Merged

iox-#2066 Switch to C++17 #2096

merged 9 commits into from
Nov 17, 2023

Conversation

elBoberido
Copy link
Member

@elBoberido elBoberido commented Nov 16, 2023

Pre-Review Checklist for the PR Author

  1. Add a second reviewer for complex new features or larger refactorings
  2. Code follows the coding style of CONTRIBUTING.md
  3. Tests follow the best practice for testing
  4. Changelog updated in the unreleased section including API breaking changes
  5. Branch follows the naming format (iox-123-this-is-a-branch)
  6. Commits messages are according to this guideline
  7. Update the PR title
    • Follow the same conventions as for commit messages
    • Link to the relevant issue
  8. Relevant issues are linked
  9. Add sensible notes for the reviewer
  10. All checks have passed (except task-list-completed)
  11. All touched (C/C++) source code files from iceoryx_hoofs are added to ./clang-tidy-diff-scans.txt
  12. Assign PR to reviewer

Notes for Reviewer

This PR moves the last two platforms, Linux and QNX, to the C++17 language standard. This means that we can start using C++17 features.

Checklist for the PR Reviewer

  • Commits are properly organized and messages are according to the guideline
  • Code according to our coding style and naming conventions
  • Unit tests have been written for new behavior
  • Public API changes are documented via doxygen
  • Copyright owner are updated in the changed files
  • All touched (C/C++) source code files from iceoryx_hoofs have been added to ./clang-tidy-diff-scans.txt
  • PR title describes the changes

Post-review Checklist for the PR Author

  1. All open points are addressed and tracked via issues

References

@elBoberido elBoberido added the enhancement New feature label Nov 16, 2023
@elBoberido elBoberido self-assigned this Nov 16, 2023
Copy link

codecov bot commented Nov 16, 2023

Codecov Report

Merging #2096 (16999d4) into master (4144844) will increase coverage by 0.11%.
The diff coverage is n/a.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2096      +/-   ##
==========================================
+ Coverage   80.17%   80.29%   +0.11%     
==========================================
  Files         418      417       -1     
  Lines       16124    16110      -14     
  Branches     2250     2250              
==========================================
+ Hits        12928    12935       +7     
+ Misses       2398     2380      -18     
+ Partials      798      795       -3     
Flag Coverage Δ
unittests 80.08% <ø> (+0.11%) ⬆️
unittests_timing 15.30% <ø> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

see 7 files with indirect coverage changes

@elBoberido elBoberido force-pushed the iox-2066-switch-to-C++17 branch from 079b6b8 to 5ed5231 Compare November 16, 2023 23:55
@elBoberido
Copy link
Member Author

@FerdinandSpitzschnueffler @mossmaurice @dkroenke @MatthiasKillat @elfenpiff @budrus feel free to add yourself as reviewer

@mossmaurice mossmaurice self-requested a review November 17, 2023 09:42
Copy link
Contributor

@mossmaurice mossmaurice left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Finally! 🥳

The PR looks good to me, with C++23 being released in a couple of weeks and many ISO 262626-certified compilers supporting C++17 I think we're ready to go for the v3.0 C release. This together with the iceoryx_hoofs restructuring will become the main two features of the next release.

The date for moving to C++20 would then be roughly the end of 2026 😁 I can't wait for modules and concepts.

@elBoberido
Copy link
Member Author

@mossmaurice I hope the compiler vendors manage to get their act together and fully implement modules by then 😅

@elBoberido elBoberido merged commit 8930633 into master Nov 17, 2023
27 checks passed
@elBoberido elBoberido deleted the iox-2066-switch-to-C++17 branch November 17, 2023 12:36
@elBoberido elBoberido linked an issue Nov 17, 2023 that may be closed by this pull request
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Switch to C++17 on all platforms
2 participants