From 499ffcd30042eb13cd57ecc019faa3442b24c586 Mon Sep 17 00:00:00 2001 From: Dennis Klein Date: Mon, 22 Jul 2019 10:38:38 +0200 Subject: [PATCH] Fix various clang-tidy warnings --- .clang-tidy | 4 ++-- fairmq/CMakeLists.txt | 2 ++ fairmq/DeviceRunner.cxx | 2 +- fairmq/DeviceRunner.h | 2 +- fairmq/States.h | 4 ++-- fairmq/tools/InstanceLimit.h | 4 ++++ fairmq/tools/Network.h | 2 +- fairmq/tools/RateLimit.h | 6 ++++-- fairmq/tools/Strings.h | 9 ++++++--- 9 files changed, 23 insertions(+), 12 deletions(-) diff --git a/.clang-tidy b/.clang-tidy index 93c6d275..a4aa8fc2 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -1,3 +1,3 @@ --- -Checks: '*,-google-*,-fuchsia-*,-cert-*,-llvm-header-guard' -HeaderFilterRegex: '.*/(boost|fairlogger)/.*' +Checks: '*,-google-*,-fuchsia-*,-cert-*,-llvm-header-guard,-readability-named-parameter,-misc-non-private-member-variables-in-classes,-*-magic-numbers,-llvm-include-order,-hicpp-no-array-decay,-performance-unnecessary-value-param,-cppcoreguidelines-pro-bounds-array-to-pointer-decay' +HeaderFilterRegex: '/(fairmq/|FairMQ)' diff --git a/fairmq/CMakeLists.txt b/fairmq/CMakeLists.txt index 26a2f860..3d2f20bb 100644 --- a/fairmq/CMakeLists.txt +++ b/fairmq/CMakeLists.txt @@ -66,6 +66,8 @@ if(BUILD_FAIRMQ OR BUILD_SDK) target_link_libraries(${target} PRIVATE FairLogger::FairLogger + PUBLIC + Boost::boost ) set_target_properties(${target} PROPERTIES VERSION ${PROJECT_GIT_VERSION} diff --git a/fairmq/DeviceRunner.cxx b/fairmq/DeviceRunner.cxx index c605ec84..75fc5535 100644 --- a/fairmq/DeviceRunner.cxx +++ b/fairmq/DeviceRunner.cxx @@ -15,7 +15,7 @@ using namespace std; using namespace fair::mq; -DeviceRunner::DeviceRunner(int argc, char* const argv[], bool printLogo) +DeviceRunner::DeviceRunner(int argc, char*const* argv, bool printLogo) : fRawCmdLineArgs(tools::ToStrVector(argc, argv, false)) , fConfig() , fDevice(nullptr) diff --git a/fairmq/DeviceRunner.h b/fairmq/DeviceRunner.h index 1ff011e6..cdc022cb 100644 --- a/fairmq/DeviceRunner.h +++ b/fairmq/DeviceRunner.h @@ -51,7 +51,7 @@ namespace mq { class DeviceRunner { public: - DeviceRunner(int argc, char* const argv[], bool printLogo = true); + DeviceRunner(int argc, char*const* argv, bool printLogo = true); auto Run() -> int; auto RunWithExceptionHandlers() -> int; diff --git a/fairmq/States.h b/fairmq/States.h index 484abc85..8eafeef9 100644 --- a/fairmq/States.h +++ b/fairmq/States.h @@ -53,8 +53,8 @@ enum class Transition : int ErrorFound }; -std::string GetStateName(const State); -std::string GetTransitionName(const Transition); +std::string GetStateName(State); +std::string GetTransitionName(Transition); State GetState(const std::string& state); Transition GetTransition(const std::string& transition); diff --git a/fairmq/tools/InstanceLimit.h b/fairmq/tools/InstanceLimit.h index ffa1ec43..ee9ed64b 100644 --- a/fairmq/tools/InstanceLimit.h +++ b/fairmq/tools/InstanceLimit.h @@ -19,6 +19,10 @@ template struct InstanceLimiter { InstanceLimiter() { Increment(); } + explicit InstanceLimiter(const InstanceLimiter&) = delete; + explicit InstanceLimiter(InstanceLimiter&&) = delete; + InstanceLimiter& operator=(const InstanceLimiter&) = delete; + InstanceLimiter& operator=(InstanceLimiter&&) = delete; ~InstanceLimiter() { Decrement(); } auto GetCount() -> int { return fCount; } diff --git a/fairmq/tools/Network.h b/fairmq/tools/Network.h index a00c410e..e62aff74 100644 --- a/fairmq/tools/Network.h +++ b/fairmq/tools/Network.h @@ -19,7 +19,7 @@ namespace asio { class io_context; -typedef class io_context io_service; +using io_service = class io_context; } // namespace asio } // namespace boost diff --git a/fairmq/tools/RateLimit.h b/fairmq/tools/RateLimit.h index ab208b04..9eef4ba6 100644 --- a/fairmq/tools/RateLimit.h +++ b/fairmq/tools/RateLimit.h @@ -48,7 +48,9 @@ public: * to 0 set the rate to 1 GHz (which is impossible to achieve, even with a * loop that only calls RateLimiter::maybe_sleep). */ - RateLimiter(float rate) : tw_req(std::chrono::seconds(1)), start_time(clock::now()) + explicit RateLimiter(float rate) + : tw_req(std::chrono::seconds(1)) + , start_time(clock::now()) { if (rate <= 0) { tw_req = std::chrono::nanoseconds(1); @@ -133,4 +135,4 @@ private: } /* namespace mq */ } /* namespace fair */ -#endif // FAIR_MQ_TOOLS_RATELIMIT_H \ No newline at end of file +#endif // FAIR_MQ_TOOLS_RATELIMIT_H diff --git a/fairmq/tools/Strings.h b/fairmq/tools/Strings.h index 0ee0d128..11dce092 100644 --- a/fairmq/tools/Strings.h +++ b/fairmq/tools/Strings.h @@ -9,6 +9,8 @@ #ifndef FAIR_MQ_TOOLS_STRINGS_H #define FAIR_MQ_TOOLS_STRINGS_H +#include +#include #include #include #include @@ -33,15 +35,16 @@ auto ToString(T&&... t) -> std::string } /// @brief convert command line arguments from main function to vector of strings -inline auto ToStrVector(const int argc, char* const argv[], const bool dropProgramName = true) -> std::vector +inline auto ToStrVector(const int argc, char*const* argv, const bool dropProgramName = true) -> std::vector { auto res = std::vector{}; + boost::beast::span argvView(argv, argc); if (dropProgramName) { - res.assign(argv + 1, argv + argc); + res.assign(argvView.begin() + 1, argvView.end()); } else { - res.assign(argv, argv + argc); + res.assign(argvView.begin(), argvView.end()); } return res; }