Fix BENCHMARK_NORETURN on MSVC
diff --git a/src/internal_macros.h b/src/internal_macros.h
index 1080ac9..3280838 100644
--- a/src/internal_macros.h
+++ b/src/internal_macros.h
@@ -7,7 +7,15 @@
# define __has_feature(x) 0
#endif
-#if __has_feature(cxx_attributes)
+#if defined(__clang__)
+# define COMPILER_CLANG
+#elif defined(_MSC_VER)
+# define COMPILER_MSVC
+#elif defined(__GNUC__)
+# define COMPILER_GCC
+#endif
+
+#if __has_feature(cxx_attributes) || defined(COMPILER_MSVC)
# define BENCHMARK_NORETURN [[noreturn]]
#elif defined(__GNUC__)
# define BENCHMARK_NORETURN __attribute__((noreturn))
@@ -29,12 +37,5 @@
# define BENCHMARK_OS_LINUX 1
#endif
-#if defined(__clang__)
-# define COMPILER_CLANG
-#elif defined(_MSC_VER)
-# define COMPILER_MSVC
-#elif defined(__GNUC__)
-# define COMPILER_GCC
-#endif
#endif // BENCHMARK_INTERNAL_MACROS_H_