This repository has been archived by the owner on Apr 6, 2019. It is now read-only.
Fix std::atomic compilation errors (C2797) on msvc 2013 (again) #3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I think this will be the best fix for this (painful) issue.
Consider the following example:
VS 2015 defines
atomic_bool
type onatomic
header like this:So using fully specialized templates will help in this case.
This will work on both versions and don't thrown any warning on osx + clang.
I have tested this against Visual Studio 2013 Update 5 and Visual Studio 2015 Update 3, both are building fine.
Seems that atomic_bool was a bet for C language, but as this is a C++ library I don't think this change will be an issue.
For further reference:
http://comp.std.cpp.narkive.com/nwMakWji/std-atomic-bool-vs-std-atomic-bool
PS: I'll do the same for cpp_redis.