From d4a3aa7eda3b0b03ee68905cfdcc7eaadf9f4240 Mon Sep 17 00:00:00 2001 From: Piotr Tworek Date: Wed, 28 Oct 2020 00:12:53 +0100 Subject: [PATCH] base: explicit copy constructor for Rpc_in_buffer According to the "rule of three" [1] and C++11 [2] Rpc_in_buffer needs to have an explicit copy constructor since it also has user defined copy assignment operator. Both clang and newer versions of GCC complain about this. [1] https://en.cppreference.com/w/cpp/language/rule_of_three [2] https://www.ece.uvic.ca/~frodo/cppdraft/n4659/html/depr.impldec Issue #3938 --- repos/base/include/base/rpc_args.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/repos/base/include/base/rpc_args.h b/repos/base/include/base/rpc_args.h index 3a9b5670df..bbc865f9be 100644 --- a/repos/base/include/base/rpc_args.h +++ b/repos/base/include/base/rpc_args.h @@ -97,6 +97,9 @@ class Genode::Rpc_in_buffer : public Rpc_in_buffer_base */ Rpc_in_buffer() { } + Rpc_in_buffer(const Rpc_in_buffer &in) + : Rpc_in_buffer_base(in.base(), in.size()) { } + Rpc_in_buffer &operator = (Rpc_in_buffer const &from) { _base = from.base();