Navigation Menu

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

Fix C++17 build. #437

Merged
merged 1 commit into from Jun 18, 2017
Merged

Conversation

Romain-Geissler-1A
Copy link
Contributor

Hi,

I am having issues when compiling Cryptopp with gcc 7 and -std=gnu++17. The reason is ::byte (defined by cryptopp) and std::byte (defined by C++17) are ambiguous when having a "using namespace std" statement.

This pull request fixes the very minimal things to make the build work. Yet another pull request is required to make Cryptopp usable by someone who used "using namespace std" in it's source file when including cryptopp. That will come later.

Cheers,
Romain

@noloader noloader merged commit aaf6269 into weidai11:master Jun 18, 2017
@noloader
Copy link
Collaborator

@Romain-Geissler-1A,

I believe we avoided the removal of USING_NAMESPACE(std) back when others were converted because we were trying to preserve the FIPS-ness of that particular file. We've pretty much violated the "sequestered file" thing everywhere else, so preserving it here does not make much sense.

Thanks for the PR.

noloader referenced this pull request Jul 16, 2017
… globally scoped byte

This check-in supports Romain Geissler's work on cleaning up our use of ::byte when it collides with std::byte. Regardless of what happens, such as removing ::byte and adding CryptoPP::byte, providing the typedef here makes Kalyna immune to the outside changes. Also see Pull Request 437 and 438.
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.

None yet

2 participants