From dafd7a791a130cb7577eb4742804a208c6418d4e Mon Sep 17 00:00:00 2001 From: Marek Szanyi Date: Tue, 29 May 2018 13:36:49 +0200 Subject: [PATCH] Provide compiler specific ctor for Struct --- include/sdbus-c++/Types.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/include/sdbus-c++/Types.h b/include/sdbus-c++/Types.h index 3ff9050..5920e04 100644 --- a/include/sdbus-c++/Types.h +++ b/include/sdbus-c++/Types.h @@ -98,12 +98,13 @@ namespace sdbus { public: using std::tuple<_ValueTypes...>::tuple; - // Workaround for clang (where the above constructor inheritance doesn't work) - // However, with this ctor, it doesn't work on gcc :-( TODO Investigate proper solution. - //Struct(const std::tuple<_ValueTypes...>& t) - // : std::tuple<_ValueTypes...>(t) - //{ - //} + // Constructor for GCC 7.1.0 and above +#if __GNUC__ > 7 || (__GNUC__ == 7 && (__GNUC_MINOR__ > 1 || (__GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ > 0)) + Struct(const std::tuple<_ValueTypes...>& t) + : std::tuple<_ValueTypes...>(t) + { + } +#endif template auto& get()