mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-02-12 11:12:18 +00:00
ksh93: fix a compilation error on 32-bit system.
This commit is contained in:
parent
e97d56562f
commit
76812a9115
2 changed files with 27 additions and 27 deletions
|
@ -835,7 +835,7 @@ asocasptr(void volatile* p, void* o, void* n)
|
|||
|
||||
#if defined(_aso_casptr)
|
||||
if (!state.lockf)
|
||||
return _aso_cas64((void**)p, o, n);
|
||||
return _aso_casptr((void**)p, o, n);
|
||||
#endif
|
||||
k = lock(state.data, 0, p);
|
||||
if (*(void* volatile*)p == o)
|
||||
|
|
|
@ -24,9 +24,9 @@ if aso note{ gcc 4.1+ 64 bit memory atomic operations model }end link{
|
|||
#define _aso_inc64(p) __sync_fetch_and_add(p,1)
|
||||
#define _aso_dec64(p) __sync_fetch_and_sub(p,1)
|
||||
#if _ast_sizeof_pointer == 8
|
||||
#define _aso_casptr(p,o,n) ((void*)__sync_val_compare_and_swap(p,(uint64_t)o,(uint64_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)__sync_val_compare_and_swap(p,o,n))
|
||||
#else
|
||||
#define _aso_casptr(p,o,n) ((void*)__sync_val_compare_and_swap(p,(uint32_t)o,(uint32_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)__sync_val_compare_and_swap(p,o,n))
|
||||
#endif
|
||||
}
|
||||
elif aso note{ gcc 4.1+ 32 bit memory atomic operations model }end link{
|
||||
|
@ -48,7 +48,7 @@ elif aso note{ gcc 4.1+ 32 bit memory atomic operations model }end link{
|
|||
#define _aso_cas32(p,o,n) __sync_val_compare_and_swap(p,o,n)
|
||||
#define _aso_inc32(p) __sync_fetch_and_add(p,1)
|
||||
#define _aso_dec32(p) __sync_fetch_and_sub(p,1)
|
||||
#define _aso_casptr(p,o,n) ((void*)__sync_val_compare_and_swap(p,(uint32_t)o,(uint32_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)__sync_val_compare_and_swap(p,o,n))
|
||||
}
|
||||
elif aso note{ <atomic.h> atomic_cas_64 }end link{
|
||||
#include "FEATURE/common"
|
||||
|
@ -74,9 +74,9 @@ elif aso note{ <atomic.h> atomic_cas_64 }end link{
|
|||
#define _aso_inc64(p) (atomic_add_64_nv(p,1)-1)
|
||||
#define _aso_dec64(p) (atomic_add_64_nv(p,-1)+1)
|
||||
#if _ast_sizeof_pointer == 8
|
||||
#define _aso_casptr(p,o,n) ((void*)atomic_cas_64((uint64_t*)p,(uint64_t)o,(uint64_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)atomic_cas_64((uint64_t*)p,o,n))
|
||||
#else
|
||||
#define _aso_casptr(p,o,n) ((void*)atomic_cas_32((uint32_t*)p,(uint32_t)o,(uint32_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)atomic_cas_32((uint32_t*)p,o,n))
|
||||
#endif
|
||||
}
|
||||
elif aso note{ <atomic.h> atomic_cas_32 }end link{
|
||||
|
@ -98,7 +98,7 @@ elif aso note{ <atomic.h> atomic_cas_32 }end link{
|
|||
#define _aso_cas32(p,o,n) atomic_cas_32(p,o,n)
|
||||
#define _aso_inc32(p) (atomic_add_32_nv(p,1)-1)
|
||||
#define _aso_dec32(p) (atomic_add_32_nv(p,-1)+1)
|
||||
#define _aso_casptr(p,o,n) ((void*)atomic_cas_32((uint32_t*)p,(uint32_t)o,(uint32_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)atomic_cas_32((uint32_t*)p,o,n))
|
||||
}
|
||||
elif aso -latomic note{ <atomic.h> atomic_cas_64 with -latomic }end link{
|
||||
#include "FEATURE/common"
|
||||
|
@ -125,9 +125,9 @@ elif aso -latomic note{ <atomic.h> atomic_cas_64 with -latomic }end link{
|
|||
#define _aso_inc64(p) (atomic_add_64_nv(p,1)-1)
|
||||
#define _aso_dec64(p) (atomic_add_64_nv(p,-1)+1)
|
||||
#if _ast_sizeof_pointer == 8
|
||||
#define _aso_casptr(p,o,n) ((void*)atomic_cas_64((uint64_t*)p,(uint64_t)o,(uint64_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)atomic_cas_64((uint64_t*)p,o,n))
|
||||
#else
|
||||
#define _aso_casptr(p,o,n) ((void*)atomic_cas_32((uint32_t*)p,(uint32_t)o,(uint32_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)atomic_cas_32((uint32_t*)p,o,n))
|
||||
#endif
|
||||
}
|
||||
elif aso note{ <atomic.h> atomic_cas_32 with -latomic }end link{
|
||||
|
@ -150,7 +150,7 @@ elif aso note{ <atomic.h> atomic_cas_32 with -latomic }end link{
|
|||
#define _aso_cas32(p,o,n) atomic_cas_32(p,o,n)
|
||||
#define _aso_inc32(p) (atomic_add_32_nv(p,1)-1)
|
||||
#define _aso_dec32(p) (atomic_add_32_nv(p,-1)+1)
|
||||
#define _aso_casptr(p,o,n) ((void*)atomic_cas_32((uint32_t*)p,(uint32_t)o,(uint32_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)atomic_cas_32((uint32_t*)p,o,n))
|
||||
}
|
||||
elif aso note{ <atomic.h> cas64 }end link{
|
||||
#include "FEATURE/common"
|
||||
|
@ -176,9 +176,9 @@ elif aso note{ <atomic.h> cas64 }end link{
|
|||
#define _aso_inc64(p) (atomic_add_64_nv(p,1)-1)
|
||||
#define _aso_dec64(p) (atomic_add_64_nv(p,-1)+1)
|
||||
#if _ast_sizeof_pointer == 8
|
||||
#define _aso_casptr(p,o,n) ((void*)cas64((uint64_t*)p,(uint64_t)o,(uint64_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)cas64((uint64_t*)p,o,n))
|
||||
#else
|
||||
#define _aso_casptr(p,o,n) ((void*)cas32((uint32_t*)p,(uint32_t)o,(uint32_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)cas32((uint32_t*)p,o,n))
|
||||
#endif
|
||||
}
|
||||
elif aso note{ <atomic.h> just cas64 }end link{
|
||||
|
@ -199,9 +199,9 @@ elif aso note{ <atomic.h> just cas64 }end link{
|
|||
#define _aso_cas32(p,o,n) cas32(p,o,n)
|
||||
#define _aso_cas64(p,o,n) cas64(p,o,n)
|
||||
#if _ast_sizeof_pointer == 8
|
||||
#define _aso_casptr(p,o,n) ((void*)cas64((uint64_t*)p,(uint64_t)o,(uint64_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)cas64((uint64_t*)p,o,n))
|
||||
#else
|
||||
#define _aso_casptr(p,o,n) ((void*)cas32((uint32_t*)p,(uint32_t)o,(uint32_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)cas32((uint32_t*)p,o,n))
|
||||
#endif
|
||||
}
|
||||
elif aso note{ <atomic.h> cas32 }end link{
|
||||
|
@ -223,7 +223,7 @@ elif aso note{ <atomic.h> cas32 }end link{
|
|||
#define _aso_cas32(p,o,n) cas32(p,o,n)
|
||||
#define _aso_inc32(p) (atomic_add_32_nv(p,1)-1)
|
||||
#define _aso_dec32(p) (atomic_add_32_nv(p,-1)+1)
|
||||
#define _aso_casptr(p,o,n) ((void*)cas32((uint32_t*)p,(uint32_t)o,(uint32_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)cas32((uint32_t*)p,o,n))
|
||||
}
|
||||
elif aso note{ <atomic.h> just cas32 }end link{
|
||||
#include "FEATURE/common"
|
||||
|
@ -240,7 +240,7 @@ elif aso note{ <atomic.h> just cas32 }end link{
|
|||
#define _aso_cas8(p,o,n) cas8(p,o,n)
|
||||
#define _aso_cas16(p,o,n) cas16(p,o,n)
|
||||
#define _aso_cas32(p,o,n) cas32(p,o,n)
|
||||
#define _aso_casptr(p,o,n) ((void*)cas32((uint32_t*)p,(uint32_t)o,(uint32_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)cas32((uint32_t*)p,o,n))
|
||||
}
|
||||
elif aso note{ winix Interlocked }end link{
|
||||
#include <windows.h>
|
||||
|
@ -261,7 +261,7 @@ elif aso note{ winix Interlocked }end link{
|
|||
#define _aso_cas64(p,o,n) InterlockedCompareExchange64((LONGLONG volatile*)p,n,o)
|
||||
#define _aso_inc64(p) (InterlockedIncrement64((LONGLONG volatile*)p)-1)
|
||||
#define _aso_dec64(p) (InterlockedDecrement64((LONGLONG volatile*)p)+1)
|
||||
#define _aso_casptr(p,o,n) ((void*)InterlockedCompareExchange64((LONGLONG volatile*)p,(LONGLONG)n,(LONGLONG)o))
|
||||
#define _aso_casptr(p,o,n) ((void*)InterlockedCompareExchange64((LONGLONG volatile*)p,n,o))
|
||||
#else
|
||||
#if _BLD_posix
|
||||
#include "dl.h"
|
||||
|
@ -345,7 +345,7 @@ elif aso note{ winix Interlocked }end link{
|
|||
return _aso_InterlockedDecrement64(p);
|
||||
}
|
||||
#endif
|
||||
#define _aso_casptr(p,o,n) ((void*)InterlockedCompareExchange((LONG volatile*)p,(LONG)n,(LONG)o))
|
||||
#define _aso_casptr(p,o,n) ((void*)InterlockedCompareExchange((LONG volatile*)p,n,o))
|
||||
#endif
|
||||
}
|
||||
elif aso note{ AIX fetch and add }end link{
|
||||
|
@ -361,9 +361,9 @@ elif aso note{ AIX fetch and add }end link{
|
|||
#define _aso_decint(p) fetch_and_add((atomic_p)p,-1)
|
||||
#define _aso_casint(p,o,n) (compare_and_swap((atomic_p)p,(int*)&o,(int)n) ? o : *p)
|
||||
#if _ast_sizeof_pointer == 8
|
||||
#define _aso_casptr(p,o,n) (compare_and_swaplp((atomic_l)p,(long*)&o,(long)n) ? o : *(void**)p)
|
||||
#define _aso_casptr(p,o,n) (compare_and_swaplp((atomic_l)p,(long*)&o,n) ? o : *(void**)p)
|
||||
#else
|
||||
#define _aso_casptr(p,o,n) (compare_and_swap((atomic_p)p,(int*)&o,(int)n) ? o : *(void**)p)
|
||||
#define _aso_casptr(p,o,n) (compare_and_swap((atomic_p)p,(int*)&o,n) ? o : *(void**)p)
|
||||
#endif
|
||||
}
|
||||
elif aso note{ MIPS compare and swap }end link{
|
||||
|
@ -374,7 +374,7 @@ elif aso note{ MIPS compare and swap }end link{
|
|||
}
|
||||
}end && {
|
||||
#define _aso_cas32(p,o,n) (__compare_and_swap(p,o,n) ? o : *p)
|
||||
#define _aso_casptr(p,o,n) (__compare_and_swap((long*)p,(long)o,(long)n) ? o : *(void**)p)
|
||||
#define _aso_casptr(p,o,n) (__compare_and_swap((long*)p,o,n) ? o : *(void**)p)
|
||||
}
|
||||
elif aso note{ i386|i386-64 asm compare and swap }end link{
|
||||
#include "FEATURE/common"
|
||||
|
@ -457,9 +457,9 @@ elif aso note{ i386|i386-64 asm compare and swap }end link{
|
|||
#define _aso_cas32(p,o,n) cas32(p,o,n)
|
||||
#if _ast_sizeof_pointer == 8
|
||||
#define _aso_cas64(p,o,n) cas64(p,o,n)
|
||||
#define _aso_casptr(p,o,n) ((void*)cas64((uint64_t*)p,(uint64_t)o,(uint64_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)cas64((uint64_t*)p,o,n))
|
||||
#else
|
||||
#define _aso_casptr(p,o,n) ((void*)cas32((uint32_t*)p,(uint32_t)o,(uint32_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)cas32((uint32_t*)p,o,n))
|
||||
#endif
|
||||
}
|
||||
elif aso note{ ia64 asm compare and swap }end link{
|
||||
|
@ -527,9 +527,9 @@ elif aso note{ ia64 asm compare and swap }end link{
|
|||
#define _aso_cas32(p,o,n) cas32(p,o,n)
|
||||
#define _aso_cas64(p,o,n) cas64(p,o,n)
|
||||
#if _ast_sizeof_pointer == 8
|
||||
#define _aso_casptr(p,o,n) ((void*)cas64((uint64_t*)p,(uint64_t)o,(uint64_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)cas64((uint64_t*)p,o,n))
|
||||
#else
|
||||
#define _aso_casptr(p,o,n) ((void*)cas32((uint32_t*)p,(uint32_t)o,(uint32_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)cas32((uint32_t*)p,o,n))
|
||||
#endif
|
||||
}
|
||||
elif aso note{ ppc asm compare and swap }end link{
|
||||
|
@ -625,9 +625,9 @@ elif aso note{ ppc asm compare and swap }end link{
|
|||
#define _aso_cas32(p,o,n) cas32(p,o,n)
|
||||
#define _aso_cas64(p,o,n) cas64(p,o,n)
|
||||
#if _ast_sizeof_pointer == 8
|
||||
#define _aso_casptr(p,o,n) ((void*)cas64((uint64_t*)p,(uint64_t)o,(uint64_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)cas64((uint64_t*)p,o,n))
|
||||
#else
|
||||
#define _aso_casptr(p,o,n) ((void*)cas32((uint32_t*)p,(uint32_t)o,(uint32_t)n))
|
||||
#define _aso_casptr(p,o,n) ((void*)cas32((uint32_t*)p,o,n))
|
||||
#endif
|
||||
}
|
||||
endif
|
||||
|
|
Loading…
Reference in a new issue