Closed Gr8Escape closed 8 years ago
... Good lord. It's apparently very hard to get these things right in compilers - I wonder why they do ship MSVC with C++17 features, but still claiming it doesn't support C++11.
Will fix, thanks for the comment!
I think they are almost there with C++11 and instead of adding the difficult items from C++11 they add the easier or (more used) items from C++17
Sadly I know that they still have an open bug on C++03/98 wrt lookup inside templates, which has hit me in practice. That one's also not fixed. I'm just surprised they still claim to do c++98 in VS2015, when it supports 95% of C++11 - it would make sense to choose the c++11 code paths in code that has it, I would say.
Fixed; will push change soon. Thanks!
The ~MockRepository contains a check for noexcept support however that check is incorrect.
if __cplusplus >= 199711L && (!defined(_MSC_VER) || _MSC_VER > 1700)
noexcept(false)
endif
It should be:
if __cplusplus > 199711L || (defined(_MSC_VER) && _MSC_VER > 1700)
noexcept(false)
endif
The VC2015 compiler (and earlier versions) still define __cplusplus as 199711L So to check for correct VC version, the _MSC_VER has to exist and be larger than 1700 (VC2012)