2009-09-06  Kai Tietz  <kai.tietz@onevision.com>

        * ...: Improve -std=cx9 support of header-set.
        * _mingw_mac.h (__MINGW_EXTENSION): New.



git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@1319 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-headers/include/ChangeLog b/mingw-w64-headers/include/ChangeLog
index 6e40a16..0ac50cf 100644
--- a/mingw-w64-headers/include/ChangeLog
+++ b/mingw-w64-headers/include/ChangeLog
@@ -1,5 +1,8 @@
 2009-09-06  Kai Tietz  <kai.tietz@onevision.com>
 
+	* ...: Improve -std=cx9 support of header-set.
+	* _mingw_mac.h (__MINGW_EXTENSION): New.
+
 	PR/2849068 
 	* inttypes.h: Treat __USE_MINGW_ANSI_STDIO for PRI.. & SCN...
 	* _mingw_print_pop.h: Likewise.
diff --git a/mingw-w64-headers/include/_mingw.h b/mingw-w64-headers/include/_mingw.h
index 6159153..b887f9e 100644
--- a/mingw-w64-headers/include/_mingw.h
+++ b/mingw-w64-headers/include/_mingw.h
@@ -291,7 +291,7 @@
 # if defined(__GNUC__) && defined(__STRICT_ANSI__)
   typedef unsigned int size_t __attribute__ ((__mode__ (DI)));
 # else
-  typedef unsigned __int64 size_t;
+  __MINGW_EXTENSION typedef unsigned __int64 size_t;
 # endif
 #else
   typedef unsigned int size_t;
@@ -305,7 +305,7 @@
 # if defined(__GNUC__) && defined(__STRICT_ANSI__)
   typedef int ssize_t __attribute__ ((__mode__ (DI)));
 # else
-  typedef __int64 ssize_t;
+  __MINGW_EXTENSION typedef __int64 ssize_t;
 # endif
 #else
   typedef int ssize_t;
@@ -321,7 +321,7 @@
 # if defined(__GNUC__) && defined(__STRICT_ANSI__)
   typedef int intptr_t __attribute__ ((__mode__ (DI)));
 # else
-  typedef __int64 intptr_t;
+  __MINGW_EXTENSION typedef __int64 intptr_t;
 # endif
 #else
   typedef int intptr_t;
@@ -338,7 +338,7 @@
 # if defined(__GNUC__) && defined(__STRICT_ANSI__)
   typedef unsigned int uintptr_t __attribute__ ((__mode__ (DI)));
 # else
-  typedef unsigned __int64 uintptr_t;
+  __MINGW_EXTENSION typedef unsigned __int64 uintptr_t;
 # endif
 #else
   typedef unsigned int uintptr_t;
@@ -354,7 +354,7 @@
 # if defined(__GNUC__) && defined(__STRICT_ANSI__)
   typedef int ptrdiff_t __attribute__ ((__mode__ (DI)));
 # else
-  typedef __int64 ptrdiff_t;
+  __MINGW_EXTENSION typedef __int64 ptrdiff_t;
 # endif
 #else
   typedef int ptrdiff_t;
@@ -417,7 +417,7 @@
 
 #ifndef _TIME64_T_DEFINED
 #define _TIME64_T_DEFINED
-  typedef __int64 __time64_t;
+  __MINGW_EXTENSION typedef __int64 __time64_t;
 #endif /* _TIME64_T_DEFINED */
 
 #ifndef _TIME_T_DEFINED
diff --git a/mingw-w64-headers/include/_mingw_mac.h b/mingw-w64-headers/include/_mingw_mac.h
index 226dfb8..625246c 100644
--- a/mingw-w64-headers/include/_mingw_mac.h
+++ b/mingw-w64-headers/include/_mingw_mac.h
@@ -75,6 +75,12 @@
 #define _M_IA64 100
 #endif
 
+#if defined(__GNUC__) || defined(__GNUG__)
+#define __MINGW_EXTENSION	__extension__
+#else
+#define __MINGW_EXTENSION
+#endif
+
 #ifdef UNICODE
 # define __MINGW_NAME_AW(func) func##W
 #else
diff --git a/mingw-w64-headers/include/basetsd.h b/mingw-w64-headers/include/basetsd.h
index 07ec1d7..69394f5 100644
--- a/mingw-w64-headers/include/basetsd.h
+++ b/mingw-w64-headers/include/basetsd.h
@@ -9,7 +9,7 @@
 #define _BASETSD_H_
 
 #if (defined(__x86_64) || defined(__ia64__)) && !defined(RC_INVOKED)
-typedef unsigned __int64 POINTER_64_INT;
+__MINGW_EXTENSION typedef unsigned __int64 POINTER_64_INT;
 #else
 typedef unsigned long POINTER_64_INT;
 #endif
@@ -25,11 +25,11 @@
   typedef signed char INT8,*PINT8;
   typedef signed short INT16,*PINT16;
   typedef signed int INT32,*PINT32;
-  typedef signed __int64 INT64,*PINT64;
+  __MINGW_EXTENSION typedef signed __int64 INT64,*PINT64;
   typedef unsigned char UINT8,*PUINT8;
   typedef unsigned short UINT16,*PUINT16;
   typedef unsigned int UINT32,*PUINT32;
-  typedef unsigned __int64 UINT64,*PUINT64;
+  __MINGW_EXTENSION typedef unsigned __int64 UINT64,*PUINT64;
   typedef signed int LONG32,*PLONG32;
   typedef unsigned int ULONG32,*PULONG32;
   typedef unsigned int DWORD32,*PDWORD32;
@@ -39,10 +39,10 @@
 #endif
 
 #ifdef _WIN64
-  typedef __int64 INT_PTR,*PINT_PTR;
-  typedef unsigned __int64 UINT_PTR,*PUINT_PTR;
-  typedef __int64 LONG_PTR,*PLONG_PTR;
-  typedef unsigned __int64 ULONG_PTR,*PULONG_PTR;
+  __MINGW_EXTENSION typedef __int64 INT_PTR,*PINT_PTR;
+  __MINGW_EXTENSION typedef unsigned __int64 UINT_PTR,*PUINT_PTR;
+  __MINGW_EXTENSION typedef __int64 LONG_PTR,*PLONG_PTR;
+  __MINGW_EXTENSION typedef unsigned __int64 ULONG_PTR,*PULONG_PTR;
 #define __int3264 __int64
 #else
   typedef int INT_PTR,*PINT_PTR;
@@ -54,8 +54,8 @@
 
 #ifdef _WIN64
 #define ADDRESS_TAG_BIT 0x40000000000ULL
-  typedef __int64 SHANDLE_PTR;
-  typedef unsigned __int64 HANDLE_PTR;
+  __MINGW_EXTENSION typedef __int64 SHANDLE_PTR;
+  __MINGW_EXTENSION typedef unsigned __int64 HANDLE_PTR;
   typedef unsigned int UHALF_PTR,*PUHALF_PTR;
   typedef int HALF_PTR,*PHALF_PTR;
 
@@ -136,14 +136,14 @@
 #define MAXHALF_PTR ((HALF_PTR)(MAXUHALF_PTR >> 1))
 #define MINHALF_PTR (~MAXHALF_PTR)
 
-  typedef ULONG_PTR SIZE_T,*PSIZE_T;
-  typedef LONG_PTR SSIZE_T,*PSSIZE_T;
-  typedef ULONG_PTR DWORD_PTR,*PDWORD_PTR;
-  typedef __int64 LONG64,*PLONG64;
-  typedef unsigned __int64 ULONG64,*PULONG64;
-  typedef unsigned __int64 DWORD64,*PDWORD64;
-  typedef ULONG_PTR KAFFINITY;
-  typedef KAFFINITY *PKAFFINITY;
+  __MINGW_EXTENSION typedef ULONG_PTR SIZE_T,*PSIZE_T;
+  __MINGW_EXTENSION typedef LONG_PTR SSIZE_T,*PSSIZE_T;
+  __MINGW_EXTENSION typedef ULONG_PTR DWORD_PTR,*PDWORD_PTR;
+  __MINGW_EXTENSION typedef __int64 LONG64,*PLONG64;
+  __MINGW_EXTENSION typedef unsigned __int64 ULONG64,*PULONG64;
+  __MINGW_EXTENSION typedef unsigned __int64 DWORD64,*PDWORD64;
+  __MINGW_EXTENSION typedef ULONG_PTR KAFFINITY;
+  __MINGW_EXTENSION typedef KAFFINITY *PKAFFINITY;
 
 #ifdef __cplusplus
 }
diff --git a/mingw-w64-headers/include/cfgmgr32.h b/mingw-w64-headers/include/cfgmgr32.h
index 362ab8f..1e6f1fb 100644
--- a/mingw-w64-headers/include/cfgmgr32.h
+++ b/mingw-w64-headers/include/cfgmgr32.h
@@ -39,7 +39,7 @@
 #define CONFIGMG_VERSION 0x0400
 
 #ifdef NT_INCLUDED
-  typedef unsigned __int64 DWORDLONG;
+  __MINGW_EXTENSION typedef unsigned __int64 DWORDLONG;
   typedef DWORDLONG *PDWORDLONG;
 #endif
 
diff --git a/mingw-w64-headers/include/cmdtree.h b/mingw-w64-headers/include/cmdtree.h
index 1a1f89f..1c677a8 100644
--- a/mingw-w64-headers/include/cmdtree.h
+++ b/mingw-w64-headers/include/cmdtree.h
@@ -300,8 +300,8 @@
     struct tagDBCOMMANDTREE *pctFirstChild;
     struct tagDBCOMMANDTREE *pctNextSibling;
     union {
-      __int64 llValue;
-      unsigned __int64 ullValue;
+      __MINGW_EXTENSION __int64 llValue;
+      __MINGW_EXTENSION unsigned __int64 ullValue;
       WINBOOL fValue;
       unsigned char uchValue;
       signed char schValue;
diff --git a/mingw-w64-headers/include/comsvcs.h b/mingw-w64-headers/include/comsvcs.h
index 006092b..89c5517 100644
--- a/mingw-w64-headers/include/comsvcs.h
+++ b/mingw-w64-headers/include/comsvcs.h
@@ -1500,9 +1500,9 @@
   void __RPC_STUB ICreateWithTipTransactionEx_CreateInstance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 #endif
 
-  typedef unsigned __int64 MTS_OBJID;
-  typedef unsigned __int64 MTS_RESID;
-  typedef unsigned __int64 ULONG64;
+  __MINGW_EXTENSION typedef unsigned __int64 MTS_OBJID;
+  __MINGW_EXTENSION typedef unsigned __int64 MTS_RESID;
+  __MINGW_EXTENSION typedef unsigned __int64 ULONG64;
 
 #ifndef _COMSVCSEVENTINFO_
 #define _COMSVCSEVENTINFO_
diff --git a/mingw-w64-headers/include/comutil.h b/mingw-w64-headers/include/comutil.h
index 5e70c87..8810b94 100644
--- a/mingw-w64-headers/include/comutil.h
+++ b/mingw-w64-headers/include/comutil.h
@@ -398,8 +398,8 @@
   _variant_t(unsigned long ulSrc) throw();
   _variant_t(int iSrc) throw();
   _variant_t(unsigned int uiSrc) throw();
-  _variant_t(__int64 i8Src) throw();
-  _variant_t(unsigned __int64 ui8Src) throw();
+  __MINGW_EXTENSION _variant_t(__int64 i8Src) throw();
+  __MINGW_EXTENSION _variant_t(unsigned __int64 ui8Src) throw();
   ~_variant_t() throw();
   operator short() const;
   operator long() const;
@@ -418,8 +418,8 @@
   operator unsigned long() const;
   operator int() const;
   operator unsigned int() const;
-  operator __int64() const;
-  operator unsigned __int64() const;
+  __MINGW_EXTENSION operator __int64() const;
+  __MINGW_EXTENSION operator unsigned __int64() const;
   _variant_t &operator=(const VARIANT &varSrc);
   _variant_t &operator=(const VARIANT *pSrc);
   _variant_t &operator=(const _variant_t &varSrc);
@@ -441,8 +441,8 @@
   _variant_t &operator=(unsigned long ulSrc);
   _variant_t &operator=(int iSrc);
   _variant_t &operator=(unsigned int uiSrc);
-  _variant_t &operator=(__int64 i8Src);
-  _variant_t &operator=(unsigned __int64 ui8Src);
+  __MINGW_EXTENSION _variant_t &operator=(__int64 i8Src);
+  __MINGW_EXTENSION _variant_t &operator=(unsigned __int64 ui8Src);
   bool operator==(const VARIANT &varSrc) const throw();
   bool operator==(const VARIANT *pSrc) const throw();
   bool operator!=(const VARIANT &varSrc) const throw();
@@ -592,11 +592,11 @@
   V_VT(this) = VT_UINT;
   V_UINT(this) = uiSrc;
 }
