summaryrefslogtreecommitdiffstats
path: root/Source/cmListCommand.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmListCommand.cxx')
-rw-r--r--Source/cmListCommand.cxx14
1 files changed, 9 insertions, 5 deletions
diff --git a/Source/cmListCommand.cxx b/Source/cmListCommand.cxx
index b826795..b24c5ba 100644
--- a/Source/cmListCommand.cxx
+++ b/Source/cmListCommand.cxx
@@ -659,15 +659,19 @@ bool cmListCommand::HandleTransformCommand(
// Transform: lambda function implementing the action
struct ActionDescriptor
{
- ActionDescriptor(const std::string& name)
- : Name(name)
+ ActionDescriptor(std::string name)
+ : Name(std::move(name))
{
}
- ActionDescriptor(const std::string& name, int arity,
- const transform_type& transform)
- : Name(name)
+ ActionDescriptor(std::string name, int arity, transform_type transform)
+ : Name(std::move(name))
, Arity(arity)
+#if defined(__GNUC__) && __GNUC__ == 6 && defined(__aarch64__)
+ // std::function move constructor miscompiles on this architecture
, Transform(transform)
+#else
+ , Transform(std::move(transform))
+#endif
{
}