diff options
author | Davi Arnaut <davi.arnaut@oracle.com> | 2010-11-17 07:41:29 -0200 |
---|---|---|
committer | Davi Arnaut <davi.arnaut@oracle.com> | 2010-11-17 07:41:29 -0200 |
commit | c324624291a8c7cfbfcc728ce9fa86feb8d4e904 (patch) | |
tree | 57397dad8dc8425c049b1741cd67a87bef009720 /include/m_string.h | |
parent | cd1c6e220de1730615c145b5337f7cce554dfdae (diff) | |
download | mariadb-git-c324624291a8c7cfbfcc728ce9fa86feb8d4e904.tar.gz |
Bug#57994: Compiler flag change build error : my_redel.c
Use __builtin_stpcpy only if the system supports stpcpy.
This is necessary as in some cases a call to stpcpy will
be emitted if the built-in can not optimized.
include/m_string.h:
The expansion of stpcpy (in glibc) causes warnings if the
return value of strmov is not being used. Since stpcpy is
a GNU extension and the expansion ends up using a built-in
provided by GCC, use the compiler provided built-in directly
when possible. Nonetheless, the C library must have stpcpy
as a call be emitted if the built-in can not optimized.
Diffstat (limited to 'include/m_string.h')
-rw-r--r-- | include/m_string.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/m_string.h b/include/m_string.h index 933da84c336..c963e605501 100644 --- a/include/m_string.h +++ b/include/m_string.h @@ -73,8 +73,8 @@ extern "C" { extern void *(*my_str_malloc)(size_t); extern void (*my_str_free)(void *); -#if MY_GNUC_PREREQ(3, 4) -#define strmov(dest, src) __builtin_stpcpy(dest, src) +#if defined(HAVE_STPCPY) && MY_GNUC_PREREQ(3, 4) +#define strmov(A,B) __builtin_stpcpy((A),(B)) #elif defined(HAVE_STPCPY) #define strmov(A,B) stpcpy((A),(B)) #ifndef stpcpy |