From 3d2d060b626a94a19480db55feecc3020440b5c3 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Tue, 12 Mar 2019 16:27:19 +0100 Subject: fix gcc 8 compiler warnings There were two newly enabled warnings: 1. cast for a function pointers. Affected sql_analyse.h, mi_write.c and ma_write.cc, mf_iocache-t.cc, mysqlbinlog.cc, encryption.cc, etc 2. memcpy/memset of nontrivial structures. Fixed as: * the warning disabled for InnoDB * TABLE, TABLE_SHARE, and TABLE_LIST got a new method reset() which does the bzero(), which is safe for these classes, but any other bzero() will still cause a warning * Table_scope_and_contents_source_st uses `TABLE_LIST *` (trivial) instead of `SQL_I_List` (not trivial) so it's safe to bzero now. * added casts in debug_sync.cc and sql_select.cc (for JOIN) * move assignment method for MDL_request instead of memcpy() * PARTIAL_INDEX_INTERSECT_INFO::init() instead of bzero() * remove constructor from READ_RECORD() to make it trivial * replace some memcpy() with c++ copy assignments --- unittest/sql/mf_iocache-t.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'unittest') diff --git a/unittest/sql/mf_iocache-t.cc b/unittest/sql/mf_iocache-t.cc index fca5ec5014d..97b2ef0f80f 100644 --- a/unittest/sql/mf_iocache-t.cc +++ b/unittest/sql/mf_iocache-t.cc @@ -49,6 +49,12 @@ uint encryption_key_get_func(uint, uint, uchar* key, uint* size) return 0; } +uint encryption_ctx_size_func(unsigned int, unsigned int) +{ + return MY_AES_CTX_SIZE; +} + + #ifdef HAVE_EncryptAes128Gcm enum my_aes_mode aes_mode= MY_AES_GCM; #else @@ -72,7 +78,7 @@ struct encryption_service_st encryption_handler= { encryption_key_get_latest_version_func, encryption_key_get_func, - (uint (*)(unsigned int, unsigned int))my_aes_ctx_size, + encryption_ctx_size_func, encryption_ctx_init_func, my_aes_crypt_update, my_aes_crypt_finish, -- cgit v1.2.1