crt: fix _MINGW_UDERSCORE_PREFIX for arm
diff --git a/mingw-w64-headers/crt/_mingw_mac.h b/mingw-w64-headers/crt/_mingw_mac.h
index 65d0e70..843aebd 100644
--- a/mingw-w64-headers/crt/_mingw_mac.h
+++ b/mingw-w64-headers/crt/_mingw_mac.h
@@ -36,48 +36,9 @@
 #define __MINGW32_MAJOR_VERSION 3
 #define __MINGW32_MINOR_VERSION 11
 
-#ifdef _WIN64
-   /* MS does not prefix symbols by underscores for 64-bit.  */
-#  ifndef __MINGW_USE_UNDERSCORE_PREFIX
-     /* As we have to support older gcc version, which are using underscores
-      as symbol prefix for x64, we have to check here for the user label
-      prefix defined by gcc. */
-#    ifdef __USER_LABEL_PREFIX__
-#      pragma push_macro ("_")
-#      undef _
-#      define _ 1
-#      if (__USER_LABEL_PREFIX__ + 0) != 0
-#        define __MINGW_USE_UNDERSCORE_PREFIX 1
-#      else
-#        define __MINGW_USE_UNDERSCORE_PREFIX 0
-#      endif
-#      undef _
-#      pragma pop_macro ("_")
-#    else /* ! __USER_LABEL_PREFIX__ */
-#      define __MINGW_USE_UNDERSCORE_PREFIX 0
-#    endif /* __USER_LABEL_PREFIX__ */
-#  endif
-#else /* ! ifdef _WIN64 */
-   /* For 32-bits we have always to prefix by underscore.  */
-#  undef __MINGW_USE_UNDERSCORE_PREFIX
-#  define __MINGW_USE_UNDERSCORE_PREFIX 1
-#endif /* ifdef _WIN64 */
-
-#if __MINGW_USE_UNDERSCORE_PREFIX == 0
-#  define __MINGW_IMP_SYMBOL(sym) __imp_##sym
-#  define __MINGW_IMP_LSYMBOL(sym) __imp_##sym
-#  define __MINGW_USYMBOL(sym) sym
-#  define __MINGW_LSYMBOL(sym) _##sym
-#else /* ! if __MINGW_USE_UNDERSCORE_PREFIX == 0 */
-#  define __MINGW_IMP_SYMBOL(sym) _imp__##sym
-#  define __MINGW_IMP_LSYMBOL(sym) __imp__##sym
-#  define __MINGW_USYMBOL(sym) _##sym
-#  define __MINGW_LSYMBOL(sym) sym
-#endif /* if __MINGW_USE_UNDERSCORE_PREFIX == 0 */
-
 /* Set VC specific compiler target macros.  */
 #if defined(__x86_64) && defined(_X86_)
-#  undef _X86_	/* _X86_ is not for __x86_64 */
+#  undef _X86_  /* _X86_ is not for __x86_64 */
 #endif
 
 #if defined(_X86_) && !defined(_M_IX86) && !defined(_M_IA64) \
@@ -104,13 +65,58 @@
 #  define _M_IA64 100
 #endif
 
-#if defined(__arm__) && !defined(_M_ARM)
+#if defined(__arm__) && !defined(_M_ARM) && !defined(_M_ARMT) \
+   && !defined(_M_THUMB)
 #  define _M_ARM 100
+#  define _M_ARMT 100
+#  define _M_THUMB 100
 #  ifndef _ARM_
 #    define _ARM_ 1
 #  endif
+#  ifndef _M_ARM_NT
+#    define _M_ARM_NT 1
+#  endif
 #endif
 
+#ifndef _X86_
+   /* MS does not prefix symbols by underscores for 64-bit.  */
+#  ifndef __MINGW_USE_UNDERSCORE_PREFIX
+     /* As we have to support older gcc version, which are using underscores
+      as symbol prefix for x64, we have to check here for the user label
+      prefix defined by gcc. */
+#    ifdef __USER_LABEL_PREFIX__
+#      pragma push_macro ("_")
+#      undef _
+#      define _ 1
+#      if (__USER_LABEL_PREFIX__ + 0) != 0
+#        define __MINGW_USE_UNDERSCORE_PREFIX 1
+#      else
+#        define __MINGW_USE_UNDERSCORE_PREFIX 0
+#      endif
+#      undef _
+#      pragma pop_macro ("_")
+#    else /* ! __USER_LABEL_PREFIX__ */
+#      define __MINGW_USE_UNDERSCORE_PREFIX 0
+#    endif /* __USER_LABEL_PREFIX__ */
+#  endif
+#else /* ! ifndef _X86_ */
+   /* For x86 we have always to prefix by underscore.  */
+#  undef __MINGW_USE_UNDERSCORE_PREFIX
+#  define __MINGW_USE_UNDERSCORE_PREFIX 1
+#endif /* ifndef _X86_ */
+
+#if __MINGW_USE_UNDERSCORE_PREFIX == 0
+#  define __MINGW_IMP_SYMBOL(sym) __imp_##sym
+#  define __MINGW_IMP_LSYMBOL(sym) __imp_##sym
+#  define __MINGW_USYMBOL(sym) sym
+#  define __MINGW_LSYMBOL(sym) _##sym
+#else /* ! if __MINGW_USE_UNDERSCORE_PREFIX == 0 */
+#  define __MINGW_IMP_SYMBOL(sym) _imp__##sym
+#  define __MINGW_IMP_LSYMBOL(sym) __imp__##sym
+#  define __MINGW_USYMBOL(sym) _##sym
+#  define __MINGW_LSYMBOL(sym) sym
+#endif /* if __MINGW_USE_UNDERSCORE_PREFIX == 0 */
+
 #ifndef __PTRDIFF_TYPE__
 #  ifdef _WIN64
 #    define __PTRDIFF_TYPE__ long long int