mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-19 05:37:54 +00:00
base: fix warning in RPC framework
The recent change of the TRACE session interface triggered the following warning: /home/no/src/genode/repos/base/include/base/ipc.h:79:4: warning: ‘ret’ may be used uninitialized in this function [-Wmaybe-uninitialized] *reinterpret_cast<T *>(&_sndbuf[_write_offset]) = value; ^ In file included from /home/no/src/genode/repos/base/src/core/include/trace/session_component.h:19:0, from /home/no/src/genode/repos/base/src/core/trace_session_component.cc:15: /home/no/src/genode/repos/base/include/base/rpc_server.h:132:42: note: ‘ret’ was declared here typename This_rpc_function::Ret_type ret; The warning occurs for basic return types (like size_t), which are indeed not initialized. The variable gets its value assigned by the corresponding 'call_member' overload, to which the variable is passed as reference. But the compiler apparently is not able to detect this assignment. Declaring 'ret' with a C++11-style default initializer fixes the warning.
This commit is contained in:
parent
a844743a2e
commit
e143084b04
@ -129,7 +129,7 @@ class Genode::Rpc_dispatcher : public RPC_INTERFACE
|
||||
*/
|
||||
typedef typename This_rpc_function::Exceptions Exceptions;
|
||||
|
||||
typename This_rpc_function::Ret_type ret;
|
||||
typename This_rpc_function::Ret_type ret { };
|
||||
Rpc_exception_code exc;
|
||||
exc = _do_serve(args, ret, Overload_selector<This_rpc_function, Exceptions>());
|
||||
os << ret;
|
||||
|
Loading…
Reference in New Issue
Block a user