Commit 8f56f22b authored by Brad King's avatar Brad King

cmListCommand: Avoid std::function move constructor on aarch64

Since commit 5a0784dd (clang-tidy: Pass by value, 2019-01-21), some of
the `RunCMake.{list,PositionIndependentCode}` cases have crashed on an
aarch64 build with GCC 6.  Avoiding use of the `std::function` move
constructor avoids the crash.  Use a strict preprocessor condition to
use this workaround only where needed.
parent 5a0784dd
Pipeline #128523 passed with stage
......@@ -666,7 +666,12 @@ bool cmListCommand::HandleTransformCommand(
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
{
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment