Signed-off-by: Jacek Caban
---
mingw-w64-headers/include/psdk_inc/intrin-impl.h | 83
1 file changed, 41 insertions(+), 42 deletions(-)
diff --git a/mingw-w64-headers/include/psdk_inc/intrin-impl.h b/mingw-w64-headers/include/psdk_inc/intrin-impl.h
index 6f7d60ec..ed5e9fa2 100644
--- a/mingw-w64-headers/include/psdk_inc/intrin-impl.h
+++ b/mingw-w64-headers/include/psdk_inc/intrin-impl.h
@@ -119,13 +119,12 @@ __INTRINSICS_USEINLINE
_interlockedbittestandset, _interlockedbittestandreset, _interlockedbittestandcomplement
_interlockedbittestandset64, _interlockedbittestandreset64, _interlockedbittestandcomplement64 */
-/* Parameters: (FunctionName, DataType, AsmCode, OffsetConstraint, Volatile)
+/* Parameters: (FunctionName, DataType, AsmCode, OffsetConstraint)
FunctionName: Any valid function name
DataType: __LONG32 or __int64
- OffsetConstraint: either "I" for 32bit data types or "J" for 64.
- Volatile: either volatile or blank. */
+ OffsetConstraint: either "I" for 32bit data types or "J" for 64. */
#if defined(__x86_64__) || defined(_AMD64_) || defined(__i386__) || defined(_X86_)
-#define __buildbittesti(x, y, z, a, b) unsigned char x(y *Base, b Offset) \
+#define __buildbittesti(x, y, z, a) unsigned char x(y volatile *Base, y Offset) \
{ \
unsigned char old; \
__asm__ __volatile__ (z \
@@ -135,7 +134,7 @@ __INTRINSICS_USEINLINE
return old; \
}
#elif defined(__arm__) || defined(_ARM_)
-#define __buildbittesti(x, y, z, a, b) unsigned char x(b y *Base, y Offset) \
+#define __buildbittesti(x, y, z, a) unsigned char x(y volatile *Base, y Offset) \
{ \
unsigned int old, tmp1, tmp2; \
unsigned int bit = 1 << Offset; \
@@ -153,7 +152,7 @@ __INTRINSICS_USEINLINE
return (old >> Offset) & 1; \
}
#elif defined(__aarch64__) || defined(_ARM64_)
-#define __buildbittesti(x, y, z, a, b) unsigned char x(b y *Base, y Offset) \
+#define __buildbittesti(x, y, z, a, b) unsigned char x(y volatile *Base, y Offset) \
{ \
unsigned int old, tmp1, tmp2; \
unsigned int bit = 1 << Offset; \
@@ -615,28 +614,28 @@ __buildstos(__stosq, unsigned __int64, "q|q")
#endif /* __INTRINSIC_PROLOG */
#if __INTRINSIC_PROLOG(_interlockedbittestandset64)
-__MINGW_EXTENSION unsigned char _interlockedbittestandset64(__int64 *a, __int64 b);
+__MINGW_EXTENSION unsigned char _interlockedbittestandset64(__int64 volatile *a, __int64 b);
#if !__has_builtin(_interlockedbittestandset64)
__INTRINSICS_USEINLINE
-__buildbittesti(_interlockedbittestandset64, __int64, "lock bts{q %[Offset],%[Base] | %[Base],%[Offset]}" __FLAGSET, "J", __int64)
+__buildbittesti(_interlockedbittestandset64, __int64 volatile, "lock bts{q %[Offset],%[Base] | %[Base],%[Offset]}" __FLAGSET, "J")
#endif
#define __INTRINSIC_DEFINED__interlockedbittestandset64
#endif /* __INTRINSIC_PROLOG */
#if __INTRINSIC_PROLOG(_interlockedbittestandreset64)
-__MINGW_EXTENSION unsigned char _interlockedbittestandreset64(__int64 *a, __int64 b);
+__MINGW_EXTENSION unsigned char _interlockedbittestandreset64(__int64 volatile *a, __int64 b);
#if !__has_builtin(_interlockedbittestandreset64)
__INTRINSICS_USEINLINE
-__buildbittesti(_interlockedbittestandreset64, __int64, "lock btr{q %[Offset],%[Base] | %[Base],%[Offset]}" __FLAGSET, "J", __int64)
+__buildbittesti(_interlockedbittestandreset64, __int64, "lock btr{q %[Offset],%[Base] | %[Base],%[Offset]}" __FLAGSET, "J")
#endif
#define __INTRINSIC_DEFINED__interlockedbittestandreset64
#endif /* __INTRINSIC_PROLOG */
#if __INTRINSIC_PROLOG(_interlockedbittestandcomplement64)
-__MINGW_EXTENSION unsigned char _interlockedbittestandcomplement64(__int64 *a, __int64 b);
+__MINGW_EXTENSION unsigned char _interlockedbittestandcomplement64(__int64 volatile *a, __int64 b);
#if !__has_builtin(_interlockedbittestandcomplement64)
__INTRINSICS_USEINLINE
-__buildbittesti(_interlockedbittestandcomplement64, __int64, "lock btc{q %[Offset],%[Base] | %[Base],%[Offset]}" __FLAGSET, "J", __int64)
+__buildbittesti(_interlockedbittestandcomplement64, __int64, "lock btc{q %[Offset],%[Base] | %[Base],%[Offset]}" __FLAGSET, "J")
#endif
#define __INTRINSIC_DEFINED__interlockedbittestandcomplement64
#endif /* __INTRINSIC_PROLOG */
@@ -645,7 +644,7 @@ __buildbittesti(_interlockedbittestandcomplement64, __int64, "lock btc{q %[Offse
__MINGW_EXTENSION unsigned char InterlockedBitTestAndSet64(volatile __int64 *a, __int64 b);
#if !__has_builtin(InterlockedBitTestAndSet64)
__INTRINSICS_USEINLINE
-__buildbittesti(InterlockedBitTestAndSet64, volatile __int64, "lock bts{q %[Offset],%[Base] | %[Base],%[Offset]}" __FLAGSET, "J", __int64)
+__buildbittesti(InterlockedBitTestAndSet64, __int64, "lock bts{q %[Offset],%[Base] | %[Base],%[Offset]}" __FLAGSET, "J")
#endif
#define __INTRINSIC_DEFINED_InterlockedBitTestAndSet64
#endif /* __INTRINSIC_PROLOG */
@@ -654,7 +653,7 @@ __buildbittesti(InterlockedBitTestAndSet64, volatile __int64, "lock bts{q %[Offs
__MINGW_EXTENSION unsign