From 93770edce4a40bddc9930c0b7ce85ba495607fbd Mon Sep 17 00:00:00 2001 From: Joseph Noir <joseph.noir@gmail.com> Date: Fri, 10 Mar 2017 11:18:45 +0100 Subject: [PATCH] cpp11-compat: address cppcheck warnings --- sys/cpp11-compat/include/riot/chrono.hpp | 2 +- sys/cpp11-compat/include/riot/thread.hpp | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/sys/cpp11-compat/include/riot/chrono.hpp b/sys/cpp11-compat/include/riot/chrono.hpp index 46a89fa51e..bc2d902bf6 100644 --- a/sys/cpp11-compat/include/riot/chrono.hpp +++ b/sys/cpp11-compat/include/riot/chrono.hpp @@ -52,7 +52,7 @@ class time_point { /** * @brief Create time point from timex_t struct. */ - inline time_point(timex_t&& tp) : m_handle(tp) {} + explicit inline time_point(timex_t&& tp) : m_handle(tp) {} /** * @brief Use default copy constructor. */ diff --git a/sys/cpp11-compat/include/riot/thread.hpp b/sys/cpp11-compat/include/riot/thread.hpp index cba69852d2..3f0dca01d5 100644 --- a/sys/cpp11-compat/include/riot/thread.hpp +++ b/sys/cpp11-compat/include/riot/thread.hpp @@ -27,6 +27,7 @@ #include "time.h" #include "thread.h" +#include <array> #include <tuple> #include <atomic> #include <memory> @@ -65,7 +66,7 @@ struct thread_data { /** @cond INTERNAL */ std::atomic<unsigned> ref_count; kernel_pid_t joining_thread; - char stack[stack_size]; + std::array<char, stack_size> stack; /** @endcond */ }; @@ -106,7 +107,7 @@ public: /** * @brief Create a thread id from a native handle. */ - inline thread_id(kernel_pid_t handle) : m_handle{handle} {} + explicit inline thread_id(kernel_pid_t handle) : m_handle{handle} {} /** * @brief Comparison operator for thread ids. @@ -164,7 +165,7 @@ namespace this_thread { /** * @brief Access the id of the currently running thread. */ -inline thread_id get_id() noexcept { return thread_getpid(); } +inline thread_id get_id() noexcept { return thread_id{thread_getpid()}; } /** * @brief Yield the currently running thread. */ @@ -286,7 +287,7 @@ public: /** * @brief Returns the id of a thread. */ - inline id get_id() const noexcept { return m_handle; } + inline id get_id() const noexcept { return thread_id{m_handle}; } /** * @brief Returns the native handle to a thread. */ @@ -345,7 +346,7 @@ thread::thread(F&& f, Args&&... args) unique_ptr<func_and_args> p( new func_and_args(m_data.get(), forward<F>(f), forward<Args>(args)...)); m_handle = thread_create( - m_data->stack, stack_size, THREAD_PRIORITY_MAIN - 1, 0, + m_data->stack.data(), stack_size, THREAD_PRIORITY_MAIN - 1, 0, &thread_proxy<func_and_args>, p.get(), "riot_cpp_thread"); if (m_handle >= 0) { p.release(); -- GitLab