diff --git a/src/include/c.h b/src/include/c.h
index 59af5b5cb8efdc1394e38575db72efe7f81a046a..230229c80e49758e8cb04d986aa176d36f66cea6 100644
--- a/src/include/c.h
+++ b/src/include/c.h
@@ -755,6 +755,8 @@ typedef NameData *Name;
  */
 #if defined(HAVE__BUILTIN_UNREACHABLE) && !defined(USE_ASSERT_CHECKING)
 #define pg_unreachable() __builtin_unreachable()
+#elif defined(_MSC_VER) && !defined(USE_ASSERT_CHECKING)
+#define pg_unreachable() __assume(0)
 #else
 #define pg_unreachable() abort()
 #endif