The bug can be found here: http://llvm.org/bugs/show_bug.cgi?id=22468
__invoke_void_return_wrapper is needed to properly handle calling a function that returns a value but where the std::function return type is void. Without this '-Wsystem-headers' will cause function::operator()(...) to not compile.