-inline _variant_t::_variant_t(__int64 i8Src) throw() {
+__MINGW_EXTENSION inline _variant_t::_variant_t(__int64 i8Src) throw() {
   V_VT(this) = VT_I8;
   V_I8(this) = i8Src;
 }
-inline _variant_t::_variant_t(unsigned __int64 ui8Src) throw() {
+__MINGW_EXTENSION inline _variant_t::_variant_t(unsigned __int64 ui8Src) throw() {
   V_VT(this) = VT_UI8;
   V_UI8(this) = ui8Src;
 }
@@ -713,13 +713,13 @@
   varDest.ChangeType(VT_UINT,this);
   return V_UINT(&varDest);
 }
-inline _variant_t::operator __int64() const {
+__MINGW_EXTENSION inline _variant_t::operator __int64() const {
   if(V_VT(this)==VT_I8) return V_I8(this);
   _variant_t varDest;
   varDest.ChangeType(VT_I8,this);
   return V_I8(&varDest);
 }
-inline _variant_t::operator unsigned __int64() const {
+__MINGW_EXTENSION inline _variant_t::operator unsigned __int64() const {
   if(V_VT(this)==VT_UI8) return V_UI8(this);
   _variant_t varDest;
   varDest.ChangeType(VT_UI8,this);
@@ -1003,7 +1003,7 @@
   return *this;
 }
 
-inline _variant_t &_variant_t::operator=(__int64 i8Src) {
+__MINGW_EXTENSION inline _variant_t &_variant_t::operator=(__int64 i8Src) {
   if(V_VT(this)!=VT_I8) {
 
     Clear();
@@ -1016,7 +1016,7 @@
   return *this;
 }
 
-inline _variant_t &_variant_t::operator=(unsigned __int64 ui8Src) {
+__MINGW_EXTENSION inline _variant_t &_variant_t::operator=(unsigned __int64 ui8Src) {
   if(V_VT(this)!=VT_UI8) {
 
     Clear();
diff --git a/mingw-w64-headers/include/conio.h b/mingw-w64-headers/include/conio.h
index da279dd..25fecee 100644
--- a/mingw-w64-headers/include/conio.h
+++ b/mingw-w64-headers/include/conio.h
@@ -189,16 +189,16 @@
      seperatly.  */
  
 #ifdef _WIN64
-  __CRT_INLINE unsigned __int64 __readcr0(void)
+  __MINGW_EXTENSION __CRT_INLINE unsigned __int64 __readcr0(void)
   {
-      unsigned __int64 value;
+      __MINGW_EXTENSION unsigned __int64 value;
       __asm__ __volatile__ (
           "mov %%cr0, %[value]" 
           : [value] "=q" (value));
       return value;
   }
  
-  __CRT_INLINE void __writecr0(unsigned __int64 Data)
+  __MINGW_EXTENSION __CRT_INLINE void __writecr0(unsigned __int64 Data)
   {
    __asm__ __volatile__ (
        "mov %[Data], %%cr0"
@@ -207,16 +207,16 @@
        : "memory");
   }
  
-  __CRT_INLINE unsigned __int64 __readcr2(void)
+  __MINGW_EXTENSION __CRT_INLINE unsigned __int64 __readcr2(void)
   {
-      unsigned __int64 value;
+      __MINGW_EXTENSION unsigned __int64 value;
       __asm__ __volatile__ (
           "mov %%cr2, %[value]" 
           : [value] "=q" (value));
       return value;
   }
 
- __CRT_INLINE void __writecr2(unsigned __int64 Data)
+ __MINGW_EXTENSION __CRT_INLINE void __writecr2(unsigned __int64 Data)
  {
    __asm__ __volatile__ (
        "mov %[Data], %%cr2"
@@ -225,16 +225,16 @@
        : "memory");
  }
  
-  __CRT_INLINE unsigned __int64 __readcr3(void)
+  __MINGW_EXTENSION __CRT_INLINE unsigned __int64 __readcr3(void)
   {
-      unsigned __int64 value;
+      __MINGW_EXTENSION unsigned __int64 value;
       __asm__ __volatile__ (
           "mov %%cr3, %[value]" 
           : [value] "=q" (value));
       return value;
   }
 
- __CRT_INLINE void __writecr3(unsigned __int64 Data)
+ __MINGW_EXTENSION __CRT_INLINE void __writecr3(unsigned __int64 Data)
  {
    __asm__ __volatile__ (
        "mov %[Data], %%cr3"
@@ -243,16 +243,16 @@
        : "memory");
  }
  
-  __CRT_INLINE unsigned __int64 __readcr4(void)
+  __MINGW_EXTENSION __CRT_INLINE unsigned __int64 __readcr4(void)
   {
-      unsigned __int64 value;
+      __MINGW_EXTENSION unsigned __int64 value;
       __asm__ __volatile__ (
           "mov %%cr4, %[value]" 
           : [value] "=q" (value));
       return value;
   }
 
- __CRT_INLINE void __writecr4(unsigned __int64 Data)
+ __MINGW_EXTENSION __CRT_INLINE void __writecr4(unsigned __int64 Data)
  {
      __asm__ __volatile__ (
          "mov %[Data], %%cr4"
@@ -261,16 +261,16 @@
          : "memory");
  }
  
-  __CRT_INLINE unsigned __int64 __readcr8(void)
+  __MINGW_EXTENSION __CRT_INLINE unsigned __int64 __readcr8(void)
   {
-      unsigned __int64 value;
+      __MINGW_EXTENSION unsigned __int64 value;
       __asm__ __volatile__ (
           "mov %%cr8, %[value]" 
           : [value] "=q" (value));
       return value;
   }
 
- __CRT_INLINE void __writecr8(unsigned __int64 Data)
+ __MINGW_EXTENSION __CRT_INLINE void __writecr8(unsigned __int64 Data)
  {
    __asm__ __volatile__ (
        "mov %[Data], %%cr8"
@@ -372,9 +372,9 @@
  
 #endif
 
-  __CRT_INLINE unsigned __int64 __readmsr(unsigned long msr)
+  __MINGW_EXTENSION __CRT_INLINE unsigned __int64 __readmsr(unsigned long msr)
   {
-      unsigned __int64 val1, val2;
+      __MINGW_EXTENSION unsigned __int64 val1, val2;
        __asm__ __volatile__(
            "rdmsr"
            : "=a" (val1), "=d" (val2)
@@ -382,7 +382,7 @@
       return val1 | (val2 << 32);
   }
 
- __CRT_INLINE void __writemsr (unsigned long msr, unsigned __int64 Value)
+ __MINGW_EXTENSION __CRT_INLINE void __writemsr (unsigned long msr, unsigned __int64 Value)
  {
     unsigned long val1 = Value, val2 = Value >> 32;
    __asm__ __volatile__ (
diff --git a/mingw-w64-headers/include/correg.h b/mingw-w64-headers/include/correg.h
index 6a237e3..c04297e 100644
--- a/mingw-w64-headers/include/correg.h
+++ b/mingw-w64-headers/include/correg.h
@@ -139,7 +139,7 @@
 #define MAX_CLASS_NAME 255
 #define MAX_PACKAGE_NAME 255
 
-  typedef unsigned __int64 CLASSVERSION;
+  __MINGW_EXTENSION typedef unsigned __int64 CLASSVERSION;
 
 #ifndef DECLSPEC_SELECT_ANY
 #define DECLSPEC_SELECT_ANY __declspec(selectany)
diff --git a/mingw-w64-headers/include/dvec.h b/mingw-w64-headers/include/dvec.h
index 30819bf..355044f 100644
--- a/mingw-w64-headers/include/dvec.h
+++ b/mingw-w64-headers/include/dvec.h
@@ -47,7 +47,7 @@
 #define _MM_4UDW(element,vector) (*((unsigned int*)&##vector + ##element))
 #define _MM_4DW(element,vector) (*((int*)&##vector + ##element))
 
-#define _MM_2QW(element,vector) (*((__int64*)&##vector + ##element))
+#define _MM_2QW(element,vector) (*((__MINGW_EXTENSION __int64*)&##vector + ##element))
 
 inline const __m128i get_mask128()
 {
@@ -98,8 +98,8 @@
 
   I64vec2(__m64 q1,__m64 q0)
   {
-    _MM_2QW(0,vec) = *(__int64*)&q0;
-    _MM_2QW(1,vec) = *(__int64*)&q1;
+    _MM_2QW(0,vec) = *(__MINGW_EXTENSION __int64*)&q0;
+    _MM_2QW(1,vec) = *(__MINGW_EXTENSION __int64*)&q1;
   }
 
   I64vec2& operator= (const M128 &a) { return *this = (I64vec2) a; }
@@ -120,13 +120,13 @@
   I64vec2& operator>>=(const I64vec2 &a) { return *this = (I64vec2) _mm_srl_epi64(vec,a); }
   I64vec2& operator>>=(int count) { return *this = (I64vec2) _mm_srli_epi64(vec,count); }
 
-  const __int64& operator[](int i)const
+  __MINGW_EXTENSION const __int64& operator[](int i)const
   {
     assert(static_cast<unsigned int>(i) < 2);
     return _MM_2QW(i,vec);
   }
 
-  __int64& operator[](int i)
+  __MINGW_EXTENSION __int64& operator[](int i)
   {
     assert(static_cast<unsigned int>(i) < 2);
     return _MM_2QW(i,vec);
diff --git a/mingw-w64-headers/include/excpt.h b/mingw-w64-headers/include/excpt.h
index 26cc943..1b07a3d 100644
--- a/mingw-w64-headers/include/excpt.h
+++ b/mingw-w64-headers/include/excpt.h
@@ -36,7 +36,7 @@
   struct _CONTEXT;
   struct _DISPATCHER_CONTEXT;
 
-  _CRTIMP EXCEPTION_DISPOSITION __cdecl __C_specific_handler (struct _EXCEPTION_RECORD *_ExceptionRecord,unsigned __int64 _MemoryStackFp,unsigned __int64 _BackingStoreFp,struct _CONTEXT *_ContextRecord,struct _DISPATCHER_CONTEXT *_DispatcherContext,unsigned __int64 _GlobalPointer);
+  __MINGW_EXTENSION _CRTIMP EXCEPTION_DISPOSITION __cdecl __C_specific_handler (struct _EXCEPTION_RECORD *_ExceptionRecord,unsigned __int64 _MemoryStackFp,unsigned __int64 _BackingStoreFp,struct _CONTEXT *_ContextRecord,struct _DISPATCHER_CONTEXT *_DispatcherContext,unsigned __int64 _GlobalPointer);
 #elif defined(__x86_64)
 
   struct _EXCEPTION_RECORD;
diff --git a/mingw-w64-headers/include/fpieee.h b/mingw-w64-headers/include/fpieee.h
index 67d9fb0..42d9b41 100644
--- a/mingw-w64-headers/include/fpieee.h
+++ b/mingw-w64-headers/include/fpieee.h
@@ -49,7 +49,7 @@
   typedef int _I32;
   typedef unsigned short _U16;
   typedef unsigned int _U32;
-  typedef __int64 _Q64;
+  __MINGW_EXTENSION typedef __int64 _Q64;
 
   typedef struct
 #if defined(__ia64__)
diff --git a/mingw-w64-headers/include/httpfilt.h b/mingw-w64-headers/include/httpfilt.h
index 12a2c60..ad513be 100644
--- a/mingw-w64-headers/include/httpfilt.h
+++ b/mingw-w64-headers/include/httpfilt.h
@@ -11,7 +11,7 @@
 #endif
 
 #ifdef _WIN64
-  typedef unsigned __int64 ULONG_PTR,*PULONG_PTR;
+  __MINGW_EXTENSION typedef unsigned __int64 ULONG_PTR,*PULONG_PTR;
 #else
   typedef unsigned long ULONG_PTR,*PULONG_PTR;
 #endif
diff --git a/mingw-w64-headers/include/intrin.h b/mingw-w64-headers/include/intrin.h
index 82bd8ea..cbcf6c5 100644
--- a/mingw-w64-headers/include/intrin.h
+++ b/mingw-w64-headers/include/intrin.h
@@ -124,7 +124,7 @@
 #define __MACHINECE __MACHINEZ
 #endif
 
-  __MACHINEIA64(void _AcquireSpinLock(unsigned __int64 *))
+  __MACHINEIA64(__MINGW_EXTENSION void _AcquireSpinLock(unsigned __int64 *))
 #ifdef __GNUC__
 #undef _alloca
 #define _alloca(x) __builtin_alloca((x))
@@ -133,64 +133,64 @@
 #endif
     __MACHINE(int __cdecl abs(int))
     __MACHINEIA64(void __break(int))
-    __MACHINECE(__int64 __cdecl _abs64(__int64))
+    __MACHINECE(__MINGW_EXTENSION __int64 __cdecl _abs64(__int64))
     __MACHINE(unsigned short __cdecl _byteswap_ushort(unsigned short value))
     __MACHINE(unsigned long __cdecl _byteswap_ulong(unsigned long value))
-    __MACHINE(unsigned __int64 __cdecl _byteswap_uint64(unsigned __int64 value))
+    __MACHINE(__MINGW_EXTENSION unsigned __int64 __cdecl _byteswap_uint64(unsigned __int64 value))
     __MACHINECE(void __CacheRelease(void *))
     __MACHINECE(void __CacheWriteback(void *))
     __MACHINECE(double ceil(double))
     __MACHINEX64(double ceil(double))
     __MACHINECE(double ceil(double))
-    __MACHINECE(double _CopyDoubleFromInt64(__int64))
+    __MACHINECE(__MINGW_EXTENSION double _CopyDoubleFromInt64(__int64))
     __MACHINECE(float _CopyFloatFromInt32(__int32))
-    __MACHINECE(__int64 _CopyInt64FromDouble(double))
+    __MACHINECE(__MINGW_EXTENSION __int64 _CopyInt64FromDouble(double))
     __MACHINECE(__int32 _CopyInt32FromFloat(float))
     __MACHINECE(unsigned _CountLeadingOnes(long))
-    __MACHINECE(unsigned _CountLeadingOnes64(__int64))
+    __MACHINECE(__MINGW_EXTENSION unsigned _CountLeadingOnes64(__int64))
     __MACHINECE(unsigned _CountLeadingSigns(long))
-    __MACHINECE(unsigned _CountLeadingSigns64(__int64))
+    __MACHINECE(__MINGW_EXTENSION unsigned _CountLeadingSigns64(__int64))
     __MACHINECE(unsigned _CountLeadingZeros(long))
-    __MACHINECE(unsigned _CountLeadingZeros64(__int64))
+    __MACHINECE(__MINGW_EXTENSION unsigned _CountLeadingZeros64(__int64))
     __MACHINECE(unsigned _CountOneBits(long))
-    __MACHINECE(unsigned _CountOneBits64(__int64))
+    __MACHINECE(__MINGW_EXTENSION unsigned _CountOneBits64(__int64))
     __MACHINE(void __cdecl __debugbreak(void))
     __MACHINEI(void __cdecl _disable(void))
     __MACHINEIA64(void __cdecl _disable(void))
     __MACHINEIA64(void __dsrlz(void))
-    __MACHINEI(__int64 __emul(int,int))
-    __MACHINEI(unsigned __int64 __emulu(unsigned int,unsigned int))
+    __MACHINEI(__MINGW_EXTENSION __int64 __emul(int,int))
+    __MACHINEI(__MINGW_EXTENSION unsigned __int64 __emulu(unsigned int,unsigned int))
     __MACHINEI(void __cdecl _enable(void))
     __MACHINEIA64(void __cdecl _enable(void))
-    __MACHINEIA64(void __fc(__int64))
+    __MACHINEIA64(__MINGW_EXTENSION void __fc(__int64))
     __MACHINEIA64(void __fclrf(void))
     __MACHINEIA64(void __fsetc(int,int))
     __MACHINEIA64(void __fwb(void))
-    __MACHINEIA64(unsigned __int64 __getReg(int))
-    __MACHINEIA64(unsigned __int64 __getPSP(void))
-    __MACHINEIA64(unsigned __int64 __getCFS(void))
+    __MACHINEIA64(__MINGW_EXTENSION unsigned __int64 __getReg(int))
+    __MACHINEIA64(__MINGW_EXTENSION unsigned __int64 __getPSP(void))
+    __MACHINEIA64(__MINGW_EXTENSION unsigned __int64 __getCFS(void))
     __MACHINECE(void __ICacheRefresh(void *))
     __MACHINEIA64(long _InterlockedAdd(long volatile *,long))
     __MACHINEIA64(long _InterlockedAdd_acq(long volatile *,long))
     __MACHINEIA64(long _InterlockedAdd_rel(long volatile *,long))
-    __MACHINEIA64(__int64 _InterlockedAdd64(__int64 volatile *,__int64))
-    __MACHINEIA64(__int64 _InterlockedAdd64_acq(__int64 volatile *,__int64))
-    __MACHINEIA64(__int64 _InterlockedAdd64_rel(__int64 volatile *,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedAdd64(__int64 volatile *,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedAdd64_acq(__int64 volatile *,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedAdd64_rel(__int64 volatile *,__int64))
     __MACHINEI(long __cdecl _InterlockedDecrement(long volatile *))
     __MACHINEIA64(long _InterlockedDecrement(long volatile *))
     __MACHINEIA64(long _InterlockedDecrement_acq(long volatile *))
     __MACHINEIA64(long _InterlockedDecrement_rel(long volatile *))
-    __MACHINEIA64(__int64 _InterlockedDecrement64(__int64 volatile *))
-    __MACHINEIA64(__int64 _InterlockedDecrement64_acq(__int64 volatile *))
-    __MACHINEIA64(__int64 _InterlockedDecrement64_rel(__int64 volatile *))
-    __MACHINEX64(__int64 _InterlockedDecrement64(__int64 volatile *))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedDecrement64(__int64 volatile *))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedDecrement64_acq(__int64 volatile *))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedDecrement64_rel(__int64 volatile *))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedDecrement64(__int64 volatile *))
     __MACHINEI(long _InterlockedExchange(long volatile *,long))
     __MACHINEIA64(long _InterlockedExchange(long volatile *,long))
     __MACHINEIA64(long _InterlockedExchange_acq(long volatile *,long))
     __MACHINESA(long WINAPI _InterlockedExchange(long volatile *,long))
-    __MACHINEIA64(__int64 _InterlockedExchange64(__int64 volatile *,__int64))
-    __MACHINEIA64(__int64 _InterlockedExchange64_acq(__int64 volatile *,__int64))
-    __MACHINEX64(__int64 _InterlockedExchange64(__int64 volatile *,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedExchange64(__int64 volatile *,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedExchange64_acq(__int64 volatile *,__int64))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedExchange64(__int64 volatile *,__int64))
     __MACHINEIA64(void *_InterlockedExchangePointer(void *volatile *,void *))
     __MACHINEIA64(void *_InterlockedExchangePointer_acq(void *volatile *,void volatile *))
     __MACHINEX64(void *_InterlockedExchangePointer(void *volatile *,void *))
@@ -198,73 +198,73 @@
     __MACHINEIA64(long _InterlockedExchangeAdd(long volatile *,long))
     __MACHINEIA64(long _InterlockedExchangeAdd_acq(long volatile *,long))
     __MACHINEIA64(long _InterlockedExchangeAdd_rel(long volatile *,long))
-    __MACHINEIA64(__int64 _InterlockedExchangeAdd64(__int64 volatile *,__int64))
-    __MACHINEIA64(__int64 _InterlockedExchangeAdd64_acq(__int64 volatile *,__int64))
-    __MACHINEIA64(__int64 _InterlockedExchangeAdd64_rel(__int64 volatile *,__int64))
-    __MACHINEX64(__int64 _InterlockedExchangeAdd64(__int64 volatile *,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedExchangeAdd64(__int64 volatile *,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedExchangeAdd64_acq(__int64 volatile *,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedExchangeAdd64_rel(__int64 volatile *,__int64))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedExchangeAdd64(__int64 volatile *,__int64))
     __MACHINEI(long _InterlockedCompareExchange (long volatile *,long,long))
     __MACHINEIA64(long _InterlockedCompareExchange (long volatile *,long,long))
     __MACHINEIA64(long _InterlockedCompareExchange_acq (long volatile *,long,long))
     __MACHINEIA64(long _InterlockedCompareExchange_rel (long volatile *,long,long))
-    __MACHINEIA64(__int64 _InterlockedCompareExchange64(__int64 volatile *,__int64,__int64))
-    __MACHINEIA64(__int64 _InterlockedCompareExchange64_acq(__int64 volatile *,__int64,__int64))
-    __MACHINEIA64(__int64 _InterlockedCompareExchange64_rel(__int64 volatile *,__int64,__int64))
-    __MACHINEIA64(__int64 _InterlockedCompare64Exchange128(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
-    __MACHINEIA64(__int64 _InterlockedCompare64Exchange128_acq(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
-    __MACHINEIA64(__int64 _InterlockedCompare64Exchange128_rel(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
-    __MACHINEX64(__int64 _InterlockedCompare64Exchange128(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
-    __MACHINEX64(__int64 _InterlockedCompare64Exchange128_acq(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
-    __MACHINEX64(__int64 _InterlockedCompare64Exchange128_rel(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompareExchange64(__int64 volatile *,__int64,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompareExchange64_acq(__int64 volatile *,__int64,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompareExchange64_rel(__int64 volatile *,__int64,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_acq(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_rel(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_acq(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_rel(__int64 volatile *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
     __MACHINEIA64(void *_InterlockedCompareExchangePointer (void *volatile *,void *,void *))
     __MACHINEIA64(void *_InterlockedCompareExchangePointer_acq (void *volatile *,void *,void *))
     __MACHINEIA64(void *_InterlockedCompareExchangePointer_rel (void *volatile *,void *,void *))
-    __MACHINEI(__int64 _InterlockedCompareExchange64(__int64 volatile *,__int64,__int64))
+    __MACHINEI(__MINGW_EXTENSION __int64 _InterlockedCompareExchange64(__int64 volatile *,__int64,__int64))
     __MACHINEX64(void *_InterlockedCompareExchangePointer (void *volatile *,void *,void *))
     __MACHINEI(long __cdecl _InterlockedIncrement(long volatile *))
     __MACHINEIA64(long _InterlockedIncrement(long volatile *))
     __MACHINEIA64(long _InterlockedIncrement_acq(long volatile *))
     __MACHINEIA64(long _InterlockedIncrement_rel(long volatile *))
-    __MACHINEIA64(__int64 _InterlockedIncrement64(__int64 volatile *))
-    __MACHINEIA64(__int64 _InterlockedIncrement64_acq(__int64 volatile *))
-    __MACHINEIA64(__int64 _InterlockedIncrement64_rel(__int64 volatile *))
-    __MACHINEX64(__int64 _InterlockedIncrement64(__int64 volatile *))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedIncrement64(__int64 volatile *))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedIncrement64_acq(__int64 volatile *))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedIncrement64_rel(__int64 volatile *))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedIncrement64(__int64 volatile *))
     __MACHINEIW64(long _InterlockedOr(long volatile *,long))
     __MACHINEIW64(char _InterlockedOr8(char volatile *,char))
     __MACHINEIW64(short _InterlockedOr16(short volatile *,short))
-    __MACHINEW64(__int64 _InterlockedOr64(__int64 volatile *,__int64))
+    __MACHINEW64(__MINGW_EXTENSION __int64 _InterlockedOr64(__int64 volatile *,__int64))
     __MACHINEIA64(long _InterlockedOr_acq(long volatile *,long))
     __MACHINEIA64(char _InterlockedOr8_acq(char volatile *,char))
     __MACHINEIA64(short _InterlockedOr16_acq(short volatile *,short))
-    __MACHINEIA64(__int64 _InterlockedOr64_acq(__int64 volatile *,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedOr64_acq(__int64 volatile *,__int64))
     __MACHINEIA64(long _InterlockedOr_rel(long volatile *,long))
     __MACHINEIA64(char _InterlockedOr8_rel(char volatile *,char))
     __MACHINEIA64(short _InterlockedOr16_rel(short volatile *,short))
-    __MACHINEIA64(__int64 _InterlockedOr64_rel(__int64 volatile *,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedOr64_rel(__int64 volatile *,__int64))
     __MACHINEIW64(long _InterlockedXor(long volatile *,long))
     __MACHINEIW64(char _InterlockedXor8(char volatile *,char))
     __MACHINEIW64(short _InterlockedXor16(short volatile *,short))
-    __MACHINEW64(__int64 _InterlockedXor64(__int64 volatile *,__int64))
+    __MACHINEW64(__MINGW_EXTENSION __int64 _InterlockedXor64(__int64 volatile *,__int64))
     __MACHINEIA64(long _InterlockedXor_acq(long volatile *,long))
     __MACHINEIA64(char _InterlockedXor8_acq(char volatile *,char))
     __MACHINEIA64(short _InterlockedXor16_acq(short volatile *,short))
-    __MACHINEIA64(__int64 _InterlockedXor64_acq(__int64 volatile *,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedXor64_acq(__int64 volatile *,__int64))
     __MACHINEIA64(long _InterlockedXor_rel(long volatile *,long))
     __MACHINEIA64(char _InterlockedXor8_rel(char volatile *,char))
     __MACHINEIA64(short _InterlockedXor16_rel(short volatile *,short))
-    __MACHINEIA64(__int64 _InterlockedXor64_rel(__int64 volatile *,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedXor64_rel(__int64 volatile *,__int64))
     __MACHINEIW64(long _InterlockedAnd(long volatile *,long))
     __MACHINEIW64(char _InterlockedAnd8(char volatile *,char))
     __MACHINEIW64(short _InterlockedAnd16(short volatile *,short))
-    __MACHINEW64(__int64 _InterlockedAnd64(__int64 volatile *,__int64))
+    __MACHINEW64(__MINGW_EXTENSION __int64 _InterlockedAnd64(__int64 volatile *,__int64))
     __MACHINEIA64(long _InterlockedAnd_acq(long volatile *,long))
     __MACHINEIA64(char _InterlockedAnd8_acq(char volatile *,char))
     __MACHINEIA64(short _InterlockedAnd16_acq(short volatile *,short))
-    __MACHINEIA64(__int64 _InterlockedAnd64_acq(__int64 volatile *,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedAnd64_acq(__int64 volatile *,__int64))
     __MACHINEIA64(long _InterlockedAnd_rel(long volatile *,long))
     __MACHINEIA64(char _InterlockedAnd8_rel(char volatile *,char))
     __MACHINEIA64(short _InterlockedAnd16_rel(short volatile *,short))
-    __MACHINEIA64(__int64 _InterlockedAnd64_rel(__int64 volatile *,__int64))
-    __MACHINEIA32(long _InterlockedAddLargeStatistic(__int64 volatile *,long))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 _InterlockedAnd64_rel(__int64 volatile *,__int64))
+    __MACHINEIA32(__MINGW_EXTENSION long _InterlockedAddLargeStatistic(__int64 volatile *,long))
     __MACHINEI(int __cdecl _inp(unsigned short))
     __MACHINEI(int __cdecl inp(unsigned short))
     __MACHINEI(unsigned long __cdecl _inpd(unsigned short))
@@ -283,24 +283,24 @@
     __MACHINEIA64(void __lfetchfault(int,void const *))
     __MACHINEIA64(void __lfetch_excl(int,void const *))
     __MACHINEIA64(void __lfetchfault_excl(int,void const *))
-    __MACHINEIA64(__int64 __load128(void *,__int64 *))
-    __MACHINEIA64(__int64 __load128_acq(void *,__int64 *))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 __load128(void *,__int64 *))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 __load128_acq(void *,__int64 *))
     __MACHINEZ(void __cdecl longjmp(jmp_buf,int))
 #pragma push_macro ("_lrotl")
 #pragma push_macro ("_lrotr")
 #undef _lrotl
 #undef _lrotr
 #ifdef __x86_64__
-    __MACHINE(unsigned long long __cdecl _lrotl(unsigned long long,int))
-    __MACHINE(unsigned long long __cdecl _lrotr(unsigned long long,int))
+    __MACHINE(__MINGW_EXTENSION unsigned long long __cdecl _lrotl(unsigned long long,int))
+    __MACHINE(__MINGW_EXTENSION unsigned long long __cdecl _lrotr(unsigned long long,int))
 #else
     __MACHINE(unsigned long __cdecl _lrotl(unsigned long,int))
     __MACHINE(unsigned long __cdecl _lrotr(unsigned long,int))
 #endif
 #pragma pop_macro ("_lrotl")
 #pragma pop_macro ("_lrotr")
-    __MACHINEI(unsigned __int64 __ll_lshift(unsigned __int64,int))
-    __MACHINEI(__int64 __ll_rshift(__int64,int))
+    __MACHINEI(__MINGW_EXTENSION unsigned __int64 __ll_lshift(unsigned __int64,int))
+    __MACHINEI(__MINGW_EXTENSION __int64 __ll_rshift(__int64,int))
     __MACHINEIA64(__m64 __m64_czx1l(__m64))
     __MACHINEIA64(__m64 __m64_czx1r(__m64))
     __MACHINEIA64(__m64 __m64_czx2l(__m64))
@@ -354,15 +354,15 @@
     __MACHINEI(unsigned short __cdecl _outpw(unsigned short,unsigned short))
     __MACHINEI(unsigned short __cdecl outpw(unsigned short,unsigned short))
     __MACHINECE(void __cdecl __prefetch(unsigned long *addr))
-    __MACHINEIA64(void __ptcl(__int64,__int64))
-    __MACHINEIA64(void __ptcg(__int64,__int64))
-    __MACHINEIA64(void __ptcga(__int64,__int64))
-    __MACHINEIA64(void __ptrd(__int64,__int64))
-    __MACHINEIA64(void __ptri(__int64,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION void __ptcl(__int64,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION void __ptcg(__int64,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION void __ptcga(__int64,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION void __ptrd(__int64,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION void __ptri(__int64,__int64))
     __MACHINEIA64(void *_rdteb(void))
     __MACHINESA(int _ReadStatusReg(int))
     __MACHINECE(void _ReadWriteBarrier(void))
-    __MACHINEIA64(void _ReleaseSpinLock(unsigned __int64 *))
+    __MACHINEIA64(__MINGW_EXTENSION void _ReleaseSpinLock(unsigned __int64 *))
     __MACHINEI(void *_ReturnAddress(void))
     __MACHINEIA64(void *_ReturnAddress(void))
     __MACHINESA(void *_ReturnAddress(void))
@@ -377,8 +377,8 @@
 #pragma pop_macro ("_rotl")
 #undef _rotl64
 #undef _rotr64
-    __MACHINECE(unsigned __int64 __cdecl _rotl64(unsigned __int64,int))
-    __MACHINECE(unsigned __int64 __cdecl _rotr64(unsigned __int64,int))
+    __MACHINECE(__MINGW_EXTENSION unsigned __int64 __cdecl _rotl64(unsigned __int64,int))
+    __MACHINECE(__MINGW_EXTENSION unsigned __int64 __cdecl _rotr64(unsigned __int64,int))
 #define _rotl64 __rolq
 #define _rotr64 __rorq
     __MACHINEIA64(void __rsm(int))
@@ -392,15 +392,15 @@
     __MACHINEIA64(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmpex(jmp_buf))
     __MACHINEX64(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmpex(jmp_buf))
 #endif
-    __MACHINEIA64(void __setReg(int,unsigned __int64))
+    __MACHINEIA64(__MINGW_EXTENSION void __setReg(int,unsigned __int64))
     __MACHINEARMX(void _SmulAdd_SL_ACC(int,int))
     __MACHINEARMX(void _SmulAddPack_2SW_ACC(int,int))
     __MACHINEARMX(void _SmulAddLo_SW_ACC(int,int))
     __MACHINEARMX(void _SmulAddHi_SW_ACC(int,int))
     __MACHINEARMX(void _SmulAddHiLo_SW_ACC(int,int))
     __MACHINEARMX(void _SmulAddLoHi_SW_ACC(int,int))
-    __MACHINEIA64(void __store128(void *,__int64,__int64))
-    __MACHINEIA64(void __store128_rel(void *,__int64,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION void __store128(void *,__int64,__int64))
+    __MACHINEIA64(__MINGW_EXTENSION void __store128_rel(void *,__int64,__int64))
     __MACHINE(char *__cdecl strcat(char *,const char *))
     __MACHINE(int __cdecl strcmp(const char *,const char *))
     __MACHINE(char *__cdecl strcpy(char *,const char *))
@@ -413,11 +413,11 @@
     __MACHINEIA64(void __sum(int))
     __MACHINESA(int __swi(unsigned,...))
     __MACHINEIA64(void __synci(void))
-    __MACHINEIA64(__int64 __thash(__int64))
-    __MACHINEIA64(__int64 __ttag(__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 __thash(__int64))
+    __MACHINEIA64(__MINGW_EXTENSION __int64 __ttag(__int64))
     __MACHINECE(int __trap(int,...))
-    __MACHINEI(unsigned __int64 __ull_rshift(unsigned __int64,int))
-    __MACHINEIA64(unsigned __int64 __UMULH(unsigned __int64 a,unsigned __int64 b))
+    __MACHINEI(__MINGW_EXTENSION unsigned __int64 __ull_rshift(unsigned __int64,int))
+    __MACHINEIA64(__MINGW_EXTENSION unsigned __int64 __UMULH(unsigned __int64 a,unsigned __int64 b))
     __MACHINECE(wchar_t *__cdecl wcscat(wchar_t *,const wchar_t *))
     __MACHINECE(int __cdecl wcscmp(const wchar_t *,const wchar_t *))
     __MACHINECE(wchar_t *__cdecl wcscpy(wchar_t *,const wchar_t *))
@@ -858,41 +858,41 @@
     __MACHINEIA64(void _WriteBarrier(void))
     __MACHINEIA64(void _ReadWriteBarrier(void))
     __MACHINEX64(void __faststorefence(void))
-    __MACHINEX64(__int64 __mulh(__int64,__int64))
-    __MACHINEX64(unsigned __int64 __umulh(unsigned __int64,unsigned __int64))
-    __MACHINEX64(unsigned __int64 __readcr0(void))
-    __MACHINEX64(unsigned __int64 __readcr2(void))
-    __MACHINEX64(unsigned __int64 __readcr3(void))
-    __MACHINEX64(unsigned __int64 __readcr4(void))
-    __MACHINEX64(unsigned __int64 __readcr8(void))
+    __MACHINEX64(__MINGW_EXTENSION __int64 __mulh(__int64,__int64))
+    __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __umulh(unsigned __int64,unsigned __int64))
+    __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readcr0(void))
+    __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readcr2(void))
+    __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readcr3(void))
+    __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readcr4(void))
+    __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readcr8(void))
     __MACHINEIA32(unsigned long __readcr0(void))
     __MACHINEIA32(unsigned long __readcr2(void))
     __MACHINEIA32(unsigned long __readcr3(void))
     __MACHINEIA32(unsigned long __readcr4(void))
-    __MACHINEX64(void __writecr0(unsigned __int64))
-    __MACHINEX64(void __writecr3(unsigned __int64))
-    __MACHINEX64(void __writecr4(unsigned __int64))
-    __MACHINEX64(void __writecr8(unsigned __int64))
+    __MACHINEX64(__MINGW_EXTENSION void __writecr0(unsigned __int64))
+    __MACHINEX64(__MINGW_EXTENSION void __writecr3(unsigned __int64))
+    __MACHINEX64(__MINGW_EXTENSION void __writecr4(unsigned __int64))
+    __MACHINEX64(__MINGW_EXTENSION void __writecr8(unsigned __int64))
     __MACHINEIA32(void __writecr0(unsigned))
     __MACHINEIA32(void __writecr3(unsigned))
     __MACHINEIA32(void __writecr4(unsigned))
     __MACHINEI(void __wbinvd(void))
     __MACHINEI(void __invlpg(void*))
-    __MACHINEI(unsigned __int64 __readmsr(unsigned long))
-    __MACHINEI(void __writemsr(unsigned long,unsigned __int64))
-    __MACHINEI(unsigned __int64 __rdtsc(void))
+    __MACHINEI(__MINGW_EXTENSION unsigned __int64 __readmsr(unsigned long))
+    __MACHINEI(__MINGW_EXTENSION void __writemsr(unsigned long,unsigned __int64))
+    __MACHINEI(__MINGW_EXTENSION unsigned __int64 __rdtsc(void))
     __MACHINEI(void __movsb(unsigned char *,unsigned char const *,size_t))
     __MACHINEI(void __movsw(unsigned short *,unsigned short const *,size_t))
     __MACHINEI(void __movsd(unsigned long *,unsigned long const *,size_t))
-    __MACHINEX64(void __movsq(unsigned long long *,unsigned long long const *,size_t))
+    __MACHINEX64(__MINGW_EXTENSION void __movsq(unsigned long long *,unsigned long long const *,size_t))
     __MACHINEX64(unsigned char __readgsbyte(unsigned long Offset))
     __MACHINEX64(unsigned short __readgsword(unsigned long Offset))
     __MACHINEX64(unsigned long __readgsdword(unsigned long Offset))
-    __MACHINEX64(unsigned __int64 __readgsqword(unsigned long Offset))
+    __MACHINEX64(__MINGW_EXTENSION unsigned __int64 __readgsqword(unsigned long Offset))
     __MACHINEX64(void __writegsbyte(unsigned long Offset,unsigned char Data))
     __MACHINEX64(void __writegsword(unsigned long Offset,unsigned short Data))
     __MACHINEX64(void __writegsdword(unsigned long Offset,unsigned long Data))
-    __MACHINEX64(void __writegsqword(unsigned long Offset,unsigned __int64 Data))
+    __MACHINEX64(__MINGW_EXTENSION void __writegsqword(unsigned long Offset,unsigned __int64 Data))
     __MACHINEI(unsigned char __inbyte(unsigned short Port))
     __MACHINEI(unsigned short __inword(unsigned short Port))
     __MACHINEI(unsigned long __indword(unsigned short Port))
@@ -906,63 +906,63 @@
     __MACHINEI(void __outwordstring(unsigned short Port,unsigned short *Buffer,unsigned long Count))
     __MACHINEI(void __outdwordstring(unsigned short Port,unsigned long *Buffer,unsigned long Count))
     __MACHINEI(unsigned int __getcallerseflags())
-    __MACHINEX64(__m128i _mm_set_epi64x(__int64 i1,__int64 i0))
-    __MACHINEX64(__m128i _mm_set1_epi64x(__int64 i))
-    __MACHINEX64(__int64 _mm_cvtsd_si64x(__m128d a))
-    __MACHINEX64(__m128d _mm_cvtsi64x_sd(__m128d a,__int64 b))
-    __MACHINEX64(__m128 _mm_cvtsi64x_ss(__m128 a,__int64 b))
-    __MACHINEX64(__int64 _mm_cvtss_si64x(__m128 a))
-    __MACHINEX64(__int64 _mm_cvttsd_si64x(__m128d a))
-    __MACHINEX64(__int64 _mm_cvttss_si64x(__m128 a))
-    __MACHINEX64(__m128i _mm_cvtsi64x_si128(__int64 a))
-    __MACHINEX64(__int64 _mm_cvtsi128_si64x(__m128i a))
-    __MACHINEX64(void _mm_stream_si64x(__int64 *,__int64))
+    __MACHINEX64(__MINGW_EXTENSION __m128i _mm_set_epi64x(__int64 i1,__int64 i0))
+    __MACHINEX64(__MINGW_EXTENSION __m128i _mm_set1_epi64x(__int64 i))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _mm_cvtsd_si64x(__m128d a))
+    __MACHINEX64(__MINGW_EXTENSION __m128d _mm_cvtsi64x_sd(__m128d a,__int64 b))
+    __MACHINEX64(__MINGW_EXTENSION __m128 _mm_cvtsi64x_ss(__m128 a,__int64 b))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _mm_cvtss_si64x(__m128 a))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _mm_cvttsd_si64x(__m128d a))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _mm_cvttss_si64x(__m128 a))
+    __MACHINEX64(__MINGW_EXTENSION __m128i _mm_cvtsi64x_si128(__int64 a))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _mm_cvtsi128_si64x(__m128i a))
+    __MACHINEX64(__MINGW_EXTENSION void _mm_stream_si64x(__int64 *,__int64))
     __MACHINEI(void __stosb(unsigned char *,unsigned char,size_t))
     __MACHINEI(void __stosw(unsigned short *,unsigned short,size_t))
     __MACHINEI(void __stosd(unsigned long *,unsigned long,size_t))
-    __MACHINEX64(void __stosq(unsigned __int64 *,unsigned __int64,size_t))
+    __MACHINEX64(__MINGW_EXTENSION void __stosq(unsigned __int64 *,unsigned __int64,size_t))
     __MACHINEIW64(unsigned char _bittest(long const *a,long b))
     __MACHINEIW64(unsigned char _bittestandset(long *a,long b))
     __MACHINEIW64(unsigned char _bittestandreset(long *a,long b))
     __MACHINEIW64(unsigned char _bittestandcomplement(long *a,long b))
     __MACHINEI(unsigned char _interlockedbittestandset(long *a,long b))
     __MACHINEI(unsigned char _interlockedbittestandreset(long *a,long b))
-    __MACHINEW64(unsigned char _bittest64(__int64 const *a,__int64 b))
-    __MACHINEW64(unsigned char _bittestandset64(__int64 *a,__int64 b))
-    __MACHINEW64(unsigned char _bittestandreset64(__int64 *a,__int64 b))
-    __MACHINEW64(unsigned char _bittestandcomplement64(__int64 *a,__int64 b))
-    __MACHINEX64(unsigned char _interlockedbittestandset64(__int64 *a,__int64 b))
-    __MACHINEX64(unsigned char _interlockedbittestandreset64(__int64 *a,__int64 b))
+    __MACHINEW64(__MINGW_EXTENSION unsigned char _bittest64(__int64 const *a,__int64 b))
+    __MACHINEW64(__MINGW_EXTENSION unsigned char _bittestandset64(__int64 *a,__int64 b))
+    __MACHINEW64(__MINGW_EXTENSION unsigned char _bittestandreset64(__int64 *a,__int64 b))
+    __MACHINEW64(__MINGW_EXTENSION unsigned char _bittestandcomplement64(__int64 *a,__int64 b))
+    __MACHINEX64(__MINGW_EXTENSION unsigned char _interlockedbittestandset64(__int64 *a,__int64 b))
+    __MACHINEX64(__MINGW_EXTENSION unsigned char _interlockedbittestandreset64(__int64 *a,__int64 b))
     __MACHINEI(void __cpuid(int a[4],int b))
-    __MACHINEI(unsigned __int64 __readpmc(unsigned long a))
+    __MACHINEI(__MINGW_EXTENSION unsigned __int64 __readpmc(unsigned long a))
     __MACHINEI(unsigned long __segmentlimit(unsigned long a))
 
     __MACHINEIA32(unsigned char __readfsbyte(unsigned long Offset))
     __MACHINEIA32(unsigned short __readfsword(unsigned long Offset))
     __MACHINEIA32(unsigned long __readfsdword(unsigned long Offset))
-    __MACHINEIA32(unsigned __int64 __readfsqword(unsigned long Offset))
+    __MACHINEIA32(__MINGW_EXTENSION unsigned __int64 __readfsqword(unsigned long Offset))
     __MACHINEIA32(void __writefsbyte(unsigned long Offset,unsigned char Data))
     __MACHINEIA32(void __writefsword(unsigned long Offset,unsigned short Data))
     __MACHINEIA32(void __writefsdword(unsigned long Offset,unsigned long Data))
-    __MACHINEIA32(void __writefsqword(unsigned long Offset,unsigned __int64 Data))
+    __MACHINEIA32(__MINGW_EXTENSION void __writefsqword(unsigned long Offset,unsigned __int64 Data))
 
-    __MACHINE(unsigned __int64 __cdecl _rotl64(unsigned __int64,int))
-    __MACHINE(unsigned __int64 __cdecl _rotr64(unsigned __int64,int))
-    __MACHINE(__int64 __cdecl _abs64(__int64))
+    __MACHINE(__MINGW_EXTENSION unsigned __int64 __cdecl _rotl64(unsigned __int64,int))
+    __MACHINE(__MINGW_EXTENSION unsigned __int64 __cdecl _rotr64(unsigned __int64,int))
+    __MACHINE(__MINGW_EXTENSION __int64 __cdecl _abs64(__int64))
 
     __MACHINEIW64(unsigned char _BitScanForward(unsigned long *Index,unsigned long Mask))
     __MACHINEIW64(unsigned char _BitScanReverse(unsigned long *Index,unsigned long Mask))
-    __MACHINEW64(unsigned char _BitScanForward64(unsigned long *Index,unsigned __int64 Mask))
-    __MACHINEW64(unsigned char _BitScanReverse64(unsigned long *Index,unsigned __int64 Mask))
+    __MACHINEW64(__MINGW_EXTENSION unsigned char _BitScanForward64(unsigned long *Index,unsigned __int64 Mask))
+    __MACHINEW64(__MINGW_EXTENSION unsigned char _BitScanReverse64(unsigned long *Index,unsigned __int64 Mask))
     __MACHINEIW64(wchar_t *__cdecl wcscat(wchar_t *,const wchar_t *))
     __MACHINEIW64(int __cdecl wcscmp(const wchar_t *,const wchar_t *))
     __MACHINEIW64(wchar_t *__cdecl wcscpy(wchar_t *,const wchar_t *))
     __MACHINEIW64(size_t __cdecl wcslen(const wchar_t *))
     __MACHINEIW64(_CRTIMP wchar_t *__cdecl _wcsset(wchar_t *,wchar_t))
-    __MACHINEW64(unsigned __int64 __shiftleft128(unsigned __int64 LowPart,unsigned __int64 HighPart,unsigned char Shift))
-    __MACHINEW64(unsigned __int64 __shiftright128(unsigned __int64 LowPart,unsigned __int64 HighPart,unsigned char Shift))
-    __MACHINEW64(unsigned __int64 _umul128(unsigned __int64 multiplier,unsigned __int64 multiplicand,unsigned __int64 *highproduct))
-    __MACHINEW64(__int64 _mul128(__int64 multiplier,__int64 multiplicand,__int64 *highproduct))
+    __MACHINEW64(__MINGW_EXTENSION unsigned __int64 __shiftleft128(unsigned __int64 LowPart,unsigned __int64 HighPart,unsigned char Shift))
+    __MACHINEW64(__MINGW_EXTENSION unsigned __int64 __shiftright128(unsigned __int64 LowPart,unsigned __int64 HighPart,unsigned char Shift))
+    __MACHINEW64(__MINGW_EXTENSION unsigned __int64 _umul128(unsigned __int64 multiplier,unsigned __int64 multiplicand,unsigned __int64 *highproduct))
+    __MACHINEW64(__MINGW_EXTENSION __int64 _mul128(__int64 multiplier,__int64 multiplicand,__int64 *highproduct))
     __MACHINEI(void __int2c(void))
     __MACHINEIW64(void _ReadBarrier(void))
     __MACHINEIW64(unsigned char _rotr8(unsigned char value,unsigned char shift))
@@ -978,174 +978,174 @@
     __MACHINEIA64(short _InterlockedDecrement16_rel(short volatile *Addend))
     __MACHINEIA64(short _InterlockedCompareExchange16_acq(short volatile *Destination,short Exchange,short Comparand))
     __MACHINEIA64(short _InterlockedCompareExchange16_rel(short volatile *Destination,short Exchange,short Comparand))
-    __MACHINECC(unsigned __int64 _m_paddb(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_paddw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_paddd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_paddsb(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_paddsw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_paddsd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_paddusb(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_paddusw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_paddusd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_psubb(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_psubw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_psubd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_psubsb(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_psubsw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_psubsd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_psubusb(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_psubusw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_psubusd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pmaddwd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pmadduwd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pmulhw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pmulhuw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pmullw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pmullw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pmacsw(unsigned __int64 m1,unsigned __int64 m2,unsigned __int64 m3))
-    __MACHINECC(unsigned __int64 _m_pmacuw(unsigned __int64 m1,unsigned __int64 m2,unsigned __int64 m3))
-    __MACHINECC(unsigned __int64 _m_pmacszw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_padduzw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_paccb(unsigned __int64 m1))
-    __MACHINECC(unsigned __int64 _m_paccw(unsigned __int64 m1))
-    __MACHINECC(unsigned __int64 _m_paccd(unsigned __int64 m1))
-    __MACHINECC(unsigned __int64 _m_pmia(unsigned __int64 m1,int i1,int i0))
-    __MACHINECC(unsigned __int64 _m_pmiaph(unsigned __int64 m1,int i1,int i0))
-    __MACHINECC(unsigned __int64 _m_pmiabb(unsigned __int64 m1,int i1,int i0))
-    __MACHINECC(unsigned __int64 _m_pmiabt(unsigned __int64 m1,int i1,int i0))
-    __MACHINECC(unsigned __int64 _m_pmiatb(unsigned __int64 m1,int i1,int i0))
-    __MACHINECC(unsigned __int64 _m_pmiatt(unsigned __int64 m1,int i1,int i0))
-    __MACHINECC(unsigned __int64 _m_psllw(unsigned __int64 m1,unsigned __int64 count))
-    __MACHINECC(unsigned __int64 _m_psllwi(unsigned __int64 m1,int count))
-    __MACHINECC(unsigned __int64 _m_pslld(unsigned __int64 m1,unsigned __int64 count))
-    __MACHINECC(unsigned __int64 _m_pslldi(unsigned __int64 m1,int count))
-    __MACHINECC(unsigned __int64 _m_psllq(unsigned __int64 m1,unsigned __int64 count))
-    __MACHINECC(unsigned __int64 _m_psllqi(unsigned __int64 m1,int count))
-    __MACHINECC(unsigned __int64 _m_psraw(unsigned __int64 m1,unsigned __int64 count))
-    __MACHINECC(unsigned __int64 _m_psrawi(unsigned __int64 m1,int count))
-    __MACHINECC(unsigned __int64 _m_psrad(unsigned __int64 m1,unsigned __int64 count))
-    __MACHINECC(unsigned __int64 _m_psradi(unsigned __int64 m1,int count))
-    __MACHINECC(unsigned __int64 _m_psraq(unsigned __int64 m1,unsigned __int64 count))
-    __MACHINECC(unsigned __int64 _m_psraqi(unsigned __int64 m1,int count))
-    __MACHINECC(unsigned __int64 _m_psrlw(unsigned __int64 m1,unsigned __int64 count))
-    __MACHINECC(unsigned __int64 _m_psrlwi(unsigned __int64 m1,int count))
-    __MACHINECC(unsigned __int64 _m_psrld(unsigned __int64 m1,unsigned __int64 count))
-    __MACHINECC(unsigned __int64 _m_psrldi(unsigned __int64 m1,int count))
-    __MACHINECC(unsigned __int64 _m_psrlq(unsigned __int64 m1,unsigned __int64 count))
-    __MACHINECC(unsigned __int64 _m_psrlqi(unsigned __int64 m1,int count))
-    __MACHINECC(unsigned __int64 _m_prorw(unsigned __int64 m1,unsigned __int64 count))
-    __MACHINECC(unsigned __int64 _m_prorwi(unsigned __int64 m1,int count))
-    __MACHINECC(unsigned __int64 _m_prord(unsigned __int64 m1,unsigned __int64 count))
-    __MACHINECC(unsigned __int64 _m_prordi(unsigned __int64 m1,int count))
-    __MACHINECC(unsigned __int64 _m_prorq(unsigned __int64 m1,unsigned __int64 count))
-    __MACHINECC(unsigned __int64 _m_prorqi(unsigned __int64 m1,int count))
-    __MACHINECC(unsigned __int64 _m_pand(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pandn(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_por(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pxor(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pcmpeqb(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pcmpeqw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pcmpeqd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pcmpgtb(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pcmpgtub(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pcmpgtw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pcmpgtuw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pcmpgtd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pcmpgtud(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_packsswb(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_packssdw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_packssqd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_packuswb(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_packusdw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_packusqd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_punpckhbw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_punpckhwd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_punpckhdq(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_punpcklbw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_punpcklwd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_punpckldq(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_punpckehsbw(unsigned __int64 m1))
-    __MACHINECC(unsigned __int64 _m_punpckehswd(unsigned __int64 m1))
-    __MACHINECC(unsigned __int64 _m_punpckehsdq(unsigned __int64 m1))
-    __MACHINECC(unsigned __int64 _m_punpckehubw(unsigned __int64 m1))
-    __MACHINECC(unsigned __int64 _m_punpckehuwd(unsigned __int64 m1))
-    __MACHINECC(unsigned __int64 _m_punpckehudq(unsigned __int64 m1))
-    __MACHINECC(unsigned __int64 _m_punpckelsbw(unsigned __int64 m1))
-    __MACHINECC(unsigned __int64 _m_punpckelswd(unsigned __int64 m1))
-    __MACHINECC(unsigned __int64 _m_punpckelsdq(unsigned __int64 m1))
-    __MACHINECC(unsigned __int64 _m_punpckelubw(unsigned __int64 m1))
-    __MACHINECC(unsigned __int64 _m_punpckeluwd(unsigned __int64 m1))
-    __MACHINECC(unsigned __int64 _m_punpckeludq(unsigned __int64 m1))
-    __MACHINECC(unsigned __int64 _mm_setzero_si64())
-    __MACHINECC(unsigned __int64 _mm_set_pi32(int i1,int i0))
-    __MACHINECC(unsigned __int64 _mm_set_pi16(short s3,short s2,short s1,short s0))
-    __MACHINECC(unsigned __int64 _mm_set_pi8(char b7,char b6,char b5,char b4,char b3,char b2,char b1,char b0))
-    __MACHINECC(unsigned __int64 _mm_set1_pi32(int i))
-    __MACHINECC(unsigned __int64 _mm_set1_pi16(short s))
-    __MACHINECC(unsigned __int64 _mm_set1_pi8(char b))
-    __MACHINECC(unsigned __int64 _mm_setr_pi32(int i1,int i0))
-    __MACHINECC(unsigned __int64 _mm_setr_pi16(short s3,short s2,short s1,short s0))
-    __MACHINECC(unsigned __int64 _mm_setr_pi8(char b7,char b6,char b5,char b4,char b3,char b2,char b1,char b0))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddb(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddsb(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddsw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddsd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddusb(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddusw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paddusd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubb(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubsb(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubsw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubsd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubusb(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubusw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psubusd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaddwd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmadduwd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmulhw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmulhuw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmullw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmullw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmacsw(unsigned __int64 m1,unsigned __int64 m2,unsigned __int64 m3))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmacuw(unsigned __int64 m1,unsigned __int64 m2,unsigned __int64 m3))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmacszw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_padduzw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paccb(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paccw(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paccd(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmia(unsigned __int64 m1,int i1,int i0))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmiaph(unsigned __int64 m1,int i1,int i0))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmiabb(unsigned __int64 m1,int i1,int i0))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmiabt(unsigned __int64 m1,int i1,int i0))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmiatb(unsigned __int64 m1,int i1,int i0))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmiatt(unsigned __int64 m1,int i1,int i0))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psllw(unsigned __int64 m1,unsigned __int64 count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psllwi(unsigned __int64 m1,int count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pslld(unsigned __int64 m1,unsigned __int64 count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pslldi(unsigned __int64 m1,int count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psllq(unsigned __int64 m1,unsigned __int64 count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psllqi(unsigned __int64 m1,int count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psraw(unsigned __int64 m1,unsigned __int64 count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrawi(unsigned __int64 m1,int count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrad(unsigned __int64 m1,unsigned __int64 count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psradi(unsigned __int64 m1,int count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psraq(unsigned __int64 m1,unsigned __int64 count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psraqi(unsigned __int64 m1,int count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrlw(unsigned __int64 m1,unsigned __int64 count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrlwi(unsigned __int64 m1,int count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrld(unsigned __int64 m1,unsigned __int64 count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrldi(unsigned __int64 m1,int count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrlq(unsigned __int64 m1,unsigned __int64 count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psrlqi(unsigned __int64 m1,int count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prorw(unsigned __int64 m1,unsigned __int64 count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prorwi(unsigned __int64 m1,int count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prord(unsigned __int64 m1,unsigned __int64 count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prordi(unsigned __int64 m1,int count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prorq(unsigned __int64 m1,unsigned __int64 count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_prorqi(unsigned __int64 m1,int count))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pand(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pandn(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_por(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pxor(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpeqb(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpeqw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpeqd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtb(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtub(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtuw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pcmpgtud(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packsswb(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packssdw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packssqd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packuswb(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packusdw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_packusqd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckhbw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckhwd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckhdq(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpcklbw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpcklwd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckldq(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehsbw(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehswd(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehsdq(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehubw(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehuwd(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckehudq(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckelsbw(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckelswd(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckelsdq(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckelubw(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckeluwd(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_punpckeludq(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_setzero_si64())
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set_pi32(int i1,int i0))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set_pi16(short s3,short s2,short s1,short s0))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set_pi8(char b7,char b6,char b5,char b4,char b3,char b2,char b1,char b0))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set1_pi32(int i))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set1_pi16(short s))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_set1_pi8(char b))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_setr_pi32(int i1,int i0))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_setr_pi16(short s3,short s2,short s1,short s0))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _mm_setr_pi8(char b7,char b6,char b5,char b4,char b3,char b2,char b1,char b0))
     __MACHINECC(void _mm_setwcx(int i1,int i0))
     __MACHINECC(int _mm_getwcx(int i))
-    __MACHINECC(int _m_pextrb(unsigned __int64 m1,const int c))
-    __MACHINECC(int _m_pextrw(unsigned __int64 m1,const int c))
-    __MACHINECC(int _m_pextrd(unsigned __int64 m1,const int c))
-    __MACHINECC(unsigned int _m_pextrub(unsigned __int64 m1,const int c))
-    __MACHINECC(unsigned int _m_pextruw(unsigned __int64 m1,const int c))
-    __MACHINECC(unsigned int _m_pextrud(unsigned __int64 m1,const int c))
-    __MACHINECC(unsigned __int64 _m_pinsrb(unsigned __int64 m1,int i,const int c))
-    __MACHINECC(unsigned __int64 _m_pinsrw(unsigned __int64 m1,int i,const int c))
-    __MACHINECC(unsigned __int64 _m_pinsrd(unsigned __int64 m1,int i,const int c))
-    __MACHINECC(unsigned __int64 _m_pmaxsb(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pmaxsw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pmaxsd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pmaxub(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pmaxuw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pmaxud(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pminsb(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pminsw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pminsd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pminub(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pminuw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pminud(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(int _m_pmovmskb(unsigned __int64 m1))
-    __MACHINECC(int _m_pmovmskw(unsigned __int64 m1))
-    __MACHINECC(int _m_pmovmskd(unsigned __int64 m1))
-    __MACHINECC(unsigned __int64 _m_pshufw(unsigned __int64 m1,int i))
-    __MACHINECC(unsigned __int64 _m_pavgb(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pavgw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pavg2b(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_pavg2w(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_psadbw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_psadwd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_psadzbw(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_psadzwd(unsigned __int64 m1,unsigned __int64 m2))
-    __MACHINECC(unsigned __int64 _m_paligniq(unsigned __int64 m1,unsigned __int64 m2,int i))
-    __MACHINECC(unsigned __int64 _m_cvt_si2pi(__int64 i))
-    __MACHINECC(__int64 _m_cvt_pi2si(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION int _m_pextrb(unsigned __int64 m1,const int c))
+    __MACHINECC(__MINGW_EXTENSION int _m_pextrw(unsigned __int64 m1,const int c))
+    __MACHINECC(__MINGW_EXTENSION int _m_pextrd(unsigned __int64 m1,const int c))
+    __MACHINECC(__MINGW_EXTENSION unsigned int _m_pextrub(unsigned __int64 m1,const int c))
+    __MACHINECC(__MINGW_EXTENSION unsigned int _m_pextruw(unsigned __int64 m1,const int c))
+    __MACHINECC(__MINGW_EXTENSION unsigned int _m_pextrud(unsigned __int64 m1,const int c))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pinsrb(unsigned __int64 m1,int i,const int c))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pinsrw(unsigned __int64 m1,int i,const int c))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pinsrd(unsigned __int64 m1,int i,const int c))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxsb(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxsw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxsd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxub(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxuw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pmaxud(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminsb(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminsw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminsd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminub(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminuw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pminud(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION int _m_pmovmskb(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION int _m_pmovmskw(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION int _m_pmovmskd(unsigned __int64 m1))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pshufw(unsigned __int64 m1,int i))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pavgb(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pavgw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pavg2b(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_pavg2w(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psadbw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psadwd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psadzbw(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_psadzwd(unsigned __int64 m1,unsigned __int64 m2))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_paligniq(unsigned __int64 m1,unsigned __int64 m2,int i))
+    __MACHINECC(__MINGW_EXTENSION unsigned __int64 _m_cvt_si2pi(__int64 i))
+    __MACHINECC(__MINGW_EXTENSION __int64 _m_cvt_pi2si(unsigned __int64 m1))
     __MACHINEIW64(void __nvreg_save_fence(void))
     __MACHINEIW64(void __nvreg_restore_fence(void))
 
     __MACHINEX64(short _InterlockedCompareExchange16_np(short volatile *Destination,short Exchange,short Comparand))
     __MACHINEX64(long _InterlockedCompareExchange_np (long *,long,long))
-    __MACHINEX64(__int64 _InterlockedCompareExchange64_np(__int64 *,__int64,__int64))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompareExchange64_np(__int64 *,__int64,__int64))
     __MACHINEX64(void *_InterlockedCompareExchangePointer_np (void **,void *,void *))
-    __MACHINEX64(__int64 _InterlockedCompare64Exchange128_np(__int64 *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
-    __MACHINEX64(__int64 _InterlockedCompare64Exchange128_acq_np(__int64 *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
-    __MACHINEX64(__int64 _InterlockedCompare64Exchange128_rel_np(__int64 *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_np(__int64 *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_acq_np(__int64 *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedCompare64Exchange128_rel_np(__int64 *Destination,__int64 ExchangeHigh,__int64 ExchangeLow,__int64 Comparand))
     __MACHINEX64(long _InterlockedAnd_np(long *,long))
     __MACHINEX64(char _InterlockedAnd8_np(char *,char))
     __MACHINEX64(short _InterlockedAnd16_np(short *,short))
-    __MACHINEX64(__int64 _InterlockedAnd64_np(__int64 *,__int64))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedAnd64_np(__int64 *,__int64))
     __MACHINEX64(long _InterlockedOr_np(long *,long))
     __MACHINEX64(char _InterlockedOr8_np(char *,char))
     __MACHINEX64(short _InterlockedOr16_np(short *,short))
-    __MACHINEX64(__int64 _InterlockedOr64_np(__int64 *,__int64))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedOr64_np(__int64 *,__int64))
     __MACHINEX64(long _InterlockedXor_np(long *,long))
     __MACHINEX64(char _InterlockedXor8_np(char *,char))
     __MACHINEX64(short _InterlockedXor16_np(short *,short))
-    __MACHINEX64(__int64 _InterlockedXor64_np(__int64 *,__int64))
+    __MACHINEX64(__MINGW_EXTENSION __int64 _InterlockedXor64_np(__int64 *,__int64))
 
 #if defined(__ia64__)
 
diff --git a/mingw-w64-headers/include/io.h b/mingw-w64-headers/include/io.h
index a49d3d7..db0be14 100644
--- a/mingw-w64-headers/include/io.h
+++ b/mingw-w64-headers/include/io.h
@@ -37,7 +37,7 @@
     __time32_t time_create;
     __time32_t time_access;
     __time32_t time_write;
-    __int64 size;
+    __MINGW_EXTENSION __int64 size;
     char name[260];
   };
 
@@ -55,7 +55,7 @@
     __time64_t time_create;
     __time64_t time_access;
     __time64_t time_write;
-    __int64 size;
+    __MINGW_EXTENSION __int64 size;
     char name[260];
   };
 
@@ -96,7 +96,7 @@
     __time32_t time_create;
     __time32_t time_access;
     __time32_t time_write;
-    __int64 size;
+    __MINGW_EXTENSION __int64 size;
     wchar_t name[260];
   };
 
@@ -114,7 +114,7 @@
     __time64_t time_create;
     __time64_t time_access;
     __time64_t time_write;
-    __int64 size;
+    __MINGW_EXTENSION __int64 size;
     wchar_t name[260];
   };
 
@@ -153,7 +153,7 @@
 #if defined(__GNUC__) && defined(__STRICT_ANSI__)
   typedef unsigned int size_t __attribute__ ((__mode__ (DI)));
 #else
-  typedef unsigned __int64 size_t;
+  __MINGW_EXTENSION typedef unsigned __int64 size_t;
 #endif
 #else
   typedef unsigned int size_t;
@@ -167,7 +167,7 @@
 #if defined(__GNUC__) && defined(__STRICT_ANSI__)
   typedef int ssize_t __attribute__ ((__mode__ (DI)));
 #else
-  typedef __int64 ssize_t;
+  __MINGW_EXTENSION typedef __int64 ssize_t;
 #endif
 #else
   typedef int ssize_t;
@@ -193,9 +193,9 @@
   typedef int off64_t __attribute__ ((__mode__ (DI)));
 #endif
 #else
-  typedef long long _off64_t;
+  __MINGW_EXTENSION typedef long long _off64_t;
 #if !defined(NO_OLDNAMES) || defined(_POSIX)
-  typedef long long off64_t;
+  __MINGW_EXTENSION typedef long long off64_t;
 #endif
 #endif
 #endif
@@ -243,7 +243,7 @@
   _CRTIMP int __cdecl _umask(int _Mode);
   _CRTIMP int __cdecl _write(int _FileHandle,const void *_Buf,unsigned int _MaxCharCount);
 
-  _CRTIMP __int64 __cdecl _filelengthi64(int _FileHandle);
+  __MINGW_EXTENSION _CRTIMP __int64 __cdecl _filelengthi64(int _FileHandle);
   _CRTIMP intptr_t __cdecl _findfirst32i64(const char *_Filename,struct _finddata32i64_t *_FindData);
   _CRTIMP intptr_t __cdecl _findfirst64(const char *_Filename,struct __finddata64_t *_FindData);
 #ifdef __cplusplus
@@ -289,8 +289,8 @@
     return ret;
   }
 #endif /* __CRT__NO_INLINE */
-  __int64 __cdecl _lseeki64(int _FileHandle,__int64 _Offset,int _Origin);
-  __int64 __cdecl _telli64(int _FileHandle);
+  __MINGW_EXTENSION __int64 __cdecl _lseeki64(int _FileHandle,__int64 _Offset,int _Origin);
+  __MINGW_EXTENSION __int64 __cdecl _telli64(int _FileHandle);
 
 #ifndef NO_OLDNAMES
 #ifndef _UWIN
diff --git a/mingw-w64-headers/include/math.h b/mingw-w64-headers/include/math.h
index 1676521..f414eb1 100644
--- a/mingw-w64-headers/include/math.h
+++ b/mingw-w64-headers/include/math.h
@@ -624,9 +624,9 @@
 extern long __cdecl lrintf (float);
 extern long __cdecl lrintl (long double);
 
-extern long long __cdecl llrint (double);
-extern long long __cdecl llrintf (float);
-extern long long __cdecl llrintl (long double);
+extern __MINGW_EXTENSION long long __cdecl llrint (double);
+extern __MINGW_EXTENSION long long __cdecl llrintf (float);
+extern __MINGW_EXTENSION long long __cdecl llrintl (long double);
 
 /* Inline versions of above. 
    GCC 4.0+ can do a better fast-math job with __builtins. */
@@ -678,25 +678,25 @@
       return retval;
   }
 
-  __CRT_INLINE long long __cdecl llrint (double x) 
+  __MINGW_EXTENSION __CRT_INLINE long long __cdecl llrint (double x) 
   {
-    long long retval = 0ll;
+    __MINGW_EXTENSION long long retval = 0ll;
     __asm__ __volatile__							      \
       ("fistpll %0"  : "=m" (retval) : "t" (x) : "st");				      \
       return retval;
   }
 
-  __CRT_INLINE long long __cdecl llrintf (float x) 
+  __MINGW_EXTENSION __CRT_INLINE long long __cdecl llrintf (float x) 
   {
-    long long retval = 0ll;
+    __MINGW_EXTENSION long long retval = 0ll;
     __asm__ __volatile__							      \
       ("fistpll %0"  : "=m" (retval) : "t" (x) : "st");				      \
       return retval;
   }
 
-  __CRT_INLINE long long __cdecl llrintl (long double x) 
+  __MINGW_EXTENSION __CRT_INLINE long long __cdecl llrintl (long double x) 
   {
-    long long retval = 0ll;
+    __MINGW_EXTENSION long long retval = 0ll;
     __asm__ __volatile__							      \
       ("fistpll %0"  : "=m" (retval) : "t" (x) : "st");				      \
       return retval;
@@ -715,9 +715,9 @@
   extern long __cdecl lroundf (float);
   extern long __cdecl lroundl (long double);
 
-  extern long long __cdecl llround (double);
-  extern long long __cdecl llroundf (float);
-  extern long long __cdecl llroundl (long double);
+  extern __MINGW_EXTENSION long long __cdecl llround (double);
+  extern __MINGW_EXTENSION long long __cdecl llroundf (float);
+  extern __MINGW_EXTENSION long long __cdecl llroundl (long double);
 
 /* 7.12.9.8 */
 /* round towards zero, regardless of fpu control word settings */
diff --git a/mingw-w64-headers/include/mlang.h b/mingw-w64-headers/include/mlang.h
index 79447f9..92f1f8c 100644
--- a/mingw-w64-headers/include/mlang.h
+++ b/mingw-w64-headers/include/mlang.h
@@ -638,7 +638,7 @@
 #define MAX_SCRIPT_NAME (48)
 
   typedef BYTE SCRIPT_ID;
-  typedef __int64 SCRIPT_IDS;
+  __MINGW_EXTENSION typedef __int64 SCRIPT_IDS;
 
   typedef enum tagSCRIPTCONTF {
     sidDefault = 0,sidMerge = sidDefault + 1,sidAsciiSym = sidMerge + 1,sidAsciiLatin = sidAsciiSym + 1,sidLatin = sidAsciiLatin + 1,
diff --git a/mingw-w64-headers/include/ndr64types.h b/mingw-w64-headers/include/ndr64types.h
index 6de16ea..f827f67 100644
--- a/mingw-w64-headers/include/ndr64types.h
+++ b/mingw-w64-headers/include/ndr64types.h
@@ -16,12 +16,12 @@
 typedef unsigned __int8 NDR64_UINT8;
 typedef unsigned __int16 NDR64_UINT16;
 typedef unsigned __int32 NDR64_UINT32;
-typedef unsigned __int64 NDR64_UINT64;
+__MINGW_EXTENSION typedef unsigned __int64 NDR64_UINT64;
 
 typedef __int8 NDR64_INT8;
 typedef __int16 NDR64_INT16;
 typedef __int32 NDR64_INT32;
-typedef __int64 NDR64_INT64;
+__MINGW_EXTENSION typedef __int64 NDR64_INT64;
 
 typedef NDR64_UINT8 NDR64_FORMAT_CHAR;
 typedef const void *PNDR64_FORMAT;
diff --git a/mingw-w64-headers/include/netmon.h b/mingw-w64-headers/include/netmon.h
index 47776ee..c774ab3 100644
--- a/mingw-w64-headers/include/netmon.h
+++ b/mingw-w64-headers/include/netmon.h
@@ -85,7 +85,7 @@
 #define TRANSMITSTATS_SIZE (sizeof(TRANSMITSTATS))
 
   typedef struct _STATISTICS {
-    __int64 TimeElapsed;
+    __MINGW_EXTENSION __int64 TimeElapsed;
     DWORD TotalFramesCaptured;
     DWORD TotalBytesCaptured;
     DWORD TotalFramesFiltered;
@@ -100,7 +100,7 @@
     DWORD TotalFramesDroppedFromBuffer;
     DWORD MacFramesReceived;
     DWORD MacCRCErrors;
-    __int64 MacBytesReceivedEx;
+    __MINGW_EXTENSION __int64 MacBytesReceivedEx;
     DWORD MacFramesDropped_NoBuffers;
     DWORD MacMulticastsReceived;
     DWORD MacBroadcastsReceived;
@@ -396,7 +396,7 @@
 #define CAPTUREFILTER_SIZE sizeof(CAPTUREFILTER)
 
   typedef struct _FRAME {
-    __int64 TimeStamp;
+    __MINGW_EXTENSION __int64 TimeStamp;
     DWORD FrameLength;
     DWORD nBytesAvail;
     BYTE MacFrame[1];
@@ -415,7 +415,7 @@
 
   typedef struct _FRAME_DESCRIPTOR {
     LPBYTE FramePointer;
-    __int64 TimeStamp;
+    __MINGW_EXTENSION __int64 TimeStamp;
     DWORD FrameLength;
     DWORD nBytesAvail;
     WORD Etype;
@@ -563,12 +563,12 @@
 #define UPDATE_ACTION_PAUSE_CAPTURE (0x3)
 #define UPDATE_ACTION_RTC_BUFFER_SWITCH (0x4)
 
-  typedef struct _UPDATE_EVENT {
+  __MINGW_EXTENSION typedef struct _UPDATE_EVENT {
     USHORT Event;
     DWORD Action;
     DWORD Status;
     DWORD Value;
-    __int64 TimeStamp;
+    __MINGW_EXTENSION __int64 TimeStamp;
     DWORD_PTR lpUserContext;
     DWORD_PTR lpReserved;
     UINT FramesDropped;
@@ -718,7 +718,7 @@
 #define DEFAULT_FDDI_FC (0x10)
 
   typedef struct _FDDISTATFRAME {
-    __int64 TimeStamp;
+    __MINGW_EXTENSION __int64 TimeStamp;
     DWORD FrameLength;
     DWORD nBytesAvail;
     FDDIFRAMEHDR FrameHeader;
@@ -743,7 +743,7 @@
   } ATMFRAMEHDR;
 
   typedef struct _ATMSTATFRAME {
-    __int64 TimeStamp;
+    __MINGW_EXTENSION __int64 TimeStamp;
     DWORD FrameLength;
     DWORD nBytesAvail;
     ATMFRAMEHDR FrameHeader;
@@ -761,7 +761,7 @@
 #define ATMSTATFRAME_SIZE (sizeof(ATMSTATFRAME))
 
   typedef struct _TRSTATFRAME {
-    __int64 TimeStamp;
+    __MINGW_EXTENSION __int64 TimeStamp;
     DWORD FrameLength;
     DWORD nBytesAvail;
     TRFRAMEHDR FrameHeader;
@@ -779,7 +779,7 @@
 #define TRSTATFRAME_SIZE (sizeof(TRSTATFRAME))
 
   typedef struct _ESTATFRAME {
-    __int64 TimeStamp;
+    __MINGW_EXTENSION __int64 TimeStamp;
     DWORD FrameLength;
     DWORD nBytesAvail;
     EFRAMEHDR FrameHeader;
@@ -2246,9 +2246,9 @@
   DWORD WINAPI GetFrameMacType(HFRAME hFrame);
   DWORD WINAPI GetFrameMacHeaderLength(HFRAME hFrame);
   DWORD WINAPI GetFrameNumber(HFRAME hFrame);
-  __int64 WINAPI GetFrameTimeStamp(HFRAME hFrame);
+  __MINGW_EXTENSION __int64 WINAPI GetFrameTimeStamp(HFRAME hFrame);
   ULPFRAME WINAPI GetFrameFromFrameHandle(HFRAME hFrame);
-  HFRAME WINAPI ModifyFrame(HCAPTURE hCapture,DWORD FrameNumber,LPBYTE FrameData,DWORD FrameLength,__int64 TimeStamp);
+  __MINGW_EXTENSION HFRAME WINAPI ModifyFrame(HCAPTURE hCapture,DWORD FrameNumber,LPBYTE FrameData,DWORD FrameLength,__int64 TimeStamp);
   HFRAME WINAPI FindNextFrame(HFRAME hCurrentFrame,LPSTR ProtocolName,LPADDRESS2 lpDestAddress,LPADDRESS2 lpSrcAddress,LPWORD ProtocolOffset,DWORD OriginalFrameNumber,DWORD nHighestFrame);
   HFRAME WINAPI FindPreviousFrame(HFRAME hCurrentFrame,LPSTR ProtocolName,LPADDRESS2 lpDstAddress,LPADDRESS2 lpSrcAddress,LPWORD ProtocolOffset,DWORD OriginalFrameNumber,DWORD nLowestFrame);
   HCAPTURE WINAPI GetFrameCaptureHandle(HFRAME);
@@ -2276,7 +2276,7 @@
   DWORD WINAPI GetCaptureCommentFromFilename(LPSTR lpFilename,LPSTR lpComment,DWORD BufferSize);
   int WINAPI CompareAddresses(LPADDRESS2 lpAddress1,LPADDRESS2 lpAddress2);
   DWORD WINAPIV FormatPropertyInstance(LPPROPERTYINST lpPropertyInst,...);
-  SYSTEMTIME *WINAPI AdjustSystemTime(SYSTEMTIME *SystemTime,__int64 TimeDelta);
+  __MINGW_EXTENSION SYSTEMTIME *WINAPI AdjustSystemTime(SYSTEMTIME *SystemTime,__int64 TimeDelta);
   LPSTR WINAPI NMRtlIpv6AddressToStringA(const BYTE IP6Addr[],LPSTR S);
   LPWSTR WINAPI NMRtlIpv6AddressToStringW(const BYTE IP6Addr[],LPWSTR S);
   ULONG WINAPI NMRtlIpv6StringToAddressA(LPCSTR S,LPCSTR *Terminator,BYTE IP6Addr[]);
diff --git a/mingw-w64-headers/include/rpcndr.h b/mingw-w64-headers/include/rpcndr.h
index 740bf6f..ef6e0fc 100644
--- a/mingw-w64-headers/include/rpcndr.h
+++ b/mingw-w64-headers/include/rpcndr.h
@@ -53,8 +53,8 @@
 
 #ifndef _HYPER_DEFINED
 #define _HYPER_DEFINED
-#define hyper __int64
-#define MIDL_uhyper unsigned __int64
+#define hyper /* __MINGW_EXTENSION */ __int64
+#define MIDL_uhyper /* __MINGW_EXTENSION */ unsigned __int64
 #endif
 
 #ifndef _WCHAR_T_DEFINED
@@ -69,7 +69,7 @@
 #if defined(__GNUC__) && defined(__STRICT_ANSI__)
   typedef unsigned int size_t __attribute__ ((__mode__ (DI)));
 #else
-  typedef unsigned __int64 size_t;
+  __MINGW_EXTENSION typedef unsigned __int64 size_t;
 #endif
 #else
   typedef unsigned int size_t;
@@ -83,7 +83,7 @@
 #if defined(__GNUC__) && defined(__STRICT_ANSI__)
   typedef int ssize_t __attribute__ ((__mode__ (DI)));
 #else
-  typedef __int64 ssize_t;
+  __MINGW_EXTENSION typedef __int64 ssize_t;
 #endif
 #else
   typedef int ssize_t;
diff --git a/mingw-w64-headers/include/setjmp.h b/mingw-w64-headers/include/setjmp.h
index b17dd6b..d01cdcb 100644
--- a/mingw-w64-headers/include/setjmp.h
+++ b/mingw-w64-headers/include/setjmp.h
@@ -34,8 +34,8 @@
   } _JUMP_BUFFER;
 #elif defined(__ia64__)
   typedef _CRT_ALIGN(16) struct _SETJMP_FLOAT128 {
-    __int64 LowPart;
-    __int64 HighPart;
+    __MINGW_EXTENSION __int64 LowPart;
+    __MINGW_EXTENSION __int64 HighPart;
   } SETJMP_FLOAT128;
 
 #define _JBLEN 33
@@ -72,47 +72,47 @@
     SETJMP_FLOAT128 FltS17;
     SETJMP_FLOAT128 FltS18;
     SETJMP_FLOAT128 FltS19;
-    __int64 FPSR;
-    __int64 StIIP;
-    __int64 BrS0;
-    __int64 BrS1;
-    __int64 BrS2;
-    __int64 BrS3;
-    __int64 BrS4;
-    __int64 IntS0;
-    __int64 IntS1;
-    __int64 IntS2;
-    __int64 IntS3;
-    __int64 RsBSP;
-    __int64 RsPFS;
-    __int64 ApUNAT;
-    __int64 ApLC;
-    __int64 IntSp;
-    __int64 IntNats;
-    __int64 Preds;
+    __MINGW_EXTENSION __int64 FPSR;
+    __MINGW_EXTENSION __int64 StIIP;
+    __MINGW_EXTENSION __int64 BrS0;
+    __MINGW_EXTENSION __int64 BrS1;
+    __MINGW_EXTENSION __int64 BrS2;
+    __MINGW_EXTENSION __int64 BrS3;
+    __MINGW_EXTENSION __int64 BrS4;
+    __MINGW_EXTENSION __int64 IntS0;
+    __MINGW_EXTENSION __int64 IntS1;
+    __MINGW_EXTENSION __int64 IntS2;
+    __MINGW_EXTENSION __int64 IntS3;
+    __MINGW_EXTENSION __int64 RsBSP;
+    __MINGW_EXTENSION __int64 RsPFS;
+    __MINGW_EXTENSION __int64 ApUNAT;
+    __MINGW_EXTENSION __int64 ApLC;
+    __MINGW_EXTENSION __int64 IntSp;
+    __MINGW_EXTENSION __int64 IntNats;
+    __MINGW_EXTENSION __int64 Preds;
 
   } _JUMP_BUFFER;
 #elif defined(__x86_64)
   typedef _CRT_ALIGN(16) struct _SETJMP_FLOAT128 {
-    unsigned __int64 Part[2];
+    __MINGW_EXTENSION unsigned __int64 Part[2];
   } SETJMP_FLOAT128;
 
 #define _JBLEN 16
   typedef SETJMP_FLOAT128 _JBTYPE;
 
   typedef struct _JUMP_BUFFER {
-    unsigned __int64 Frame;
-    unsigned __int64 Rbx;
-    unsigned __int64 Rsp;
-    unsigned __int64 Rbp;
-    unsigned __int64 Rsi;
-    unsigned __int64 Rdi;
-    unsigned __int64 R12;
-    unsigned __int64 R13;
-    unsigned __int64 R14;
-    unsigned __int64 R15;
-    unsigned __int64 Rip;
-    unsigned __int64 Spare;
+    __MINGW_EXTENSION unsigned __int64 Frame;
+    __MINGW_EXTENSION unsigned __int64 Rbx;
+    __MINGW_EXTENSION unsigned __int64 Rsp;
+    __MINGW_EXTENSION unsigned __int64 Rbp;
+    __MINGW_EXTENSION unsigned __int64 Rsi;
+    __MINGW_EXTENSION unsigned __int64 Rdi;
+    __MINGW_EXTENSION unsigned __int64 R12;
+    __MINGW_EXTENSION unsigned __int64 R13;
+    __MINGW_EXTENSION unsigned __int64 R14;
+    __MINGW_EXTENSION unsigned __int64 R15;
+    __MINGW_EXTENSION unsigned __int64 Rip;
+    __MINGW_EXTENSION unsigned __int64 Spare;
     SETJMP_FLOAT128 Xmm6;
     SETJMP_FLOAT128 Xmm7;
     SETJMP_FLOAT128 Xmm8;
diff --git a/mingw-w64-headers/include/shellapi.h b/mingw-w64-headers/include/shellapi.h
index 6844dbf..a06223d 100644
--- a/mingw-w64-headers/include/shellapi.h
+++ b/mingw-w64-headers/include/shellapi.h
@@ -374,8 +374,8 @@
 
   typedef struct _SHQUERYRBINFO {
     DWORD cbSize;
-    __int64 i64Size;
-    __int64 i64NumItems;
+    __MINGW_EXTENSION __int64 i64Size;
+    __MINGW_EXTENSION __int64 i64NumItems;
   } SHQUERYRBINFO,*LPSHQUERYRBINFO;
 
 #define SHERB_NOCONFIRMATION 0x00000001
diff --git a/mingw-w64-headers/include/sqltypes.h b/mingw-w64-headers/include/sqltypes.h
index 4af7024..9ac7f79 100644
--- a/mingw-w64-headers/include/sqltypes.h
+++ b/mingw-w64-headers/include/sqltypes.h
@@ -183,11 +183,9 @@
 #endif
 
 #if (ODBCVER >= 0x0300)
-#define ODBCINT64 __int64
-#ifdef ODBCINT64
-  typedef ODBCINT64 SQLBIGINT;
-  typedef unsigned ODBCINT64 SQLUBIGINT;
-#endif
+#define ODBCINT64 /* __MINGW_EXTENSION */ __int64
+  __MINGW_EXTENSION typedef ODBCINT64 SQLBIGINT;
+  __MINGW_EXTENSION typedef unsigned ODBCINT64 SQLUBIGINT;
 #endif
 
 #if (ODBCVER >= 0x0300)
diff --git a/mingw-w64-headers/include/sspi.h b/mingw-w64-headers/include/sspi.h
index cdd3740..446f8f1 100644
--- a/mingw-w64-headers/include/sspi.h
+++ b/mingw-w64-headers/include/sspi.h
@@ -87,7 +87,7 @@
   typedef PSecHandle PCtxtHandle;
 
 #ifdef WIN32_CHICAGO
-  typedef unsigned __int64 QWORD;
+  __MINGW_EXTENSION typedef unsigned __int64 QWORD;
   typedef QWORD SECURITY_INTEGER,*PSECURITY_INTEGER;
 #define SEC_SUCCESS(Status) ((Status) >= 0)
 #elif defined(_NTDEF_) || defined(_WINNT_)
diff --git a/mingw-w64-headers/include/stddef.h b/mingw-w64-headers/include/stddef.h
index 2b4033e..621ce4a 100644
--- a/mingw-w64-headers/include/stddef.h
+++ b/mingw-w64-headers/include/stddef.h
@@ -148,7 +148,7 @@
 #endif
 #ifndef _PTRDIFF_T_DEFINED
 #define _PTRDIFF_T_DEFINED
-typedef __PTRDIFF_TYPE__ ptrdiff_t;
+__MINGW_EXTENSION typedef __PTRDIFF_TYPE__ ptrdiff_t;
 #endif
 #endif /* _GCC_PTRDIFF_T */
 #endif /* ___int_ptrdiff_t_h */
@@ -215,7 +215,7 @@
 #endif
 #endif
 #if !(defined (__GNUG__) && defined (size_t))
-typedef __SIZE_TYPE__ size_t;
+__MINGW_EXTENSION typedef __SIZE_TYPE__ size_t;
 #ifdef __BEOS__
 typedef long ssize_t;
 #endif /* __BEOS__ */
diff --git a/mingw-w64-headers/include/stdint.h b/mingw-w64-headers/include/stdint.h
index 7a2ba1c..7e349ee 100644
--- a/mingw-w64-headers/include/stdint.h
+++ b/mingw-w64-headers/include/stdint.h
@@ -38,8 +38,8 @@
 typedef unsigned short  uint16_t;
 typedef int  int32_t;
 typedef unsigned   uint32_t;
-typedef long long  int64_t;
-typedef unsigned long long   uint64_t;
+__MINGW_EXTENSION typedef long long  int64_t;
+__MINGW_EXTENSION typedef unsigned long long   uint64_t;
 
 /* 7.18.1.2  Minimum-width integer types */
 typedef signed char int_least8_t;
@@ -48,8 +48,8 @@
 typedef unsigned short  uint_least16_t;
 typedef int  int_least32_t;
 typedef unsigned   uint_least32_t;
-typedef long long  int_least64_t;
-typedef unsigned long long   uint_least64_t;
+__MINGW_EXTENSION typedef long long  int_least64_t;
+__MINGW_EXTENSION typedef unsigned long long   uint_least64_t;
 
 /*  7.18.1.3  Fastest minimum-width integer types
  *  Not actually guaranteed to be fastest for all purposes
@@ -61,12 +61,12 @@
 typedef unsigned short  uint_fast16_t;
 typedef int  int_fast32_t;
 typedef unsigned  int  uint_fast32_t;
-typedef long long  int_fast64_t;
-typedef unsigned long long   uint_fast64_t;
+__MINGW_EXTENSION typedef long long  int_fast64_t;
+__MINGW_EXTENSION typedef unsigned long long   uint_fast64_t;
 
 /* 7.18.1.5  Greatest-width integer types */
-typedef long long  intmax_t;
-typedef unsigned long long   uintmax_t;
+__MINGW_EXTENSION typedef long long  intmax_t;
+__MINGW_EXTENSION typedef unsigned long long   uintmax_t;
 
 /* 7.18.2  Limits of specified-width integer types */
 #if !defined ( __cplusplus) || defined (__STDC_LIMIT_MACROS)
diff --git a/mingw-w64-headers/include/stdio.h b/mingw-w64-headers/include/stdio.h
index dd3f65f..9a9b1cc 100644
--- a/mingw-w64-headers/include/stdio.h
+++ b/mingw-w64-headers/include/stdio.h
@@ -90,9 +90,9 @@
 
 #ifndef _OFF64_T_DEFINED
 #define _OFF64_T_DEFINED
-  typedef long long _off64_t;
+  __MINGW_EXTENSION typedef long long _off64_t;
 #if !defined(NO_OLDNAMES) || defined(_POSIX)
-  typedef long long off64_t;
+  __MINGW_EXTENSION typedef long long off64_t;
 #endif
 #endif
 
@@ -117,10 +117,10 @@
 #undef _FPOSOFF
 
 #if (!defined(NO_OLDNAMES) || defined(__GNUC__))
-  typedef __int64 fpos_t;
+  __MINGW_EXTENSION typedef __int64 fpos_t;
 #define _FPOSOFF(fp) ((long)(fp))
 #else
-  typedef long long fpos_t;
+  __MINGW_EXTENSION typedef long long fpos_t;
 #define _FPOSOFF(fp) ((long)(fp))
 #endif
 
@@ -197,8 +197,8 @@
    int fseeko64(FILE* stream, _off64_t offset, int whence);
   long __cdecl ftell(FILE *_File);
   _off64_t ftello64(FILE * stream);
-  int __cdecl _fseeki64(FILE *_File,__int64 _Offset,int _Origin);
-  __int64 __cdecl _ftelli64(FILE *_File);
+  __MINGW_EXTENSION int __cdecl _fseeki64(FILE *_File,__int64 _Offset,int _Origin);
+  __MINGW_EXTENSION __int64 __cdecl _ftelli64(FILE *_File);
   size_t __cdecl fwrite(const void *_Str,size_t _Size,size_t _Count,FILE *_File);
   int __cdecl getc(FILE *_File);
   int __cdecl getchar(void);
@@ -419,8 +419,8 @@
   _CRTIMP size_t __cdecl _fread_nolock(void *_DstBuf,size_t _ElementSize,size_t _Count,FILE *_File);
   _CRTIMP int __cdecl _fseek_nolock(FILE *_File,long _Offset,int _Origin);
   _CRTIMP long __cdecl _ftell_nolock(FILE *_File);
-  _CRTIMP int __cdecl _fseeki64_nolock(FILE *_File,__int64 _Offset,int _Origin);
-  _CRTIMP __int64 __cdecl _ftelli64_nolock(FILE *_File);
+  __MINGW_EXTENSION _CRTIMP int __cdecl _fseeki64_nolock(FILE *_File,__int64 _Offset,int _Origin);
+  __MINGW_EXTENSION _CRTIMP __int64 __cdecl _ftelli64_nolock(FILE *_File);
   _CRTIMP size_t __cdecl _fwrite_nolock(const void *_DstBuf,size_t _Size,size_t _Count,FILE *_File);
   _CRTIMP int __cdecl _ungetc_nolock(int _Ch,FILE *_File);
 
diff --git a/mingw-w64-headers/include/stdlib.h b/mingw-w64-headers/include/stdlib.h
index 09f8710..5a5038a 100644
--- a/mingw-w64-headers/include/stdlib.h
+++ b/mingw-w64-headers/include/stdlib.h
@@ -330,7 +330,7 @@
   long __cdecl labs(long _X);
 #endif
 
-  __int64 __cdecl _abs64(__int64);
+  __MINGW_EXTENSION __int64 __cdecl _abs64(__int64);
   int __cdecl atexit(void (__cdecl *)(void));
 #ifndef _CRT_ATOF_DEFINED
 #define _CRT_ATOF_DEFINED
@@ -348,18 +348,18 @@
 #endif
   unsigned short __cdecl _byteswap_ushort(unsigned short _Short);
   /*unsigned long __cdecl _byteswap_ulong (unsigned long _Long); */
-  unsigned __int64 __cdecl _byteswap_uint64(unsigned __int64 _Int64);
+  __MINGW_EXTENSION unsigned __int64 __cdecl _byteswap_uint64(unsigned __int64 _Int64);
   div_t __cdecl div(int _Numerator,int _Denominator);
   char *__cdecl getenv(const char *_VarName);
   _CRTIMP char *__cdecl _itoa(int _Value,char *_Dest,int _Radix);
-  _CRTIMP char *__cdecl _i64toa(__int64 _Val,char *_DstBuf,int _Radix);
-  _CRTIMP char *__cdecl _ui64toa(unsigned __int64 _Val,char *_DstBuf,int _Radix);
-  _CRTIMP __int64 __cdecl _atoi64(const char *_String);
-  _CRTIMP __int64 __cdecl _atoi64_l(const char *_String,_locale_t _Locale);
-  _CRTIMP __int64 __cdecl _strtoi64(const char *_String,char **_EndPtr,int _Radix);
-  _CRTIMP __int64 __cdecl _strtoi64_l(const char *_String,char **_EndPtr,int _Radix,_locale_t _Locale);
-  _CRTIMP unsigned __int64 __cdecl _strtoui64(const char *_String,char **_EndPtr,int _Radix);
-  _CRTIMP unsigned __int64 __cdecl _strtoui64_l(const char *_String,char **_EndPtr,int _Radix,_locale_t _Locale);
+  __MINGW_EXTENSION _CRTIMP char *__cdecl _i64toa(__int64 _Val,char *_DstBuf,int _Radix);
+  __MINGW_EXTENSION _CRTIMP char *__cdecl _ui64toa(unsigned __int64 _Val,char *_DstBuf,int _Radix);
+  __MINGW_EXTENSION _CRTIMP __int64 __cdecl _atoi64(const char *_String);
+  __MINGW_EXTENSION _CRTIMP __int64 __cdecl _atoi64_l(const char *_String,_locale_t _Locale);
+  __MINGW_EXTENSION _CRTIMP __int64 __cdecl _strtoi64(const char *_String,char **_EndPtr,int _Radix);
+  __MINGW_EXTENSION _CRTIMP __int64 __cdecl _strtoi64_l(const char *_String,char **_EndPtr,int _Radix,_locale_t _Locale);
+  __MINGW_EXTENSION _CRTIMP unsigned __int64 __cdecl _strtoui64(const char *_String,char **_EndPtr,int _Radix);
+  __MINGW_EXTENSION _CRTIMP unsigned __int64 __cdecl _strtoui64_l(const char *_String,char **_EndPtr,int _Radix,_locale_t _Locale);
   ldiv_t __cdecl ldiv(long _Numerator,long _Denominator);
   _CRTIMP char *__cdecl _ltoa(long _Value,char *_Dest,int _Radix);
   int __cdecl mblen(const char *_Ch,size_t _MaxCount);
@@ -442,14 +442,14 @@
   _CRTIMP long __cdecl _wtol(const wchar_t *_Str);
   _CRTIMP long __cdecl _wtol_l(const wchar_t *_Str,_locale_t _Locale);
 
-  _CRTIMP wchar_t *__cdecl _i64tow(__int64 _Val,wchar_t *_DstBuf,int _Radix);
-  _CRTIMP wchar_t *__cdecl _ui64tow(unsigned __int64 _Val,wchar_t *_DstBuf,int _Radix);
-  _CRTIMP __int64 __cdecl _wtoi64(const wchar_t *_Str);
-  _CRTIMP __int64 __cdecl _wtoi64_l(const wchar_t *_Str,_locale_t _Locale);
-  _CRTIMP __int64 __cdecl _wcstoi64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
-  _CRTIMP __int64 __cdecl _wcstoi64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
-  _CRTIMP unsigned __int64 __cdecl _wcstoui64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
-  _CRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t *_Str ,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
+  __MINGW_EXTENSION _CRTIMP wchar_t *__cdecl _i64tow(__int64 _Val,wchar_t *_DstBuf,int _Radix);
+  __MINGW_EXTENSION _CRTIMP wchar_t *__cdecl _ui64tow(unsigned __int64 _Val,wchar_t *_DstBuf,int _Radix);
+  __MINGW_EXTENSION _CRTIMP __int64 __cdecl _wtoi64(const wchar_t *_Str);
+  __MINGW_EXTENSION _CRTIMP __int64 __cdecl _wtoi64_l(const wchar_t *_Str,_locale_t _Locale);
+  __MINGW_EXTENSION _CRTIMP __int64 __cdecl _wcstoi64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
+  __MINGW_EXTENSION _CRTIMP __int64 __cdecl _wcstoi64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
+  __MINGW_EXTENSION _CRTIMP unsigned __int64 __cdecl _wcstoui64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
+  __MINGW_EXTENSION _CRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t *_Str ,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
 #endif
 
 #ifndef _POSIX_
@@ -469,8 +469,8 @@
 #undef _lrotr
 #undef _lrotl
 #ifdef __x86_64__
-  unsigned long long __cdecl _lrotl(unsigned long long _Val,int _Shift);
-  unsigned long long __cdecl _lrotr(unsigned long long _Val,int _Shift);
+  __MINGW_EXTENSION unsigned long long __cdecl _lrotl(unsigned long long _Val,int _Shift);
+  __MINGW_EXTENSION unsigned long long __cdecl _lrotr(unsigned long long _Val,int _Shift);
 #else
   unsigned long __cdecl _lrotl(unsigned long _Val,int _Shift);
   unsigned long __cdecl _lrotr(unsigned long _Val,int _Shift);
@@ -490,8 +490,8 @@
 #pragma push_macro ("_rotl64")
 #undef _rotl64
 #undef _rotr64
-  unsigned __int64 __cdecl _rotl64(unsigned __int64 _Val,int _Shift);
-  unsigned __int64 __cdecl _rotr64(unsigned __int64 Value,int Shift);
+  __MINGW_EXTENSION unsigned __int64 __cdecl _rotl64(unsigned __int64 _Val,int _Shift);
+  __MINGW_EXTENSION unsigned __int64 __cdecl _rotr64(unsigned __int64 Value,int Shift);
 #pragma pop_macro ("_rotl64")
 #pragma pop_macro ("_rotr64")
 #pragma push_macro ("_rotr")
@@ -502,7 +502,7 @@
   unsigned int __cdecl _rotl(unsigned int _Val,int _Shift);
 #pragma pop_macro ("_rotl")
 #pragma pop_macro ("_rotr")
-  unsigned __int64 __cdecl _rotr64(unsigned __int64 _Val,int _Shift);
+  __MINGW_EXTENSION unsigned __int64 __cdecl _rotr64(unsigned __int64 _Val,int _Shift);
   _CRTIMP void __cdecl _searchenv(const char *_Filename,const char *_EnvVar,char *_ResultPath);
   _CRTIMP void __cdecl _splitpath(const char *_FullPath,char *_Drive,char *_Dir,char *_Filename,char *_Ext);
   _CRTIMP void __cdecl _swab(char *_Buf1,char *_Buf2,int _SizeInBytes);
@@ -558,36 +558,36 @@
 
 #if !defined __NO_ISOCEXT /* externs in static libmingwex.a */
 
-  typedef struct { long long quot, rem; } lldiv_t;
+  typedef struct { __MINGW_EXTENSION long long quot, rem; } lldiv_t;
 
-  lldiv_t __cdecl lldiv(long long, long long);
+  __MINGW_EXTENSION lldiv_t __cdecl lldiv(long long, long long);
 
-  long long __cdecl llabs(long long);
+  __MINGW_EXTENSION long long __cdecl llabs(long long);
 #ifndef __CRT__NO_INLINE
-  __CRT_INLINE long long __cdecl llabs(long long _j) { return (_j >= 0 ? _j : -_j); }
+  __MINGW_EXTENSION __CRT_INLINE long long __cdecl llabs(long long _j) { return (_j >= 0 ? _j : -_j); }
 #endif
 
-  long long  __cdecl strtoll(const char* __restrict__, char** __restrict, int);
-  unsigned long long  __cdecl strtoull(const char* __restrict__, char** __restrict__, int);
+  __MINGW_EXTENSION long long  __cdecl strtoll(const char* __restrict__, char** __restrict, int);
+  __MINGW_EXTENSION unsigned long long  __cdecl strtoull(const char* __restrict__, char** __restrict__, int);
 
   /* these are stubs for MS _i64 versions */
-  long long  __cdecl atoll (const char *);
+  __MINGW_EXTENSION long long  __cdecl atoll (const char *);
 
 #ifndef __STRICT_ANSI__
-  long long  __cdecl wtoll (const wchar_t *);
-  char *__cdecl lltoa (long long, char *, int);
-  char *__cdecl ulltoa (unsigned long long , char *, int);
-  wchar_t *__cdecl lltow (long long, wchar_t *, int);
-  wchar_t *__cdecl ulltow (unsigned long long, wchar_t *, int);
+  __MINGW_EXTENSION long long  __cdecl wtoll (const wchar_t *);
+  __MINGW_EXTENSION char *__cdecl lltoa (long long, char *, int);
+  __MINGW_EXTENSION char *__cdecl ulltoa (unsigned long long , char *, int);
+  __MINGW_EXTENSION wchar_t *__cdecl lltow (long long, wchar_t *, int);
+  __MINGW_EXTENSION wchar_t *__cdecl ulltow (unsigned long long, wchar_t *, int);
 
   /* __CRT_INLINE using non-ansi functions */
 #ifndef __CRT__NO_INLINE
-  __CRT_INLINE long long  __cdecl atoll (const char * _c) { return _atoi64 (_c); }
-  __CRT_INLINE char *__cdecl lltoa (long long _n, char * _c, int _i) { return _i64toa (_n, _c, _i); }
-  __CRT_INLINE char *__cdecl ulltoa (unsigned long long _n, char * _c, int _i) { return _ui64toa (_n, _c, _i); }
-  __CRT_INLINE long long  __cdecl wtoll (const wchar_t * _w) { return _wtoi64 (_w); }
-  __CRT_INLINE wchar_t *__cdecl lltow (long long _n, wchar_t * _w, int _i) { return _i64tow (_n, _w, _i); }
-  __CRT_INLINE wchar_t *__cdecl ulltow (unsigned long long _n, wchar_t * _w, int _i) { return _ui64tow (_n, _w, _i); }
+  __MINGW_EXTENSION __CRT_INLINE long long  __cdecl atoll (const char * _c) { return _atoi64 (_c); }
+  __MINGW_EXTENSION __CRT_INLINE char *__cdecl lltoa (long long _n, char * _c, int _i) { return _i64toa (_n, _c, _i); }
+  __MINGW_EXTENSION __CRT_INLINE char *__cdecl ulltoa (unsigned long long _n, char * _c, int _i) { return _ui64toa (_n, _c, _i); }
+  __MINGW_EXTENSION __CRT_INLINE long long  __cdecl wtoll (const wchar_t * _w) { return _wtoi64 (_w); }
+  __MINGW_EXTENSION __CRT_INLINE wchar_t *__cdecl lltow (long long _n, wchar_t * _w, int _i) { return _i64tow (_n, _w, _i); }
+  __MINGW_EXTENSION __CRT_INLINE wchar_t *__cdecl ulltow (unsigned long long _n, wchar_t * _w, int _i) { return _ui64tow (_n, _w, _i); }
 #endif /* !__CRT__NO_INLINE */
 #endif /* (__STRICT_ANSI__)  */
 
diff --git a/mingw-w64-headers/include/strsafe.h b/mingw-w64-headers/include/strsafe.h
index e74b2ec..d516860 100644
--- a/mingw-w64-headers/include/strsafe.h
+++ b/mingw-w64-headers/include/strsafe.h
@@ -18,7 +18,7 @@
 #if defined(__GNUC__) && defined(__STRICT_ANSI__)
   typedef unsigned int size_t __attribute__ ((__mode__ (DI)));
 #else
-typedef unsigned __int64 size_t;
+__MINGW_EXTENSION typedef unsigned __int64 size_t;
 #endif
 #else
 typedef unsigned int size_t;
@@ -32,7 +32,7 @@
 #if defined(__GNUC__) && defined(__STRICT_ANSI__)
   typedef int ssize_t __attribute__ ((__mode__ (DI)));
 #else
-typedef __int64 ssize_t;
+__MINGW_EXTENSION typedef __int64 ssize_t;
 #endif
 #else
 typedef int ssize_t;
diff --git a/mingw-w64-headers/include/sys/stat.h b/mingw-w64-headers/include/sys/stat.h
index 2f464cf..ede1102 100644
--- a/mingw-w64-headers/include/sys/stat.h
+++ b/mingw-w64-headers/include/sys/stat.h
@@ -37,7 +37,7 @@
 #endif
 
 #ifndef _TIME64_T_DEFINED
-  typedef __int64 __time64_t;
+  __MINGW_EXTENSION typedef __int64 __time64_t;
 #define _TIME64_T_DEFINED
 #endif
 
@@ -111,7 +111,7 @@
     short st_uid;
     short st_gid;
     _dev_t st_rdev;
-    __int64 st_size;
+    __MINGW_EXTENSION __int64 st_size;
     __time32_t st_atime;
     __time32_t st_mtime;
     __time32_t st_ctime;
@@ -139,7 +139,7 @@
     short st_uid;
     short st_gid;
     _dev_t st_rdev;
-    __int64 st_size;
+    __MINGW_EXTENSION __int64 st_size;
     __time64_t st_atime;
     __time64_t st_mtime;
     __time64_t st_ctime;
diff --git a/mingw-w64-headers/include/sys/timeb.h b/mingw-w64-headers/include/sys/timeb.h
index 284f0b0..d345763 100644
--- a/mingw-w64-headers/include/sys/timeb.h
+++ b/mingw-w64-headers/include/sys/timeb.h
@@ -34,7 +34,7 @@
 #endif
 
 #ifndef _TIME64_T_DEFINED
-  typedef __int64 __time64_t;
+  __MINGW_EXTENSION typedef __int64 __time64_t;
 #define _TIME64_T_DEFINED
 #endif
 
diff --git a/mingw-w64-headers/include/sys/types.h b/mingw-w64-headers/include/sys/types.h
index 410ec28..c6546c6 100644
--- a/mingw-w64-headers/include/sys/types.h
+++ b/mingw-w64-headers/include/sys/types.h
@@ -25,7 +25,7 @@
 
 #ifndef _TIME64_T_DEFINED
 #define _TIME64_T_DEFINED
-typedef __int64 __time64_t;
+__MINGW_EXTENSION typedef __int64 __time64_t;
 #endif
 
 #ifndef _TIME_T_DEFINED
@@ -58,7 +58,7 @@
 #ifndef _WIN64
 typedef int	_pid_t;
 #else
-typedef __int64	_pid_t;
+__MINGW_EXTENSION typedef __int64	_pid_t;
 #endif
 
 #ifndef	NO_OLDNAMES
@@ -88,9 +88,9 @@
 
 #ifndef _OFF64_T_DEFINED
 #define _OFF64_T_DEFINED
-  typedef long long _off64_t;
+  __MINGW_EXTENSION typedef long long _off64_t;
 #if !defined(NO_OLDNAMES) || defined(_POSIX)
-  typedef long long off64_t;
+  __MINGW_EXTENSION typedef long long off64_t;
 #endif
 #endif
 
diff --git a/mingw-w64-headers/include/sys/utime.h b/mingw-w64-headers/include/sys/utime.h
index aa55a76..194ef03 100644
--- a/mingw-w64-headers/include/sys/utime.h
+++ b/mingw-w64-headers/include/sys/utime.h
@@ -40,7 +40,7 @@
 
 #ifndef _TIME64_T_DEFINED
 #define _TIME64_T_DEFINED
-  typedef __int64 __time64_t;
+  __MINGW_EXTENSION typedef __int64 __time64_t;
 #endif
 
 #ifndef _TIME_T_DEFINED
diff --git a/mingw-w64-headers/include/time.h b/mingw-w64-headers/include/time.h
index c4042d6..ef862be 100644
--- a/mingw-w64-headers/include/time.h
+++ b/mingw-w64-headers/include/time.h
@@ -37,7 +37,7 @@
 #if defined(__GNUC__) && defined(__STRICT_ANSI__)
   typedef int _time64_t __attribute__ ((__mode__ (DI)));
 #else
-  typedef __int64 __time64_t;
+  __MINGW_EXTENSION typedef __int64 __time64_t;
 #endif
 #endif
 
@@ -62,7 +62,7 @@
 #if defined(__GNUC__) && defined(__STRICT_ANSI__)
   typedef unsigned int size_t __attribute__ ((__mode__ (DI)));
 #else
-  typedef unsigned __int64 size_t;
+  __MINGW_EXTENSION typedef unsigned __int64 size_t;
 #endif
 #else
   typedef unsigned int size_t;
@@ -76,7 +76,7 @@
 #if defined(__GNUC__) && defined(__STRICT_ANSI__)
   typedef int ssize_t __attribute__ ((__mode__ (DI)));
 #else
-  typedef __int64 ssize_t;
+  __MINGW_EXTENSION typedef __int64 ssize_t;
 #endif
 #else
   typedef int ssize_t;
diff --git a/mingw-w64-headers/include/timeprov.h b/mingw-w64-headers/include/timeprov.h
index 6b157a0..bc5e637 100644
--- a/mingw-w64-headers/include/timeprov.h
+++ b/mingw-w64-headers/include/timeprov.h
@@ -72,11 +72,11 @@
   typedef struct TimeSample {
     DWORD dwSize;
     DWORD dwRefid;
-    signed __int64 toOffset;
-    signed __int64 toDelay;
-    unsigned __int64 tpDispersion;
-    unsigned __int64 nSysTickCount;
-    signed __int64 nSysPhaseOffset;
+    __MINGW_EXTENSION signed __int64 toOffset;
+    __MINGW_EXTENSION signed __int64 toDelay;
+    __MINGW_EXTENSION unsigned __int64 tpDispersion;
+    __MINGW_EXTENSION unsigned __int64 nSysTickCount;
+    __MINGW_EXTENSION signed __int64 nSysPhaseOffset;
     BYTE nLeapFlags;
     BYTE nStratum;
     DWORD dwTSFlags;
diff --git a/mingw-w64-headers/include/vadefs.h b/mingw-w64-headers/include/vadefs.h
index eca92f7..708e0e6 100644
--- a/mingw-w64-headers/include/vadefs.h
+++ b/mingw-w64-headers/include/vadefs.h
@@ -29,7 +29,7 @@
 #if defined(__GNUC__) && defined(__STRICT_ANSI__)
   typedef unsigned int uintptr_t __attribute__ ((__mode__ (DI)));
 #else
-  typedef unsigned __int64 uintptr_t;
+  __MINGW_EXTENSION typedef unsigned __int64 uintptr_t;
 #endif
 #else
   typedef unsigned long uintptr_t;
diff --git a/mingw-w64-headers/include/wbemcli.h b/mingw-w64-headers/include/wbemcli.h
index 42d09ba..7c48fc0 100644
--- a/mingw-w64-headers/include/wbemcli.h
+++ b/mingw-w64-headers/include/wbemcli.h
@@ -615,8 +615,8 @@
     virtual HRESULT WINAPI ReadPropertyValue(long lHandle,long lBufferSize,long *plNumBytes,byte *aData) = 0;
     virtual HRESULT WINAPI ReadDWORD(long lHandle,DWORD *pdw) = 0;
     virtual HRESULT WINAPI WriteDWORD(long lHandle,DWORD dw) = 0;
-    virtual HRESULT WINAPI ReadQWORD(long lHandle,unsigned __int64 *pqw) = 0;
-    virtual HRESULT WINAPI WriteQWORD(long lHandle,unsigned __int64 pw) = 0;
+    __MINGW_EXTENSION virtual HRESULT WINAPI ReadQWORD(long lHandle,unsigned __int64 *pqw) = 0;
+    __MINGW_EXTENSION virtual HRESULT WINAPI WriteQWORD(long lHandle,unsigned __int64 pw) = 0;
     virtual HRESULT WINAPI GetPropertyInfoByHandle(long lHandle,BSTR *pstrName,CIMTYPE *pType) = 0;
     virtual HRESULT WINAPI Lock(long lFlags) = 0;
     virtual HRESULT WINAPI Unlock(long lFlags) = 0;
@@ -656,8 +656,8 @@
       HRESULT (WINAPI *ReadPropertyValue)(IWbemObjectAccess *This,long lHandle,long lBufferSize,long *plNumBytes,byte *aData);
       HRESULT (WINAPI *ReadDWORD)(IWbemObjectAccess *This,long lHandle,DWORD *pdw);
       HRESULT (WINAPI *WriteDWORD)(IWbemObjectAccess *This,long lHandle,DWORD dw);
-      HRESULT (WINAPI *ReadQWORD)(IWbemObjectAccess *This,long lHandle,unsigned __int64 *pqw);
-      HRESULT (WINAPI *WriteQWORD)(IWbemObjectAccess *This,long lHandle,unsigned __int64 pw);
+      __MINGW_EXTENSION HRESULT (WINAPI *ReadQWORD)(IWbemObjectAccess *This,long lHandle,unsigned __int64 *pqw);
+      __MINGW_EXTENSION HRESULT (WINAPI *WriteQWORD)(IWbemObjectAccess *This,long lHandle,unsigned __int64 pw);
       HRESULT (WINAPI *GetPropertyInfoByHandle)(IWbemObjectAccess *This,long lHandle,BSTR *pstrName,CIMTYPE *pType);
       HRESULT (WINAPI *Lock)(IWbemObjectAccess *This,long lFlags);
       HRESULT (WINAPI *Unlock)(IWbemObjectAccess *This,long lFlags);
@@ -716,9 +716,9 @@
   void __RPC_STUB IWbemObjectAccess_ReadDWORD_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   HRESULT WINAPI IWbemObjectAccess_WriteDWORD_Proxy(IWbemObjectAccess *This,long lHandle,DWORD dw);
   void __RPC_STUB IWbemObjectAccess_WriteDWORD_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IWbemObjectAccess_ReadQWORD_Proxy(IWbemObjectAccess *This,long lHandle,unsigned __int64 *pqw);
+  __MINGW_EXTENSION HRESULT WINAPI IWbemObjectAccess_ReadQWORD_Proxy(IWbemObjectAccess *This,long lHandle,unsigned __int64 *pqw);
   void __RPC_STUB IWbemObjectAccess_ReadQWORD_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IWbemObjectAccess_WriteQWORD_Proxy(IWbemObjectAccess *This,long lHandle,unsigned __int64 pw);
+  __MINGW_EXTENSION HRESULT WINAPI IWbemObjectAccess_WriteQWORD_Proxy(IWbemObjectAccess *This,long lHandle,unsigned __int64 pw);
   void __RPC_STUB IWbemObjectAccess_WriteQWORD_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   HRESULT WINAPI IWbemObjectAccess_GetPropertyInfoByHandle_Proxy(IWbemObjectAccess *This,long lHandle,BSTR *pstrName,CIMTYPE *pType);
   void __RPC_STUB IWbemObjectAccess_GetPropertyInfoByHandle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
diff --git a/mingw-w64-headers/include/wchar.h b/mingw-w64-headers/include/wchar.h
index fdc6da0..3d6e26d 100644
--- a/mingw-w64-headers/include/wchar.h
+++ b/mingw-w64-headers/include/wchar.h
@@ -92,7 +92,7 @@
     __time32_t time_create;
     __time32_t time_access;
     __time32_t time_write;
-    __int64 size;
+    __MINGW_EXTENSION __int64 size;
     wchar_t name[260];
   };
 
@@ -110,7 +110,7 @@
     __time64_t time_create;
     __time64_t time_access;
     __time64_t time_write;
-    __int64 size;
+    __MINGW_EXTENSION __int64 size;
     wchar_t name[260];
   };
 /* #endif */
@@ -389,9 +389,9 @@
 
 #ifndef _OFF64_T_DEFINED
 #define _OFF64_T_DEFINED
-  typedef long long _off64_t;
+  __MINGW_EXTENSION typedef long long _off64_t;
 #if !defined(NO_OLDNAMES) || defined(_POSIX)
-  typedef long long off64_t;
+  __MINGW_EXTENSION typedef long long off64_t;
 #endif
 #endif
 
@@ -452,7 +452,7 @@
     short st_uid;
     short st_gid;
     _dev_t st_rdev;
-    __int64 st_size;
+    __MINGW_EXTENSION __int64 st_size;
     __time32_t st_atime;
     __time32_t st_mtime;
     __time32_t st_ctime;
@@ -480,7 +480,7 @@
     short st_uid;
     short st_gid;
     _dev_t st_rdev;
-    __int64 st_size;
+    __MINGW_EXTENSION __int64 st_size;
     __time64_t st_atime;
     __time64_t st_mtime;
     __time64_t st_ctime;
@@ -695,14 +695,14 @@
   _CRTIMP long __cdecl _wtol(const wchar_t *_Str);
   _CRTIMP long __cdecl _wtol_l(const wchar_t *_Str,_locale_t _Locale);
 
-  _CRTIMP wchar_t *__cdecl _i64tow(__int64 _Val,wchar_t *_DstBuf,int _Radix);
-  _CRTIMP wchar_t *__cdecl _ui64tow(unsigned __int64 _Val,wchar_t *_DstBuf,int _Radix);
-  _CRTIMP __int64 __cdecl _wtoi64(const wchar_t *_Str);
-  _CRTIMP __int64 __cdecl _wtoi64_l(const wchar_t *_Str,_locale_t _Locale);
-  _CRTIMP __int64 __cdecl _wcstoi64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
-  _CRTIMP __int64 __cdecl _wcstoi64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
-  _CRTIMP unsigned __int64 __cdecl _wcstoui64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
-  _CRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
+  __MINGW_EXTENSION _CRTIMP wchar_t *__cdecl _i64tow(__int64 _Val,wchar_t *_DstBuf,int _Radix);
+  __MINGW_EXTENSION _CRTIMP wchar_t *__cdecl _ui64tow(unsigned __int64 _Val,wchar_t *_DstBuf,int _Radix);
+  __MINGW_EXTENSION _CRTIMP __int64 __cdecl _wtoi64(const wchar_t *_Str);
+  __MINGW_EXTENSION _CRTIMP __int64 __cdecl _wtoi64_l(const wchar_t *_Str,_locale_t _Locale);
+  __MINGW_EXTENSION _CRTIMP __int64 __cdecl _wcstoi64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
+  __MINGW_EXTENSION _CRTIMP __int64 __cdecl _wcstoi64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
+  __MINGW_EXTENSION _CRTIMP unsigned __int64 __cdecl _wcstoui64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
+  __MINGW_EXTENSION _CRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
 #endif
 
 #ifndef _POSIX_
@@ -834,8 +834,8 @@
   wchar_t *__cdecl wmemmove(wchar_t *s1, const wchar_t *s2, size_t n);
   int __cdecl fwide(FILE *stream,int mode);
   int __cdecl mbsinit(const mbstate_t *ps);
-  long long __cdecl wcstoll(const wchar_t *nptr,wchar_t **endptr, int base);
-  unsigned long long __cdecl wcstoull(const wchar_t *nptr,wchar_t **endptr, int base);
+  __MINGW_EXTENSION long long __cdecl wcstoll(const wchar_t *nptr,wchar_t **endptr, int base);
+  __MINGW_EXTENSION unsigned long long __cdecl wcstoull(const wchar_t *nptr,wchar_t **endptr, int base);
 #endif /* __NO_ISOCEXT */
 
   void *__cdecl memmove(void *_Dst,const void *_Src,size_t _MaxCount);
diff --git a/mingw-w64-headers/include/windns.h b/mingw-w64-headers/include/windns.h
index 7adf900..f6958ea 100644
--- a/mingw-w64-headers/include/windns.h
+++ b/mingw-w64-headers/include/windns.h
@@ -10,7 +10,7 @@
 extern "C" {
 #endif
 
-  typedef unsigned __int64 QWORD,*PQWORD;
+  __MINGW_EXTENSION typedef unsigned __int64 QWORD,*PQWORD;
   typedef LONG DNS_STATUS,*PDNS_STATUS;
   typedef DWORD IP4_ADDRESS,*PIP4_ADDRESS;
 
diff --git a/mingw-w64-headers/include/winnt.h b/mingw-w64-headers/include/winnt.h
index 0ff42e9..10ed110 100644
--- a/mingw-w64-headers/include/winnt.h
+++ b/mingw-w64-headers/include/winnt.h
@@ -253,15 +253,15 @@
   __declspec(align(16))
 #endif
     typedef struct _FLOAT128 {
-      __int64 LowPart;
-      __int64 HighPart;
+      __MINGW_EXTENSION __int64 LowPart;
+      __MINGW_EXTENSION __int64 HighPart;
   } FLOAT128;
 
   typedef FLOAT128 *PFLOAT128;
 
 #define _ULONGLONG_
-  typedef __int64 LONGLONG;
-  typedef unsigned __int64 ULONGLONG;
+  __MINGW_EXTENSION typedef __int64 LONGLONG;
+  __MINGW_EXTENSION typedef unsigned __int64 ULONGLONG;
 
 #define MAXLONGLONG (0x7fffffffffffffff)
 
@@ -360,8 +360,8 @@
 #pragma push_macro ("_rotl64")
 #undef _rotl64
 #undef _rotr64
-    unsigned __int64 __cdecl _rotl64(unsigned __int64 Value,int Shift);
-    unsigned __int64 __cdecl _rotr64(unsigned __int64 Value,int Shift);
+    __MINGW_EXTENSION unsigned __int64 __cdecl _rotl64(unsigned __int64 Value,int Shift);
+    __MINGW_EXTENSION unsigned __int64 __cdecl _rotr64(unsigned __int64 Value,int Shift);
 #pragma pop_macro ("_rotl64")
 #pragma pop_macro ("_rotr64")
 
@@ -930,42 +930,42 @@
     __CRT_INLINE BOOLEAN _bittest64(LONG64 const *Base,LONG64 Offset) {
       int old = 0;
       __asm__ __volatile__("btq %2,%1\n\tsbbl %0,%0 "
-	:"=r" (old),"=m" ((*(volatile long long *) Base))
+	:"=r" (old),"=m" ((*(volatile LONG64 *) Base))
 	:"Ir" (Offset));
       return (BOOLEAN) (old!=0);
     }
     __CRT_INLINE BOOLEAN _bittestandcomplement64(LONG64 *Base,LONG64 Offset) {
       int old = 0;
       __asm__ __volatile__("btcq %2,%1\n\tsbbl %0,%0 "
-	:"=r" (old),"=m" ((*(volatile long long *) Base))
+	:"=r" (old),"=m" ((*(volatile LONG64 *) Base))
 	:"Ir" (Offset));
       return (BOOLEAN) (old!=0);
     }
     __CRT_INLINE BOOLEAN _bittestandset64(LONG64 *Base,LONG64 Offset) {
       int old = 0;
       __asm__ __volatile__("btsq %2,%1\n\tsbbl %0,%0 "
-	:"=r" (old),"=m" ((*(volatile long long *) Base))
+	:"=r" (old),"=m" ((*(volatile LONG64 *) Base))
 	:"Ir" (Offset));
       return (BOOLEAN) (old!=0);
     }
     __CRT_INLINE BOOLEAN _bittestandreset64(LONG64 *Base,LONG64 Offset) {
       int old = 0;
       __asm__ __volatile__("btrq %2,%1\n\tsbbl %0,%0 "
-	:"=r" (old),"=m" ((*(volatile long long *) Base))
+	:"=r" (old),"=m" ((*(volatile LONG64 *) Base))
 	:"Ir" (Offset));
       return (BOOLEAN) (old!=0);
     }
     __CRT_INLINE BOOLEAN _interlockedbittestandset64(LONG64 *Base,LONG64 Offset) {
       int old = 0;
       __asm__ __volatile__("lock ; btsq %2,%1\n\tsbbl %0,%0 "
-	:"=r" (old),"=m" ((*(volatile long long *) Base))
+	:"=r" (old),"=m" ((*(volatile LONG64 *) Base))
 	:"Ir" (Offset));
       return (BOOLEAN) (old!=0);
     }
     __CRT_INLINE BOOLEAN _interlockedbittestandreset64(LONG64 *Base,LONG64 Offset) {
       int old = 0;
       __asm__ __volatile__("lock ; btrq %2,%1\n\tsbbl %0,%0 "
-	:"=r" (old),"=m" ((*(volatile long long *) Base))
+	:"=r" (old),"=m" ((*(volatile LONG64 *) Base))
 	:"Ir" (Offset));
       return (BOOLEAN) (old!=0);
     }
@@ -995,11 +995,11 @@
     }
 #ifdef _WIN64
     __CRT_INLINE BOOLEAN _BitScanForward64(DWORD *Index,DWORD64 Mask) {
-      __asm__ __volatile__("bsfq %1,%0" : "=r" (Mask),"=m" ((*(volatile long long *)Index)));
+      __asm__ __volatile__("bsfq %1,%0" : "=r" (Mask),"=m" ((*(volatile DWORD64 *)Index)));
       return Mask!=0;
     }
     __CRT_INLINE BOOLEAN _BitScanReverse64(DWORD *Index,DWORD64 Mask) {
-      __asm__ __volatile__("bsrq %1,%0" : "=r" (Mask),"=m" ((*(volatile long long *)Index)));
+      __asm__ __volatile__("bsrq %1,%0" : "=r" (Mask),"=m" ((*(volatile DWORD64 *)Index)));
       return Mask!=0;
     }
 #endif
@@ -1258,7 +1258,7 @@
 
 #define ReadTimeStampCounter() __rdtsc()
 
-    unsigned __int64 __rdtsc(void);
+    __MINGW_EXTENSION unsigned __int64 __rdtsc(void);
     VOID __movsb(PBYTE Destination,BYTE const *Source,SIZE_T Count);
     VOID __movsw(PWORD Destination,WORD const *Source,SIZE_T Count);
     VOID __movsd(PDWORD Destination,DWORD const *Source,SIZE_T Count);
diff --git a/mingw-w64-headers/include/winsock2.h b/mingw-w64-headers/include/winsock2.h
index d692883..81e0ab0 100644
--- a/mingw-w64-headers/include/winsock2.h
+++ b/mingw-w64-headers/include/winsock2.h
@@ -39,7 +39,7 @@
   typedef unsigned short u_short;
   typedef unsigned int u_int;
   typedef unsigned long u_long;
-  typedef unsigned __int64 u_int64;
+  __MINGW_EXTENSION typedef unsigned __int64 u_int64;
   typedef INT_PTR SOCKET;
 
 #ifndef FD_SETSIZE
@@ -351,7 +351,7 @@
   };
 
 #define _SS_MAXSIZE 128
-#define _SS_ALIGNSIZE (sizeof(__int64))
+#define _SS_ALIGNSIZE (8)
 
 #define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof (short))
 #define _SS_PAD2SIZE (_SS_MAXSIZE - (sizeof (short) + _SS_PAD1SIZE + _SS_ALIGNSIZE))
@@ -360,7 +360,7 @@
     short ss_family;
     char __ss_pad1[_SS_PAD1SIZE];
 
-    __int64 __ss_align;
+    __MINGW_EXTENSION __int64 __ss_align;
     char __ss_pad2[_SS_PAD2SIZE];
 
   };
diff --git a/mingw-w64-headers/include/wmiatlprov.h b/mingw-w64-headers/include/wmiatlprov.h
index e45cca3..ef4b132 100644
--- a/mingw-w64-headers/include/wmiatlprov.h
+++ b/mingw-w64-headers/include/wmiatlprov.h
@@ -251,7 +251,7 @@
 	return WBEM_E_NOT_FOUND;
       }
       delete[] wClass;
-      unsigned __int64 ullPathInfo;
+      __MINGW_EXTENSION unsigned __int64 ullPathInfo;
       hr = pPath->GetInfo(0L,&ullPathInfo);
       if(FAILED(hr)) return hr;
       if(!(ullPathInfo & ullTest)) return WBEM_E_INVALID_OBJECT_PATH;
diff --git a/mingw-w64-headers/include/wmiutils.h b/mingw-w64-headers/include/wmiutils.h
index 01d360b..d8cc02b 100644
--- a/mingw-w64-headers/include/wmiutils.h
+++ b/mingw-w64-headers/include/wmiutils.h
@@ -439,8 +439,8 @@
     LONG m_lLongVal;
     ULONG m_uLongVal;
     double m_dblVal;
-    __int64 m_lVal64;
-    __int64 m_uVal64;
+    __MINGW_EXTENSION __int64 m_lVal64;
+    __MINGW_EXTENSION __int64 m_uVal64;
   } SWbemRpnConst;
 
   typedef struct tag_SWbemRpnQueryToken {
@@ -486,7 +486,7 @@
   typedef struct tag_SWbemRpnEncodedQuery {
     ULONG m_uVersion;
     ULONG m_uTokenType;
-    unsigned __int64 m_uParsedFeatureMask;
+    __MINGW_EXTENSION unsigned __int64 m_uParsedFeatureMask;
     ULONG m_uDetectedArraySize;
     ULONG *m_puDetectedFeatures;
     ULONG m_uSelectListSize;
diff --git a/mingw-w64-headers/include/wtypes.h b/mingw-w64-headers/include/wtypes.h
index 63138ce..da89428 100644
--- a/mingw-w64-headers/include/wtypes.h
+++ b/mingw-w64-headers/include/wtypes.h
@@ -150,13 +150,13 @@
 
 #ifndef _DWORDLONG_
 #define _DWORDLONG_
-  typedef unsigned __int64 DWORDLONG;
+  __MINGW_EXTENSION typedef unsigned __int64 DWORDLONG;
   typedef DWORDLONG *PDWORDLONG;
 #endif
 
 #ifndef _ULONGLONG_
-  typedef __int64 LONGLONG;
-  typedef unsigned __int64 ULONGLONG;
+  __MINGW_EXTENSION typedef __int64 LONGLONG;
+  __MINGW_EXTENSION typedef unsigned __int64 ULONGLONG;
   typedef LONGLONG *PLONGLONG;
   typedef ULONGLONG *PULONGLONG;
 #endif
@@ -413,7 +413,7 @@
     union __MIDL_IWinTypes_0003 {
       long hInproc;
       FLAGGED_BYTE_BLOB *hRemote;
-      __int64 hInproc64;
+      __MINGW_EXTENSION __int64 hInproc64;
     } u;
   } userHGLOBAL;
 
@@ -424,7 +424,7 @@
     union __MIDL_IWinTypes_0004 {
       long hInproc;
       BYTE_BLOB *hRemote;
-      __int64 hInproc64;
+      __MINGW_EXTENSION __int64 hInproc64;
     } u;
   } userHMETAFILE;
 
@@ -440,7 +440,7 @@
     union __MIDL_IWinTypes_0005 {
       long hInproc;
       remoteMETAFILEPICT *hRemote;
-      __int64 hInproc64;
+      __MINGW_EXTENSION __int64 hInproc64;
     } u;
   } userHMETAFILEPICT;
 
@@ -449,7 +449,7 @@
     union __MIDL_IWinTypes_0006 {
       long hInproc;
       BYTE_BLOB *hRemote;
-      __int64 hInproc64;
+      __MINGW_EXTENSION __int64 hInproc64;
     } u;
   } userHENHMETAFILE;
 
@@ -469,7 +469,7 @@
     union __MIDL_IWinTypes_0007 {
       long hInproc;
       userBITMAP *hRemote;
-      __int64 hInproc64;
+      __MINGW_EXTENSION __int64 hInproc64;
     } u;
   } userHBITMAP;
 
@@ -478,7 +478,7 @@
     union __MIDL_IWinTypes_0008 {
       long hInproc;
       LOGPALETTE *hRemote;
-      __int64 hInproc64;
+      __MINGW_EXTENSION __int64 hInproc64;
     } u;
   } userHPALETTE;
 
diff --git a/mingw-w64-headers/include/yvals.h b/mingw-w64-headers/include/yvals.h
index 2ac65cf..7c97e29 100644
--- a/mingw-w64-headers/include/yvals.h
+++ b/mingw-w64-headers/include/yvals.h
@@ -168,10 +168,10 @@
 _STD_END
 #endif
 
-#define _LONGLONG __int64
-#define _ULONGLONG unsigned __int64
-#define _LLONG_MAX 0x7fffffffffffffff
-#define _ULLONG_MAX 0xffffffffffffffff
+#define _LONGLONG /* __MINGW_EXTENSION */ __int64
+#define _ULONGLONG /* __MINGW_EXTENSION */ unsigned __int64
+#define _LLONG_MAX 0x7fffffffffffffffLL
+#define _ULLONG_MAX 0xffffffffffffffffULL
 
 #define _C2 1
 
@@ -179,8 +179,8 @@
 #define _MAX_INT_DIG 32
 #define _MAX_SIG_DIG 36
 
-typedef _LONGLONG _Longlong;
-typedef _ULONGLONG _ULonglong;
+__MINGW_EXTENSION typedef _LONGLONG _Longlong;
+__MINGW_EXTENSION typedef _ULONGLONG _ULonglong;
 
 #define _Filet _iobuf