From 8079d6c144ead4cf39be6b4886de7bc3088ed203 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20DELRIEU?= Date: Thu, 10 Aug 2017 13:22:40 +0200 Subject: [PATCH 1/3] add missing include in schema.h --- include/sqlpp11/schema.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/sqlpp11/schema.h b/include/sqlpp11/schema.h index 5163436c..4730817b 100644 --- a/include/sqlpp11/schema.h +++ b/include/sqlpp11/schema.h @@ -27,6 +27,8 @@ #ifndef SQLPP_SCHEMA_H #define SQLPP_SCHEMA_H +#include + #include #include From a2e7e56f7025ae3d8d980254b2dfc483522fe6f8 Mon Sep 17 00:00:00 2001 From: rbock Date: Wed, 16 Aug 2017 11:33:31 +0200 Subject: [PATCH 2/3] Fix missing include. --- include/sqlpp11/verbatim_table.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/sqlpp11/verbatim_table.h b/include/sqlpp11/verbatim_table.h index 2fb2df7a..2839e4ce 100644 --- a/include/sqlpp11/verbatim_table.h +++ b/include/sqlpp11/verbatim_table.h @@ -28,6 +28,7 @@ #define SQLPP_VERBATIM_TABLE_H #include +#include #include namespace sqlpp From 9ac0775699b8da5abd4ce82899be6890ae99bed9 Mon Sep 17 00:00:00 2001 From: rbock Date: Sun, 10 Sep 2017 10:13:37 +0200 Subject: [PATCH 3/3] 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;