Commit 965ecb95 authored by unknown's avatar unknown

Fixes to merge between 5.1-main and 5.1-marvel


include/my_atomic.h:
  To avoid compiler problems on some platforms, static inline
  should be a macro here.
include/my_bit.h:
  To avoid compiler problems on windows and solaris
libmysql/CMakeLists.txt:
  Added missing library on Windows.
parent d685c483
......@@ -35,7 +35,7 @@
#ifdef HAVE_INLINE
#define make_atomic_add(S) \
static inline int ## S my_atomic_add ## S( \
STATIC_INLINE int ## S my_atomic_add ## S( \
int ## S volatile *a, int ## S v) \
{ \
make_atomic_add_body(S); \
......@@ -43,7 +43,7 @@ static inline int ## S my_atomic_add ## S( \
}
#define make_atomic_swap(S) \
static inline int ## S my_atomic_swap ## S( \
STATIC_INLINE int ## S my_atomic_swap ## S( \
int ## S volatile *a, int ## S v) \
{ \
make_atomic_swap_body(S); \
......@@ -51,7 +51,7 @@ static inline int ## S my_atomic_swap ## S( \
}
#define make_atomic_cas(S) \
static inline int my_atomic_cas ## S(int ## S volatile *a, \
STATIC_INLINE int my_atomic_cas ## S(int ## S volatile *a, \
int ## S *cmp, int ## S set) \
{ \
int8 ret; \
......@@ -60,7 +60,7 @@ static inline int my_atomic_cas ## S(int ## S volatile *a, \
}
#define make_atomic_load(S) \
static inline int ## S my_atomic_load ## S(int ## S volatile *a) \
STATIC_INLINE int ## S my_atomic_load ## S(int ## S volatile *a) \
{ \
int ## S ret; \
make_atomic_load_body(S); \
......@@ -68,7 +68,7 @@ static inline int ## S my_atomic_load ## S(int ## S volatile *a) \
}
#define make_atomic_store(S) \
static inline void my_atomic_store ## S( \
STATIC_INLINE void my_atomic_store ## S( \
int ## S volatile *a, int ## S v) \
{ \
make_atomic_store_body(S); \
......
......@@ -2,6 +2,7 @@
Some useful bit functions
*/
C_MODE_START
#ifdef HAVE_INLINE
extern const char _my_bits_nbits[256];
......@@ -97,11 +98,12 @@ STATIC_INLINE uint32 my_reverse_bits(uint32 key)
_my_bits_reverse_table[(key>>24) ];
}
#else
#else /* HAVE_INLINE */
extern uint my_bit_log2(ulong value);
extern uint32 my_round_up_to_next_power(uint32 v);
uint32 my_clear_highest_bit(uint32 v);
uint32 my_reverse_bits(uint32 key);
extern uint my_count_bits(ulonglong v);
extern uint my_count_bits_ushort(ushort v);
#endif
#endif /* HAVE_INLINE */
C_MODE_END
......@@ -98,7 +98,7 @@ SET(CLIENT_SOURCES ../mysys/array.c ../strings/bchange.c ../strings/bmove.c
../strings/strtoll.c ../strings/strtoull.c ../strings/strxmov.c ../strings/strxnmov.c
../mysys/thr_mutex.c ../mysys/typelib.c ../vio/vio.c ../vio/viosocket.c
../vio/viossl.c ../vio/viosslfactories.c ../strings/xml.c
../mysys/my_getsystime.c ${LIB_SOURCES})
../mysys/my_getsystime.c ../mysys/my_sync.c ${LIB_SOURCES})
# Need to set USE_TLS for building the DLL, since __declspec(thread)
# approach to thread local storage does not work properly in DLLs.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment