From 30b42a9617f5047cbaee13860b3f8b6ddf14a968 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sun, 3 Nov 2019 09:38:02 +0200 Subject: Fix gcc compile errors and warnings --- lib/configuration/configuration.h | 24 ++++++++++++++++++------ lib/pluginloader/meson.build | 2 +- src/main.cpp | 5 +++-- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/lib/configuration/configuration.h b/lib/configuration/configuration.h index bc8f52e..b77685a 100644 --- a/lib/configuration/configuration.h +++ b/lib/configuration/configuration.h @@ -19,27 +19,39 @@ #include #include +#if defined (__clang__) +#define consumable(X) [[clang::consumable(X)]] +#define return_typestate(X) [[clang::return_typestate(X)]] +#define callable_when(X) [[clang::callable_when(X)]] +#define param_typestate(X) [[clang::param_typestate(X)]] +#else +#define consumable(X) +#define return_typestate(X) +#define callable_when(X) +#define param_typestate(X) +#endif + typedef std::variant conf_value_t; -class [[clang::consumable(unconsumed)]] Configuration : private std::unordered_map +class consumable(unconsumed) Configuration : private std::unordered_map { public: - [[clang::return_typestate(unconsumed)]] + return_typestate(unconsumed) explicit Configuration(); - [[clang::return_typestate(unconsumed)]] + return_typestate(unconsumed) explicit Configuration(std::initializer_list> l) noexcept; - explicit Configuration(Configuration &&other [[clang::param_typestate(unconsumed)]]) = default; + explicit Configuration(Configuration &&other param_typestate(unconsumed)) = default; ~Configuration() = default; - [[clang::callable_when(unconsumed)]] + callable_when(unconsumed) void read(std::basic_istream &input); template - [[clang::callable_when(unconsumed)]] std::optional value(const char *path) const + callable_when(unconsumed) std::optional value(const char *path) const { if(use_global) return instance()->value(path); diff --git a/lib/pluginloader/meson.build b/lib/pluginloader/meson.build index 1b68c8c..b93bf42 100644 --- a/lib/pluginloader/meson.build +++ b/lib/pluginloader/meson.build @@ -21,6 +21,6 @@ dep_pluginloader = declare_dependency( link_with: static_library('plugin', ['pluginloader.cpp', pluginloader_moc, publicKey_h], include_directories: include_directories('.'), - dependencies: [dep_qt5]) + dependencies: [dep_qt5, dependency('openssl', required: true)]) ) diff --git a/src/main.cpp b/src/main.cpp index c6f4120..28887b9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -83,12 +83,13 @@ int main(int argc, char **argv) if(cmd_build) return builtins::build(); - } catch(args::Help) { + } catch(args::Help &e) { std::cout << parser; + Q_UNUSED(e); //std::cout << "Available subcommands: " << command_keys << std::endl; return 0; - } catch(args::Error e) { + } catch(args::Error &e) { std::cerr << e.what() << std::endl; std::cerr << parser; return -1; -- cgit v1.2.1