summaryrefslogtreecommitdiff
path: root/include/m_string.h
diff options
context:
space:
mode:
authorDavi Arnaut <davi.arnaut@oracle.com>2010-11-17 07:41:29 -0200
committerDavi Arnaut <davi.arnaut@oracle.com>2010-11-17 07:41:29 -0200
commitc324624291a8c7cfbfcc728ce9fa86feb8d4e904 (patch)
tree57397dad8dc8425c049b1741cd67a87bef009720 /include/m_string.h
parentcd1c6e220de1730615c145b5337f7cce554dfdae (diff)
downloadmariadb-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.h4
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