From 9ac0775699b8da5abd4ce82899be6890ae99bed9 Mon Sep 17 00:00:00 2001 From: rbock Date: Sun, 10 Sep 2017 10:13:37 +0200 Subject: [PATCH] Add virtual destructors for virtual base classes. Thanks to new warnings in gcc-6.x --- include/sqlpp11/interpretable.h | 4 ++-- include/sqlpp11/named_interpretable.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/sqlpp11/interpretable.h b/include/sqlpp11/interpretable.h index f2c64f76..b93a897a 100644 --- a/include/sqlpp11/interpretable.h +++ b/include/sqlpp11/interpretable.h @@ -42,8 +42,7 @@ namespace sqlpp using _interpreter_context_t = typename Db::_interpreter_context_t; template - interpretable_t(T t) - : _requires_braces(requires_braces_t::value), _impl(std::make_shared<_impl_t>(t)) + interpretable_t(T t) : _requires_braces(requires_braces_t::value), _impl(std::make_shared<_impl_t>(t)) { } @@ -78,6 +77,7 @@ namespace sqlpp private: struct _impl_base { + virtual ~_impl_base() = default; virtual serializer_context_t& serialize(serializer_context_t& context) const = 0; virtual _serializer_context_t& db_serialize(_serializer_context_t& context) const = 0; virtual _interpreter_context_t& interpret(_interpreter_context_t& context) const = 0; diff --git a/include/sqlpp11/named_interpretable.h b/include/sqlpp11/named_interpretable.h index c83bc9b0..75f798d7 100644 --- a/include/sqlpp11/named_interpretable.h +++ b/include/sqlpp11/named_interpretable.h @@ -41,8 +41,7 @@ namespace sqlpp using _interpreter_context_t = typename Db::_interpreter_context_t; template - named_interpretable_t(T t) - : _requires_braces(requires_braces_t::value), _impl(std::make_shared<_impl_t>(t)) + named_interpretable_t(T t) : _requires_braces(requires_braces_t::value), _impl(std::make_shared<_impl_t>(t)) { } @@ -82,6 +81,7 @@ namespace sqlpp private: struct _impl_base { + virtual ~_impl_base() = default; virtual serializer_context_t& serialize(serializer_context_t& context) const = 0; virtual _serializer_context_t& db_serialize(_serializer_context_t& context) const = 0; virtual _interpreter_context_t& interpret(_interpreter_context_t& context) const = 0;