summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
authorGuilhem Bichot <guilhem@mysql.com>2010-11-22 10:13:46 +0100
committerGuilhem Bichot <guilhem@mysql.com>2010-11-22 10:13:46 +0100
commit8f02025b21e73e78a2afdd9b99e23f15cb5729e0 (patch)
tree67f7c0f077528f725c54efa26d2644c4188f1438 /sql/sql_select.cc
parent9d9699209d9ca66648db8aff46f6b66a4c1c18de (diff)
parent96b0404940f7b704c4f8dd599455d4d2f013a297 (diff)
downloadmariadb-git-8f02025b21e73e78a2afdd9b99e23f15cb5729e0.tar.gz
merge of 5.1-bugteam
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index e9373bc455f..066b279cba0 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -4050,8 +4050,12 @@ update_ref_and_keys(THD *thd, DYNAMIC_ARRAY *keyuse,JOIN_TAB *join_tab,
continue;
}
-#ifdef HAVE_purify
- /* Valgrind complains about overlapped memcpy when save_pos==use. */
+#if defined(__GNUC__) && !MY_GNUC_PREREQ(4,4)
+ /*
+ Old gcc used a memcpy(), which is undefined if save_pos==use:
+ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19410
+ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39480
+ */
if (save_pos != use)
#endif
*save_pos= *use;