Skip to content

Upgrade to c++17 standard #75

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

Merged
merged 1 commit into from
Feb 17, 2022
Merged

Upgrade to c++17 standard #75

merged 1 commit into from
Feb 17, 2022

Conversation

sherry-yuan
Copy link
Contributor

c++17 supports many more features that allows greater flexibilities, and potential performance optimization.

https://en.cppreference.com/w/cpp/17

@sherry-yuan sherry-yuan self-assigned this Feb 7, 2022
@sherry-yuan sherry-yuan added the enhancement New feature or request label Feb 7, 2022
@sherry-yuan sherry-yuan added this to the 2022.3 milestone Feb 7, 2022
@sherry-yuan sherry-yuan marked this pull request as ready for review February 7, 2022 21:23
@sherry-yuan sherry-yuan requested a review from pcolberg February 7, 2022 21:23
Copy link
Contributor

@pcolberg pcolberg left a comment

Choose a reason for hiding this comment

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

Thanks @sherry-yuan!

Could you extend the commit message with a quick summary of compiler support? You can use the C++17 core and library feature tables in https://en.cppreference.com/w/cpp/compiler_support to figure out the minimum required compiler versions for GCC and MSVC. Ubuntu 18.04 has GCC 7.5 and for Windows we support MSVC 2017.

--------------------------------

C++17 contains much more features that:
1. add flexibility (eg. std::any, std::variant)
2. potential performance improvement
3. type safety

For more info see: https://en.cppreference.com/w/cpp/17

Compiler support (min version required to access all C++17 features):
1. GCC ^7
2. MSVC ^19.14

Our current version:
1. GCC 7.5
2. MSVC 2017 = MSVC 19.16

To figure out local MSVC compiler version run: `cl /Bv`

For more information about what feature is supported at which version see: https://en.cppreference.com/w/cpp/compiler_support
@sherry-yuan
Copy link
Contributor Author

sherry-yuan commented Feb 7, 2022

Could you extend the commit message with a quick summary of compiler support?

Thanks for the suggestion! I checked the compiler versions and we satisfied all the requirements (for MSVC, the minimum required to access all feature is 19.14, and we are at 19.16, phew, that was close!)

I put how to check MSVC compiler version in commit msg too.

@sherry-yuan sherry-yuan requested a review from pcolberg February 7, 2022 22:43
Copy link
Contributor

@pcolberg pcolberg left a comment

Choose a reason for hiding this comment

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

Perfect, thanks @sherry-yuan!

@pcolberg pcolberg merged commit 38bd75e into intel:main Feb 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants