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_