MSVC also defines it as a keyword. Fixes build errors in projects that
include MSVC's xkeycheck.h which ensures that keywords aren't overriden
with a define.
# undef GST_CAN_INLINE
#endif
-#if (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) && !defined(restrict)
+/* MSVC defines 'restrict' as a keyword and not a define */
+#if (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) && !defined(_MSC_VER) && !defined(restrict)
# if defined(__GNUC__) && __GNUC__ >= 4
# define restrict __restrict__
# else