From 1203b65849cd1ecefe5f2df07f3165b9aa5e2a9d Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Thu, 28 Oct 2021 09:18:22 +0200 Subject: [PATCH] compilation fixes for sys-devel/gcc-11.2.0:11 for example: sql/sql_prepare.cc:5714:63: error: 'static void Ed_result_set::operator delete(void*, MEM_ROOT*)' called on pointer returned from a mismatched allocation function [-Werror=mismatched-new-delete] --- sql/sql_cursor.h | 4 +++- sql/sql_prepare.h | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sql/sql_cursor.h b/sql/sql_cursor.h index 00b9cd4e67a..b9d0b41ea19 100644 --- a/sql/sql_cursor.h +++ b/sql/sql_cursor.h @@ -39,7 +39,7 @@ class JOIN; its base class. */ -class Server_side_cursor: protected Query_arena, public Sql_alloc +class Server_side_cursor: protected Query_arena { protected: /** Row destination used for fetch */ @@ -61,6 +61,8 @@ public: } virtual ~Server_side_cursor(); + static void *operator new(size_t size, MEM_ROOT *mem_root) + { return alloc_root(mem_root, size); } static void operator delete(void *ptr, size_t size); static void operator delete(void *, MEM_ROOT *){} }; diff --git a/sql/sql_prepare.h b/sql/sql_prepare.h index f1c4e5e4be9..acdaa9a67a7 100644 --- a/sql/sql_prepare.h +++ b/sql/sql_prepare.h @@ -115,7 +115,7 @@ class Ed_row; automatic type conversion. */ -class Ed_result_set: public Sql_alloc +class Ed_result_set { public: operator List&() { return *m_rows; } @@ -129,6 +129,8 @@ public: size_t get_field_count() const { return m_column_count; } + static void *operator new(size_t size, MEM_ROOT *mem_root) + { return alloc_root(mem_root, size); } static void operator delete(void *ptr, size_t size) throw (); static void operator delete(void *, MEM_ROOT *){} private: