building with gcc trunk shows: /home/markus/llvm/projects/compiler-rt/lib/xray/tests/unit/xray_fdr_log_printer_tool.cc: In function ‘int main(int, char**)’: /home/markus/llvm/projects/compiler-rt/lib/xray/tests/unit/xray_fdr_log_printer_tool.cc:284:30: error: ‘function’ is not a member of ‘std’ std::map<std::string, std::function<void(std::istream &)>> TopLevelRecordMap; ^~~~~~~~ /home/markus/llvm/projects/compiler-rt/lib/xray/tests/unit/xray_fdr_log_printer_tool.cc:284:30: note: suggested alternative: ‘is_function’ std::map<std::string, std::function<void(std::istream &)>> TopLevelRecordMap; ^~~~~~~~ is_function /home/markus/llvm/projects/compiler-rt/lib/xray/tests/unit/xray_fdr_log_printer_tool.cc:284:30: error: ‘function’ is not a member of ‘std’ /home/markus/llvm/projects/compiler-rt/lib/xray/tests/unit/xray_fdr_log_printer_tool.cc:284:30: note: suggested alternative: ‘is_function’ std::map<std::string, std::function<void(std::istream &)>> TopLevelRecordMap; ^~~~~~~~ is_function /home/markus/llvm/projects/compiler-rt/lib/xray/tests/unit/xray_fdr_log_printer_tool.cc:284:59: error: template argument 2 is invalid std::map<std::string, std::function<void(std::istream &)>> TopLevelRecordMap; ^~ /home/markus/llvm/projects/compiler-rt/lib/xray/tests/unit/xray_fdr_log_printer_tool.cc:284:59: error: template argument 4 is invalid ... diff --git a/lib/xray/tests/unit/xray_fdr_log_printer_tool.cc b/lib/xray/tests/unit/xray_fdr_log_printer_tool.cc index a4d05f200de5..6e209809e346 100644 --- a/lib/xray/tests/unit/xray_fdr_log_printer_tool.cc +++ b/lib/xray/tests/unit/xray_fdr_log_printer_tool.cc @@ -17,6 +17,7 @@ #include <algorithm> #include <array> #include <cstdlib> +#include <functional> #include <iostream> #include <map> #include <sstream> fixes the issue.
Thanks for the report, this should be easy enough to fix.
Should be fixed in r298037 (https://reviews.llvm.org/rL298037)