diff --git a/remove_pessimizing_moves.patch b/remove_pessimizing_moves.patch new file mode 100644 index 0000000..8dface6 --- /dev/null +++ b/remove_pessimizing_moves.patch @@ -0,0 +1,58 @@ +Index: rttr-0.9.6/src/rttr/detail/registration/bind_impl.h +=================================================================== +--- rttr-0.9.6.orig/src/rttr/detail/registration/bind_impl.h ++++ rttr-0.9.6/src/rttr/detail/registration/bind_impl.h +@@ -289,7 +289,7 @@ class registration::bind(args)...)), + std::move(get_default_args, function_type>(std::forward(args)...)), + std::move(create_param_infos, function_type>(std::forward(args)...))); +- return std::move(ctor); ++ return ctor; + } + public: + bind(const std::shared_ptr& reg_exec, F func) +@@ -386,7 +386,7 @@ class registration::bind::value, + getter_policy, setter_policy, + Metadata_Count>>(name, type::get(), acc, std::move(metadata_list)); +- return std::move(prop); ++ return prop; + } + + public: +@@ -476,7 +476,7 @@ class registration::bind>(name, type::get(), + getter, setter, std::move(metadata_list)); +- return std::move(prop); ++ return prop; + } + + public: +@@ -566,7 +566,7 @@ class registration::bind>(name, type::get(), + acc, std::move(metadata_list)); + +- return std::move(prop); ++ return prop; + } + + public: +@@ -659,7 +659,7 @@ class registration::bind(args)...)), + std::move(get_default_args, function_type>(std::forward(args)...)), + std::move(create_param_infos, function_type>(std::forward(args)...)) ); +- return std::move(meth); ++ return meth; + } + + template +@@ -770,7 +770,7 @@ class registration::bind(args)...))); + + +- return std::move(enum_wrapper); ++ return enum_wrapper; + } + + public: diff --git a/rttr.changes b/rttr.changes index 14a8561..dbe8ef7 100644 --- a/rttr.changes +++ b/rttr.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Jun 4 02:54:17 UTC 2019 - Dan Weatherill + +- remove_pessimizing_moves.patch: remove NRVO pessimizing moves + (fixes a warning on gcc 9 to fix current Factory build) + ------------------------------------------------------------------- Wed May 8 07:42:41 UTC 2019 - Andreas Schwab diff --git a/rttr.spec b/rttr.spec index f5f31cd..e2d2d36 100644 --- a/rttr.spec +++ b/rttr.spec @@ -36,6 +36,8 @@ Patch3: skip_json_example.patch Patch4: fix-include-permissions.patch # PATCH-FIX-UPSTREAM lp64.patch Support all LP64 architectures (https://github.com/rttrorg/rttr/pull/231) Patch5: lp64.patch +#PATCH-FIX-UPSTREAM remove_pessimizing_moves.patch remove pessimizing move calls (https://github.com/rttrorg/rttr/pull/243) +Patch6: remove_pessimizing_moves.patch BuildRequires: cmake BuildRequires: dos2unix BuildRequires: doxygen @@ -56,6 +58,7 @@ library itself, which is written in C++. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -1p %build find . -type f -exec chmod a-x "{}" +