summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2019-12-12 17:13:49 +0100
committerStephan Bergmann <sbergman@redhat.com>2019-12-12 22:00:31 +0100
commite4fac1ebbdc73e72fb79ab5d6743e0cc49b558d1 (patch)
treeba3b9398026754ef72d4d00ee4bddea0221c629c
parentdac33e465a19f0cdd8b8450ca1631cb3e09d771f (diff)
Enable -Wdeprecated-copy-dtor where available
We already get -Wdeprecated-copy (warning about implicitly defined copy functions that will in the future be deleted because other user-provided copy functions exist) automatically through -Wextra, where available. -Wdeprecated-copy-dtor (warning about implicitly defined copy functions that will in the future be deleted because of a user-provided dtor) is split off into its own warning excluded from -Wextra for somewhat unclear reasons, see the discussion at <https://gcc.gnu.org/bugzilla/buglist.cgi?quicksearch=88136> "-Wdeprecated-copy is draconian and shouldn't be in -Wall". But -Wdeprecated-copy-dtor has been useful in finding issues (esp. the Clang 10 trunk version, which, unlike the GCC 9 version, also finds copy functions that are implicitly defined because they are used from template instantiations), see 3e59716375a240576fd6d8759b32b4319506ed70 "Prevent BroadcastRecalcOnRefMoveHandler copies" and 4f98cd0f9ce9c2a331a5d34b3ef9d18f9bb6b235 "ScShapeChild has broken copy functions". We need to disable -Wdeprecated-copy-dtor in files included from external/boost, and in two compilerplugin/clang/test/ files. Change-Id: I74b159c3a046e23661473ddbfe53c92c4136a9db Reviewed-on: https://gerrit.libreoffice.org/85073 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
-rwxr-xr-xbin/gen-boost-headers1
-rw-r--r--compilerplugins/clang/test/commaoperator.cxx2
-rw-r--r--compilerplugins/clang/test/unnecessaryoverride.cxx3
-rw-r--r--config_host.mk.in1
-rw-r--r--configure.ac17
-rw-r--r--external/boost/include/boost/algorithm/string.hpp1
-rw-r--r--external/boost/include/boost/algorithm/string/case_conv.hpp1
-rw-r--r--external/boost/include/boost/algorithm/string/classification.hpp1
-rw-r--r--external/boost/include/boost/algorithm/string/predicate.hpp1
-rw-r--r--external/boost/include/boost/algorithm/string/split.hpp1
-rw-r--r--external/boost/include/boost/any.hpp1
-rw-r--r--external/boost/include/boost/archive/iterators/base64_from_binary.hpp1
-rw-r--r--external/boost/include/boost/archive/iterators/binary_from_base64.hpp1
-rw-r--r--external/boost/include/boost/archive/iterators/remove_whitespace.hpp1
-rw-r--r--external/boost/include/boost/archive/iterators/transform_width.hpp1
-rw-r--r--external/boost/include/boost/asio.hpp1
-rw-r--r--external/boost/include/boost/assign.hpp1
-rw-r--r--external/boost/include/boost/bimap/bimap.hpp1
-rw-r--r--external/boost/include/boost/bimap/unordered_set_of.hpp1
-rw-r--r--external/boost/include/boost/bind.hpp1
-rw-r--r--external/boost/include/boost/cast.hpp1
-rw-r--r--external/boost/include/boost/circular_buffer.hpp1
-rw-r--r--external/boost/include/boost/config.hpp1
-rw-r--r--external/boost/include/boost/container/deque.hpp1
-rw-r--r--external/boost/include/boost/cstdint.hpp1
-rw-r--r--external/boost/include/boost/current_function.hpp1
-rw-r--r--external/boost/include/boost/date_time.hpp1
-rw-r--r--external/boost/include/boost/date_time/posix_time/posix_time.hpp1
-rw-r--r--external/boost/include/boost/enable_shared_from_this.hpp1
-rw-r--r--external/boost/include/boost/exception/diagnostic_information.hpp1
-rw-r--r--external/boost/include/boost/filesystem.hpp1
-rw-r--r--external/boost/include/boost/filesystem/path.hpp1
-rw-r--r--external/boost/include/boost/foreach.hpp1
-rw-r--r--external/boost/include/boost/format.hpp1
-rw-r--r--external/boost/include/boost/function.hpp1
-rw-r--r--external/boost/include/boost/functional/hash.hpp1
-rw-r--r--external/boost/include/boost/fusion/adapted/std_pair.hpp1
-rw-r--r--external/boost/include/boost/fusion/include/adapt_struct.hpp1
-rw-r--r--external/boost/include/boost/intrusive/circular_list_algorithms.hpp1
-rw-r--r--external/boost/include/boost/intrusive_ptr.hpp1
-rw-r--r--external/boost/include/boost/io/ios_state.hpp1
-rw-r--r--external/boost/include/boost/iostreams/device/file_descriptor.hpp1
-rw-r--r--external/boost/include/boost/iostreams/filter/gzip.hpp1
-rw-r--r--external/boost/include/boost/iostreams/filtering_stream.hpp1
-rw-r--r--external/boost/include/boost/iterator/iterator_facade.hpp1
-rw-r--r--external/boost/include/boost/lexical_cast.hpp1
-rw-r--r--external/boost/include/boost/locale.hpp1
-rw-r--r--external/boost/include/boost/locale/gnu_gettext.hpp1
-rw-r--r--external/boost/include/boost/logic/tribool.hpp1
-rw-r--r--external/boost/include/boost/make_shared.hpp1
-rw-r--r--external/boost/include/boost/math/common_factor_rt.hpp1
-rw-r--r--external/boost/include/boost/math/constants/constants.hpp1
-rw-r--r--external/boost/include/boost/math/special_functions/expm1.hpp1
-rw-r--r--external/boost/include/boost/math/special_functions/log1p.hpp1
-rw-r--r--external/boost/include/boost/math/special_functions/sinc.hpp1
-rw-r--r--external/boost/include/boost/multi_array.hpp1
-rw-r--r--external/boost/include/boost/multi_index/composite_key.hpp1
-rw-r--r--external/boost/include/boost/multi_index/identity.hpp1
-rw-r--r--external/boost/include/boost/multi_index/mem_fun.hpp1
-rw-r--r--external/boost/include/boost/multi_index/ordered_index.hpp1
-rw-r--r--external/boost/include/boost/multi_index/random_access_index.hpp1
-rw-r--r--external/boost/include/boost/multi_index_container.hpp1
-rw-r--r--external/boost/include/boost/noncopyable.hpp1
-rw-r--r--external/boost/include/boost/none.hpp1
-rw-r--r--external/boost/include/boost/numeric/conversion/cast.hpp1
-rw-r--r--external/boost/include/boost/operators.hpp1
-rw-r--r--external/boost/include/boost/optional.hpp1
-rw-r--r--external/boost/include/boost/optional/optional.hpp1
-rw-r--r--external/boost/include/boost/preprocessor/stringize.hpp1
-rw-r--r--external/boost/include/boost/process/child.hpp1
-rw-r--r--external/boost/include/boost/program_options.hpp1
-rw-r--r--external/boost/include/boost/property_tree/json_parser.hpp1
-rw-r--r--external/boost/include/boost/property_tree/ptree.hpp1
-rw-r--r--external/boost/include/boost/ptr_container/ptr_vector.hpp1
-rw-r--r--external/boost/include/boost/range/adaptor/reversed.hpp1
-rw-r--r--external/boost/include/boost/range/iterator_range.hpp1
-rw-r--r--external/boost/include/boost/rational.hpp1
-rw-r--r--external/boost/include/boost/ref.hpp1
-rw-r--r--external/boost/include/boost/scoped_array.hpp1
-rw-r--r--external/boost/include/boost/scoped_ptr.hpp1
-rw-r--r--external/boost/include/boost/shared_array.hpp1
-rw-r--r--external/boost/include/boost/shared_ptr.hpp1
-rw-r--r--external/boost/include/boost/spirit.hpp1
-rw-r--r--external/boost/include/boost/spirit/include/classic.hpp1
-rw-r--r--external/boost/include/boost/spirit/include/classic_core.hpp1
-rw-r--r--external/boost/include/boost/spirit/include/classic_error_handling.hpp1
-rw-r--r--external/boost/include/boost/spirit/include/classic_file_iterator.hpp1
-rw-r--r--external/boost/include/boost/spirit/include/classic_utility.hpp1
-rw-r--r--external/boost/include/boost/spirit/include/classic_while.hpp1
-rw-r--r--external/boost/include/boost/spirit/include/phoenix.hpp1
-rw-r--r--external/boost/include/boost/spirit/include/qi.hpp1
-rw-r--r--external/boost/include/boost/spirit/include/qi_attr.hpp1
-rw-r--r--external/boost/include/boost/spirit/include/qi_lit.hpp1
-rw-r--r--external/boost/include/boost/spirit/include/qi_optional.hpp1
-rw-r--r--external/boost/include/boost/spirit/include/qi_parse_attr.hpp1
-rw-r--r--external/boost/include/boost/spirit/include/qi_sequence.hpp1
-rw-r--r--external/boost/include/boost/spirit/include/qi_symbols.hpp1
-rw-r--r--external/boost/include/boost/static_assert.hpp1
-rw-r--r--external/boost/include/boost/system/error_code.hpp1
-rw-r--r--external/boost/include/boost/type_index.hpp1
-rw-r--r--external/boost/include/boost/unordered_map.hpp1
-rw-r--r--external/boost/include/boost/unordered_set.hpp1
-rw-r--r--external/boost/include/boost/uuid/uuid_generators.hpp1
-rw-r--r--external/boost/include/boost/uuid/uuid_io.hpp1
-rw-r--r--external/boost/include/boost/variant.hpp1
-rw-r--r--external/boost/include/boost/variant/recursive_variant.hpp1
-rw-r--r--external/boost/include/boost/version.hpp1
-rw-r--r--external/boost/include/boost/weak_ptr.hpp1
-rw-r--r--solenv/gbuild/platform/com_GCC_defs.mk4
109 files changed, 130 insertions, 1 deletions
diff --git a/bin/gen-boost-headers b/bin/gen-boost-headers
index 478e9c8f7ee0..7397ecad47d1 100755
--- a/bin/gen-boost-headers
+++ b/bin/gen-boost-headers
@@ -40,6 +40,7 @@ cat <(cd ${SRCDIR} && git grep -h '^# *include') \
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/compilerplugins/clang/test/commaoperator.cxx b/compilerplugins/clang/test/commaoperator.cxx
index 6abe963ae7a9..260aeab4eb05 100644
--- a/compilerplugins/clang/test/commaoperator.cxx
+++ b/compilerplugins/clang/test/commaoperator.cxx
@@ -9,7 +9,7 @@
bool f();
-struct S { ~S(); };
+struct S { S(); };
int main() {
f(), f(), f(); // expected-error {{comma operator hides code [loplugin:commaoperator]}}
diff --git a/compilerplugins/clang/test/unnecessaryoverride.cxx b/compilerplugins/clang/test/unnecessaryoverride.cxx
index f8c210213922..bf1e61352315 100644
--- a/compilerplugins/clang/test/unnecessaryoverride.cxx
+++ b/compilerplugins/clang/test/unnecessaryoverride.cxx
@@ -14,7 +14,10 @@
struct Base
{
+ Base();
+ Base(Base const&);
virtual ~Base();
+ Base& operator=(Base const&);
virtual void f();
void variadic(int, ...);
void cv() const volatile;
diff --git a/config_host.mk.in b/config_host.mk.in
index ffd553acecc0..1cf941b4a5da 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -266,6 +266,7 @@ export HAVE_GNUMAKE_FILE_FUNC=@HAVE_GNUMAKE_FILE_FUNC@
export HAVE_LD_BSYMBOLIC_FUNCTIONS=@HAVE_LD_BSYMBOLIC_FUNCTIONS@
export HAVE_LD_HASH_STYLE=@HAVE_LD_HASH_STYLE@
export HAVE_POSIX_FALLOCATE=@HAVE_POSIX_FALLOCATE@
+export HAVE_WDEPRECATED_COPY_DTOR=@HAVE_WDEPRECATED_COPY_DTOR@
export HELP_ONLINE=@HELP_ONLINE@
export HELP_OMINDEX_PAGE=@HELP_OMINDEX_PAGE@
export HOST_PLATFORM=@host@
diff --git a/configure.ac b/configure.ac
index 194a3cc80fa5..adde073750e1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6732,6 +6732,23 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([
CXXFLAGS=$save_CXXFLAGS
AC_LANG_POP([C++])
+dnl Supported since GCC 9 and Clang 10 (which each also started to support -Wdeprecated-copy, but
+dnl which is included in -Wextra anyway):
+HAVE_WDEPRECATED_COPY_DTOR=
+if test "$GCC" = yes; then
+ AC_MSG_CHECKING([whether $CXX_BASE supports -Wdeprecated-copy-dtor])
+ AC_LANG_PUSH([C++])
+ save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS -Werror -Wdeprecated-copy-dtor"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE()], [
+ HAVE_WDEPRECATED_COPY_DTOR=TRUE
+ AC_MSG_RESULT([yes])
+ ], [AC_MSG_RESULT([no])])
+ CXXFLAGS=$save_CXXFLAGS
+ AC_LANG_POP([C++])
+fi
+AC_SUBST([HAVE_WDEPRECATED_COPY_DTOR])
+
dnl At least GCC 8.2 with -O2 (i.e., --enable-optimized) causes a false-positive -Wmaybe-
dnl uninitialized warning for code like
dnl
diff --git a/external/boost/include/boost/algorithm/string.hpp b/external/boost/include/boost/algorithm/string.hpp
index ad7dabf82da9..be4288c7d7b0 100644
--- a/external/boost/include/boost/algorithm/string.hpp
+++ b/external/boost/include/boost/algorithm/string.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/algorithm/string/case_conv.hpp b/external/boost/include/boost/algorithm/string/case_conv.hpp
index 8e2f0b1986de..931c8731f83f 100644
--- a/external/boost/include/boost/algorithm/string/case_conv.hpp
+++ b/external/boost/include/boost/algorithm/string/case_conv.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/algorithm/string/classification.hpp b/external/boost/include/boost/algorithm/string/classification.hpp
index 66169df0e3de..2a7b10130580 100644
--- a/external/boost/include/boost/algorithm/string/classification.hpp
+++ b/external/boost/include/boost/algorithm/string/classification.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/algorithm/string/predicate.hpp b/external/boost/include/boost/algorithm/string/predicate.hpp
index af71d53bdd7e..39f05e1a90aa 100644
--- a/external/boost/include/boost/algorithm/string/predicate.hpp
+++ b/external/boost/include/boost/algorithm/string/predicate.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/algorithm/string/split.hpp b/external/boost/include/boost/algorithm/string/split.hpp
index 0149a0568538..f45553a06e33 100644
--- a/external/boost/include/boost/algorithm/string/split.hpp
+++ b/external/boost/include/boost/algorithm/string/split.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/any.hpp b/external/boost/include/boost/any.hpp
index ed78152466e6..26b22ac39d3d 100644
--- a/external/boost/include/boost/any.hpp
+++ b/external/boost/include/boost/any.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/archive/iterators/base64_from_binary.hpp b/external/boost/include/boost/archive/iterators/base64_from_binary.hpp
index f89f029f61a1..eadb49fd9895 100644
--- a/external/boost/include/boost/archive/iterators/base64_from_binary.hpp
+++ b/external/boost/include/boost/archive/iterators/base64_from_binary.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/archive/iterators/binary_from_base64.hpp b/external/boost/include/boost/archive/iterators/binary_from_base64.hpp
index f9381fbaa4c8..2809ec622912 100644
--- a/external/boost/include/boost/archive/iterators/binary_from_base64.hpp
+++ b/external/boost/include/boost/archive/iterators/binary_from_base64.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/archive/iterators/remove_whitespace.hpp b/external/boost/include/boost/archive/iterators/remove_whitespace.hpp
index 095e76d755f2..476b3aa56173 100644
--- a/external/boost/include/boost/archive/iterators/remove_whitespace.hpp
+++ b/external/boost/include/boost/archive/iterators/remove_whitespace.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/archive/iterators/transform_width.hpp b/external/boost/include/boost/archive/iterators/transform_width.hpp
index 1e7a7bbf5f5f..17567c73c9ce 100644
--- a/external/boost/include/boost/archive/iterators/transform_width.hpp
+++ b/external/boost/include/boost/archive/iterators/transform_width.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/asio.hpp b/external/boost/include/boost/asio.hpp
index 3aa37d257688..049ead7effda 100644
--- a/external/boost/include/boost/asio.hpp
+++ b/external/boost/include/boost/asio.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/assign.hpp b/external/boost/include/boost/assign.hpp
index a3439b4afbde..e6989b6f72e2 100644
--- a/external/boost/include/boost/assign.hpp
+++ b/external/boost/include/boost/assign.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/bimap/bimap.hpp b/external/boost/include/boost/bimap/bimap.hpp
index 56839134ca0d..552cadea921f 100644
--- a/external/boost/include/boost/bimap/bimap.hpp
+++ b/external/boost/include/boost/bimap/bimap.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/bimap/unordered_set_of.hpp b/external/boost/include/boost/bimap/unordered_set_of.hpp
index 19081ad02322..9ad863bd69e2 100644
--- a/external/boost/include/boost/bimap/unordered_set_of.hpp
+++ b/external/boost/include/boost/bimap/unordered_set_of.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/bind.hpp b/external/boost/include/boost/bind.hpp
index 20b1e96dc75d..8c4e96dc38f9 100644
--- a/external/boost/include/boost/bind.hpp
+++ b/external/boost/include/boost/bind.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/cast.hpp b/external/boost/include/boost/cast.hpp
index f35a82a83028..5a4059d0823e 100644
--- a/external/boost/include/boost/cast.hpp
+++ b/external/boost/include/boost/cast.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/circular_buffer.hpp b/external/boost/include/boost/circular_buffer.hpp
index 4f2d4e74081f..7f39b56bff05 100644
--- a/external/boost/include/boost/circular_buffer.hpp
+++ b/external/boost/include/boost/circular_buffer.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/config.hpp b/external/boost/include/boost/config.hpp
index 03aba6aef7ff..e9313ad4627c 100644
--- a/external/boost/include/boost/config.hpp
+++ b/external/boost/include/boost/config.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/container/deque.hpp b/external/boost/include/boost/container/deque.hpp
index c2534123830a..07eba123ee44 100644
--- a/external/boost/include/boost/container/deque.hpp
+++ b/external/boost/include/boost/container/deque.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/cstdint.hpp b/external/boost/include/boost/cstdint.hpp
index 932fc2f95409..d390294dad3e 100644
--- a/external/boost/include/boost/cstdint.hpp
+++ b/external/boost/include/boost/cstdint.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/current_function.hpp b/external/boost/include/boost/current_function.hpp
index 8d6296731fed..3406c82ae99e 100644
--- a/external/boost/include/boost/current_function.hpp
+++ b/external/boost/include/boost/current_function.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/date_time.hpp b/external/boost/include/boost/date_time.hpp
index 979ba99c4d64..f1fb17e0434e 100644
--- a/external/boost/include/boost/date_time.hpp
+++ b/external/boost/include/boost/date_time.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/date_time/posix_time/posix_time.hpp b/external/boost/include/boost/date_time/posix_time/posix_time.hpp
index f519e3eaf4cb..84e74e7ea225 100644
--- a/external/boost/include/boost/date_time/posix_time/posix_time.hpp
+++ b/external/boost/include/boost/date_time/posix_time/posix_time.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/enable_shared_from_this.hpp b/external/boost/include/boost/enable_shared_from_this.hpp
index 3d99dd57d127..8900fcd26b10 100644
--- a/external/boost/include/boost/enable_shared_from_this.hpp
+++ b/external/boost/include/boost/enable_shared_from_this.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/exception/diagnostic_information.hpp b/external/boost/include/boost/exception/diagnostic_information.hpp
index 1e46cd551c96..efef66442de2 100644
--- a/external/boost/include/boost/exception/diagnostic_information.hpp
+++ b/external/boost/include/boost/exception/diagnostic_information.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/filesystem.hpp b/external/boost/include/boost/filesystem.hpp
index a23e81e33c12..481ac8a0f09a 100644
--- a/external/boost/include/boost/filesystem.hpp
+++ b/external/boost/include/boost/filesystem.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/filesystem/path.hpp b/external/boost/include/boost/filesystem/path.hpp
index f3927a8f9220..68f6883c6761 100644
--- a/external/boost/include/boost/filesystem/path.hpp
+++ b/external/boost/include/boost/filesystem/path.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/foreach.hpp b/external/boost/include/boost/foreach.hpp
index 70c81489a470..4ae292ffac2c 100644
--- a/external/boost/include/boost/foreach.hpp
+++ b/external/boost/include/boost/foreach.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/format.hpp b/external/boost/include/boost/format.hpp
index 467dd952185a..f602769cb9e9 100644
--- a/external/boost/include/boost/format.hpp
+++ b/external/boost/include/boost/format.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/function.hpp b/external/boost/include/boost/function.hpp
index 952e4abb9df2..981c8e6869ce 100644
--- a/external/boost/include/boost/function.hpp
+++ b/external/boost/include/boost/function.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/functional/hash.hpp b/external/boost/include/boost/functional/hash.hpp
index f3fc2cfdfa37..1a2065cc48d3 100644
--- a/external/boost/include/boost/functional/hash.hpp
+++ b/external/boost/include/boost/functional/hash.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/fusion/adapted/std_pair.hpp b/external/boost/include/boost/fusion/adapted/std_pair.hpp
index 9dd29bcc4096..88f104690cf0 100644
--- a/external/boost/include/boost/fusion/adapted/std_pair.hpp
+++ b/external/boost/include/boost/fusion/adapted/std_pair.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/fusion/include/adapt_struct.hpp b/external/boost/include/boost/fusion/include/adapt_struct.hpp
index 6462b99d3577..ab28c4d19af8 100644
--- a/external/boost/include/boost/fusion/include/adapt_struct.hpp
+++ b/external/boost/include/boost/fusion/include/adapt_struct.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/intrusive/circular_list_algorithms.hpp b/external/boost/include/boost/intrusive/circular_list_algorithms.hpp
index 136468348535..cdb1be13131a 100644
--- a/external/boost/include/boost/intrusive/circular_list_algorithms.hpp
+++ b/external/boost/include/boost/intrusive/circular_list_algorithms.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/intrusive_ptr.hpp b/external/boost/include/boost/intrusive_ptr.hpp
index 800a25738b6e..11bb259afec6 100644
--- a/external/boost/include/boost/intrusive_ptr.hpp
+++ b/external/boost/include/boost/intrusive_ptr.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/io/ios_state.hpp b/external/boost/include/boost/io/ios_state.hpp
index 3680ade3d294..22828f83d3ca 100644
--- a/external/boost/include/boost/io/ios_state.hpp
+++ b/external/boost/include/boost/io/ios_state.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/iostreams/device/file_descriptor.hpp b/external/boost/include/boost/iostreams/device/file_descriptor.hpp
index 584b6260fd58..4dc007dfaeec 100644
--- a/external/boost/include/boost/iostreams/device/file_descriptor.hpp
+++ b/external/boost/include/boost/iostreams/device/file_descriptor.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/iostreams/filter/gzip.hpp b/external/boost/include/boost/iostreams/filter/gzip.hpp
index 2ab88978174d..963fe9fe801b 100644
--- a/external/boost/include/boost/iostreams/filter/gzip.hpp
+++ b/external/boost/include/boost/iostreams/filter/gzip.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/iostreams/filtering_stream.hpp b/external/boost/include/boost/iostreams/filtering_stream.hpp
index 7a387f76b3e4..9382d88a984a 100644
--- a/external/boost/include/boost/iostreams/filtering_stream.hpp
+++ b/external/boost/include/boost/iostreams/filtering_stream.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/iterator/iterator_facade.hpp b/external/boost/include/boost/iterator/iterator_facade.hpp
index cf420d2962da..48ea0d1ef2bd 100644
--- a/external/boost/include/boost/iterator/iterator_facade.hpp
+++ b/external/boost/include/boost/iterator/iterator_facade.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/lexical_cast.hpp b/external/boost/include/boost/lexical_cast.hpp
index 4ec5e34772b1..9b046932860f 100644
--- a/external/boost/include/boost/lexical_cast.hpp
+++ b/external/boost/include/boost/lexical_cast.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/locale.hpp b/external/boost/include/boost/locale.hpp
index 42a2d5396118..bc8adc2783d3 100644
--- a/external/boost/include/boost/locale.hpp
+++ b/external/boost/include/boost/locale.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/locale/gnu_gettext.hpp b/external/boost/include/boost/locale/gnu_gettext.hpp
index a30ac3775665..cf947b8d2075 100644
--- a/external/boost/include/boost/locale/gnu_gettext.hpp
+++ b/external/boost/include/boost/locale/gnu_gettext.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/logic/tribool.hpp b/external/boost/include/boost/logic/tribool.hpp
index a733419d4825..0a0676270f41 100644
--- a/external/boost/include/boost/logic/tribool.hpp
+++ b/external/boost/include/boost/logic/tribool.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/make_shared.hpp b/external/boost/include/boost/make_shared.hpp
index 182e1dcebf52..97f8946662a8 100644
--- a/external/boost/include/boost/make_shared.hpp
+++ b/external/boost/include/boost/make_shared.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/math/common_factor_rt.hpp b/external/boost/include/boost/math/common_factor_rt.hpp
index ea3fd290387a..c7459f2a7167 100644
--- a/external/boost/include/boost/math/common_factor_rt.hpp
+++ b/external/boost/include/boost/math/common_factor_rt.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/math/constants/constants.hpp b/external/boost/include/boost/math/constants/constants.hpp
index 04a3d1811180..bc24b30d90d7 100644
--- a/external/boost/include/boost/math/constants/constants.hpp
+++ b/external/boost/include/boost/math/constants/constants.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/math/special_functions/expm1.hpp b/external/boost/include/boost/math/special_functions/expm1.hpp
index 969402525778..58612e920a19 100644
--- a/external/boost/include/boost/math/special_functions/expm1.hpp
+++ b/external/boost/include/boost/math/special_functions/expm1.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/math/special_functions/log1p.hpp b/external/boost/include/boost/math/special_functions/log1p.hpp
index 3a0ca367f187..c6897c92582e 100644
--- a/external/boost/include/boost/math/special_functions/log1p.hpp
+++ b/external/boost/include/boost/math/special_functions/log1p.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/math/special_functions/sinc.hpp b/external/boost/include/boost/math/special_functions/sinc.hpp
index ef04fd0b7356..9d6ae127321c 100644
--- a/external/boost/include/boost/math/special_functions/sinc.hpp
+++ b/external/boost/include/boost/math/special_functions/sinc.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/multi_array.hpp b/external/boost/include/boost/multi_array.hpp
index 9155dae59bb1..0adfe44d5a19 100644
--- a/external/boost/include/boost/multi_array.hpp
+++ b/external/boost/include/boost/multi_array.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/multi_index/composite_key.hpp b/external/boost/include/boost/multi_index/composite_key.hpp
index 881f325ee29b..8d60fa168a5b 100644
--- a/external/boost/include/boost/multi_index/composite_key.hpp
+++ b/external/boost/include/boost/multi_index/composite_key.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/multi_index/identity.hpp b/external/boost/include/boost/multi_index/identity.hpp
index ca85c6787a1a..a467c2bf3b51 100644
--- a/external/boost/include/boost/multi_index/identity.hpp
+++ b/external/boost/include/boost/multi_index/identity.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/multi_index/mem_fun.hpp b/external/boost/include/boost/multi_index/mem_fun.hpp
index 84f04eaf861f..cdfb779970fa 100644
--- a/external/boost/include/boost/multi_index/mem_fun.hpp
+++ b/external/boost/include/boost/multi_index/mem_fun.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/multi_index/ordered_index.hpp b/external/boost/include/boost/multi_index/ordered_index.hpp
index 8b95edf758fa..864764337ff7 100644
--- a/external/boost/include/boost/multi_index/ordered_index.hpp
+++ b/external/boost/include/boost/multi_index/ordered_index.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/multi_index/random_access_index.hpp b/external/boost/include/boost/multi_index/random_access_index.hpp
index 81786438a01a..ea016ebcd065 100644
--- a/external/boost/include/boost/multi_index/random_access_index.hpp
+++ b/external/boost/include/boost/multi_index/random_access_index.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/multi_index_container.hpp b/external/boost/include/boost/multi_index_container.hpp
index 79cbc68e7bb3..75eb0ba8f6c9 100644
--- a/external/boost/include/boost/multi_index_container.hpp
+++ b/external/boost/include/boost/multi_index_container.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/noncopyable.hpp b/external/boost/include/boost/noncopyable.hpp
index 1fa9936528b3..63c51fe30032 100644
--- a/external/boost/include/boost/noncopyable.hpp
+++ b/external/boost/include/boost/noncopyable.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/none.hpp b/external/boost/include/boost/none.hpp
index 8ae6f6453aba..8316abdc4a26 100644
--- a/external/boost/include/boost/none.hpp
+++ b/external/boost/include/boost/none.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/numeric/conversion/cast.hpp b/external/boost/include/boost/numeric/conversion/cast.hpp
index 51e9bb3780c4..63d16ed557f8 100644
--- a/external/boost/include/boost/numeric/conversion/cast.hpp
+++ b/external/boost/include/boost/numeric/conversion/cast.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/operators.hpp b/external/boost/include/boost/operators.hpp
index b2522366a4ca..c00a80a5f7cf 100644
--- a/external/boost/include/boost/operators.hpp
+++ b/external/boost/include/boost/operators.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/optional.hpp b/external/boost/include/boost/optional.hpp
index 3037bdd17e93..4800cb852581 100644
--- a/external/boost/include/boost/optional.hpp
+++ b/external/boost/include/boost/optional.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/optional/optional.hpp b/external/boost/include/boost/optional/optional.hpp
index ac8cea348eeb..afceee14ac2e 100644
--- a/external/boost/include/boost/optional/optional.hpp
+++ b/external/boost/include/boost/optional/optional.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/preprocessor/stringize.hpp b/external/boost/include/boost/preprocessor/stringize.hpp
index 61b454df4db6..d1005337a558 100644
--- a/external/boost/include/boost/preprocessor/stringize.hpp
+++ b/external/boost/include/boost/preprocessor/stringize.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/process/child.hpp b/external/boost/include/boost/process/child.hpp
index a6cba5ea8ccc..926e9d31d670 100644
--- a/external/boost/include/boost/process/child.hpp
+++ b/external/boost/include/boost/process/child.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/program_options.hpp b/external/boost/include/boost/program_options.hpp
index 6dc76ad6a25a..99127d01faab 100644
--- a/external/boost/include/boost/program_options.hpp
+++ b/external/boost/include/boost/program_options.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/property_tree/json_parser.hpp b/external/boost/include/boost/property_tree/json_parser.hpp
index 3e79b7d3c611..00d024e150ae 100644
--- a/external/boost/include/boost/property_tree/json_parser.hpp
+++ b/external/boost/include/boost/property_tree/json_parser.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/property_tree/ptree.hpp b/external/boost/include/boost/property_tree/ptree.hpp
index 7a75dfc6851a..958c8167939e 100644
--- a/external/boost/include/boost/property_tree/ptree.hpp
+++ b/external/boost/include/boost/property_tree/ptree.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/ptr_container/ptr_vector.hpp b/external/boost/include/boost/ptr_container/ptr_vector.hpp
index eb116894bacb..0fd6ba12d26b 100644
--- a/external/boost/include/boost/ptr_container/ptr_vector.hpp
+++ b/external/boost/include/boost/ptr_container/ptr_vector.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/range/adaptor/reversed.hpp b/external/boost/include/boost/range/adaptor/reversed.hpp
index 04b14540006b..a16dafb24a54 100644
--- a/external/boost/include/boost/range/adaptor/reversed.hpp
+++ b/external/boost/include/boost/range/adaptor/reversed.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/range/iterator_range.hpp b/external/boost/include/boost/range/iterator_range.hpp
index d01cd33e15e2..e15d69bb3666 100644
--- a/external/boost/include/boost/range/iterator_range.hpp
+++ b/external/boost/include/boost/range/iterator_range.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/rational.hpp b/external/boost/include/boost/rational.hpp
index dd051852dcef..b622fc5abc74 100644
--- a/external/boost/include/boost/rational.hpp
+++ b/external/boost/include/boost/rational.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/ref.hpp b/external/boost/include/boost/ref.hpp
index 28ed4d5bf629..ebcb874885be 100644
--- a/external/boost/include/boost/ref.hpp
+++ b/external/boost/include/boost/ref.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/scoped_array.hpp b/external/boost/include/boost/scoped_array.hpp
index 03e138b38817..f4e24d9f8066 100644
--- a/external/boost/include/boost/scoped_array.hpp
+++ b/external/boost/include/boost/scoped_array.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/scoped_ptr.hpp b/external/boost/include/boost/scoped_ptr.hpp
index 17bd3f63b257..5d6928fad047 100644
--- a/external/boost/include/boost/scoped_ptr.hpp
+++ b/external/boost/include/boost/scoped_ptr.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/shared_array.hpp b/external/boost/include/boost/shared_array.hpp
index 8afedc50e8c8..ba0c7a4c8d66 100644
--- a/external/boost/include/boost/shared_array.hpp
+++ b/external/boost/include/boost/shared_array.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/shared_ptr.hpp b/external/boost/include/boost/shared_ptr.hpp
index 2fb3cc0c7ae8..88122d1cfdca 100644
--- a/external/boost/include/boost/shared_ptr.hpp
+++ b/external/boost/include/boost/shared_ptr.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/spirit.hpp b/external/boost/include/boost/spirit.hpp
index 28c3273afc52..6d13403a7dc2 100644
--- a/external/boost/include/boost/spirit.hpp
+++ b/external/boost/include/boost/spirit.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/spirit/include/classic.hpp b/external/boost/include/boost/spirit/include/classic.hpp
index b7199c8e93ed..717f1b6b27e5 100644
--- a/external/boost/include/boost/spirit/include/classic.hpp
+++ b/external/boost/include/boost/spirit/include/classic.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/spirit/include/classic_core.hpp b/external/boost/include/boost/spirit/include/classic_core.hpp
index 132073577f4e..1ab7ac558171 100644
--- a/external/boost/include/boost/spirit/include/classic_core.hpp
+++ b/external/boost/include/boost/spirit/include/classic_core.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/spirit/include/classic_error_handling.hpp b/external/boost/include/boost/spirit/include/classic_error_handling.hpp
index 6d65e6d90b89..ef1951a40b5c 100644
--- a/external/boost/include/boost/spirit/include/classic_error_handling.hpp
+++ b/external/boost/include/boost/spirit/include/classic_error_handling.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/spirit/include/classic_file_iterator.hpp b/external/boost/include/boost/spirit/include/classic_file_iterator.hpp
index 01ce04e1e34f..19b4809ec6b7 100644
--- a/external/boost/include/boost/spirit/include/classic_file_iterator.hpp
+++ b/external/boost/include/boost/spirit/include/classic_file_iterator.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/spirit/include/classic_utility.hpp b/external/boost/include/boost/spirit/include/classic_utility.hpp
index b1febc31a195..5e5bdc4b9942 100644
--- a/external/boost/include/boost/spirit/include/classic_utility.hpp
+++ b/external/boost/include/boost/spirit/include/classic_utility.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/spirit/include/classic_while.hpp b/external/boost/include/boost/spirit/include/classic_while.hpp
index b646628f9c8f..c08d7a1c508f 100644
--- a/external/boost/include/boost/spirit/include/classic_while.hpp
+++ b/external/boost/include/boost/spirit/include/classic_while.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/spirit/include/phoenix.hpp b/external/boost/include/boost/spirit/include/phoenix.hpp
index eaaf8c632f44..5a6c7701e240 100644
--- a/external/boost/include/boost/spirit/include/phoenix.hpp
+++ b/external/boost/include/boost/spirit/include/phoenix.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/spirit/include/qi.hpp b/external/boost/include/boost/spirit/include/qi.hpp
index e5fed56661f7..70d98d769183 100644
--- a/external/boost/include/boost/spirit/include/qi.hpp
+++ b/external/boost/include/boost/spirit/include/qi.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/spirit/include/qi_attr.hpp b/external/boost/include/boost/spirit/include/qi_attr.hpp
index cd7dbc193ff2..dca2ac9c3e7f 100644
--- a/external/boost/include/boost/spirit/include/qi_attr.hpp
+++ b/external/boost/include/boost/spirit/include/qi_attr.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/spirit/include/qi_lit.hpp b/external/boost/include/boost/spirit/include/qi_lit.hpp
index a9fc82e56957..57d06199c12b 100644
--- a/external/boost/include/boost/spirit/include/qi_lit.hpp
+++ b/external/boost/include/boost/spirit/include/qi_lit.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/spirit/include/qi_optional.hpp b/external/boost/include/boost/spirit/include/qi_optional.hpp
index 774bc8d3f32d..0672607ce739 100644
--- a/external/boost/include/boost/spirit/include/qi_optional.hpp
+++ b/external/boost/include/boost/spirit/include/qi_optional.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/spirit/include/qi_parse_attr.hpp b/external/boost/include/boost/spirit/include/qi_parse_attr.hpp
index c4305aaf2425..1cd3a05a00e7 100644
--- a/external/boost/include/boost/spirit/include/qi_parse_attr.hpp
+++ b/external/boost/include/boost/spirit/include/qi_parse_attr.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/spirit/include/qi_sequence.hpp b/external/boost/include/boost/spirit/include/qi_sequence.hpp
index 20898f1e25df..35c6f26c6c49 100644
--- a/external/boost/include/boost/spirit/include/qi_sequence.hpp
+++ b/external/boost/include/boost/spirit/include/qi_sequence.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/spirit/include/qi_symbols.hpp b/external/boost/include/boost/spirit/include/qi_symbols.hpp
index 4e9b3e07c517..2046a81b6182 100644
--- a/external/boost/include/boost/spirit/include/qi_symbols.hpp
+++ b/external/boost/include/boost/spirit/include/qi_symbols.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/static_assert.hpp b/external/boost/include/boost/static_assert.hpp
index 82a7f809c8f6..ee69dbff09e6 100644
--- a/external/boost/include/boost/static_assert.hpp
+++ b/external/boost/include/boost/static_assert.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/system/error_code.hpp b/external/boost/include/boost/system/error_code.hpp
index e5559b4931e8..aa9639864c9d 100644
--- a/external/boost/include/boost/system/error_code.hpp
+++ b/external/boost/include/boost/system/error_code.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/type_index.hpp b/external/boost/include/boost/type_index.hpp
index e97fb1ae0d97..271ec49d94fe 100644
--- a/external/boost/include/boost/type_index.hpp
+++ b/external/boost/include/boost/type_index.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/unordered_map.hpp b/external/boost/include/boost/unordered_map.hpp
index 224f6e8efddb..6b97a9b2c8da 100644
--- a/external/boost/include/boost/unordered_map.hpp
+++ b/external/boost/include/boost/unordered_map.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/unordered_set.hpp b/external/boost/include/boost/unordered_set.hpp
index 71e1e82beb43..64ab579b07f0 100644
--- a/external/boost/include/boost/unordered_set.hpp
+++ b/external/boost/include/boost/unordered_set.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/uuid/uuid_generators.hpp b/external/boost/include/boost/uuid/uuid_generators.hpp
index 188daaabb23e..983ae678fdd4 100644
--- a/external/boost/include/boost/uuid/uuid_generators.hpp
+++ b/external/boost/include/boost/uuid/uuid_generators.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/uuid/uuid_io.hpp b/external/boost/include/boost/uuid/uuid_io.hpp
index 6f7804f04f0e..0d0eeaf0e5a3 100644
--- a/external/boost/include/boost/uuid/uuid_io.hpp
+++ b/external/boost/include/boost/uuid/uuid_io.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/variant.hpp b/external/boost/include/boost/variant.hpp
index ce10d761ffd0..0b1583642bf9 100644
--- a/external/boost/include/boost/variant.hpp
+++ b/external/boost/include/boost/variant.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/variant/recursive_variant.hpp b/external/boost/include/boost/variant/recursive_variant.hpp
index b3b1ba12e6d0..73e30a80e822 100644
--- a/external/boost/include/boost/variant/recursive_variant.hpp
+++ b/external/boost/include/boost/variant/recursive_variant.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/version.hpp b/external/boost/include/boost/version.hpp
index 82383617c330..6985737d84f9 100644
--- a/external/boost/include/boost/version.hpp
+++ b/external/boost/include/boost/version.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/external/boost/include/boost/weak_ptr.hpp b/external/boost/include/boost/weak_ptr.hpp
index bf2d6f04ddfd..a8f7aa2a72fd 100644
--- a/external/boost/include/boost/weak_ptr.hpp
+++ b/external/boost/include/boost/weak_ptr.hpp
@@ -6,6 +6,7 @@
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk
index 13c770baa79f..5cc24413bb45 100644
--- a/solenv/gbuild/platform/com_GCC_defs.mk
+++ b/solenv/gbuild/platform/com_GCC_defs.mk
@@ -85,6 +85,10 @@ gb_CXXFLAGS_COMMON := \
-fstack-protector-strong \
$(if $(gb_COLOR),-fdiagnostics-color=always) \
+ifeq ($(HAVE_WDEPRECATED_COPY_DTOR),TRUE)
+gb_CXXFLAGS_COMMON += -Wdeprecated-copy-dtor
+endif
+
gb_CXXFLAGS_DISABLE_WARNINGS = -w
ifeq ($(HAVE_BROKEN_GCC_WMAYBE_UNINITIALIZED),TRUE)