SHA256
1
0
forked from pool/rttr

- remove_pessimizing_moves.patch: remove NRVO pessimizing moves

(fixes a warning on gcc 9 to fix current Factory build)

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/rttr?expand=0&rev=8
This commit is contained in:
Daniel Weatherill 2019-06-04 02:55:31 +00:00 committed by Git OBS Bridge
parent 01ebd0ff1c
commit 019a62e8bd
3 changed files with 67 additions and 0 deletions

View File

@ -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<detail::ctor_fu
std::move(get_metadata(std::forward<Args>(args)...)),
std::move(get_default_args<type_list<Acc_Func>, function_type>(std::forward<Args>(args)...)),
std::move(create_param_infos<type_list<F>, function_type>(std::forward<Args>(args)...)));
- return std::move(ctor);
+ return ctor;
}
public:
bind(const std::shared_ptr<detail::registration_executer>& reg_exec, F func)
@@ -386,7 +386,7 @@ class registration::bind<detail::prop, C
detail::map_access_level_to_enum<acc_level>::value,
getter_policy, setter_policy,
Metadata_Count>>(name, type::get<Class_Type>(), acc, std::move(metadata_list));
- return std::move(prop);
+ return prop;
}
public:
@@ -476,7 +476,7 @@ class registration::bind<detail::prop, C
getter_policy, setter_policy,
Metadata_Count>>(name, type::get<Class_Type>(),
getter, setter, std::move(metadata_list));
- return std::move(prop);
+ return prop;
}
public:
@@ -566,7 +566,7 @@ class registration::bind<detail::prop_re
getter_policy, default_setter_policy, Metadata_Count>>(name, type::get<Class_Type>(),
acc, std::move(metadata_list));
- return std::move(prop);
+ return prop;
}
public:
@@ -659,7 +659,7 @@ class registration::bind<detail::meth, C
std::move(get_metadata(std::forward<Args>(args)...)),
std::move(get_default_args<type_list<Acc_Func>, function_type>(std::forward<Args>(args)...)),
std::move(create_param_infos<type_list<F>, function_type>(std::forward<Args>(args)...)) );
- return std::move(meth);
+ return meth;
}
template<typename Policy, std::size_t Metadata_Count, typename...TArgs, typename...Param_Args>
@@ -770,7 +770,7 @@ class registration::bind<detail::enum_,
std::move(get_metadata(std::forward<Args>(args)...)));
- return std::move(enum_wrapper);
+ return enum_wrapper;
}
public:

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Tue Jun 4 02:54:17 UTC 2019 - Dan Weatherill <plasteredparrot@gmail.com>
- 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 <schwab@suse.de>

View File

@ -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 "{}" +