Fix coroutine feature test macro on MSVC v2017.09.18.00
authorEric Niebler <eniebler@fb.com>
Fri, 15 Sep 2017 21:21:45 +0000 (14:21 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Fri, 15 Sep 2017 21:22:27 +0000 (14:22 -0700)
Summary: Coroutines are only available on MSVC when the /await compiler switch was passed, in which case the `_RESUMABLE_FUNCTIONS_SUPPORTED` macro is defined.

Reviewed By: Orvid

Differential Revision: D5837303

fbshipit-source-id: af3349646e8875e3eac1bc3bbf47203f41f0bbde

folly/Portability.h

index 87be0b29af71e4091979e709c0209a0f473a0f48..060085c34cd2773e94cf4f3d98bed2c3244ea149 100644 (file)
@@ -426,6 +426,6 @@ constexpr auto kMscVer = 0;
 #define FOLLY_CPP14_CONSTEXPR inline
 #endif
 
-#if __cpp_coroutines >= 201703L || _MSC_VER
+#if __cpp_coroutines >= 201703L || (_MSC_VER && _RESUMABLE_FUNCTIONS_SUPPORTED)
 #define FOLLY_HAS_COROUTINES 1
 #endif