DRTVWR-418: Work around VS2013's lack of __has_feature().

meow-7.2.2
Nat Goodspeed 2017-05-08 12:33:33 -04:00
parent ccc42830ee
commit 8502b7dc47
1 changed files with 8 additions and 1 deletions

View File

@ -36,7 +36,14 @@
#include <boost/iterator/indirect_iterator.hpp>
// As of 2017-05-06, as far as nat knows, only clang supports __has_feature().
#if defined(LL_TEST_llinstancetracker) && defined(__clang__) && __has_feature(cxx_noexcept)
// Unfortunately VS2013's preprocessor shortcut logic doesn't prevent it from
// producing (fatal) warnings for defined(__clang__) && __has_feature(...).
// Have to work around that.
#if ! defined(__clang__)
#define __has_feature(x) 0
#endif // __clang__
#if defined(LL_TEST_llinstancetracker) && __has_feature(cxx_noexcept)
// ~LLInstanceTracker() performs llassert_always() validation. That's fine in
// production code, since the llassert_always() is implemented as an LL_ERRS
// message, which will crash-with-message. In our integration test executable,