[llvm-cxxdump] Error reporting, build errors on FreeBSD 11.1

I’m seeing build failures in one file on FreeBSD 11.1. The obvious fix probably isn’t the correct one since this file sees so little change. Hasn’t there been a change to error reporting recently?

/llvm/tools/llvm-cxxdump/Error.cpp:25:15: error: implicit instantiation of undefined template ‘std::basic_string’
std::string message(int ev) const override {
^
/usr/include/c++/v1/iosfwd:193:32: note: template is declared here
class _LIBCPP_TEMPLATE_VIS basic_string;
^
/llvm/tools/llvm-cxxdump/Error.cpp:28:14: error: implicit instantiation of undefined template ‘std::basic_string’
return “Success”;
^
/usr/include/c++/v1/iosfwd:193:32: note: template is declared here
class _LIBCPP_TEMPLATE_VIS basic_string;
^
/llvm/tools/llvm-cxxdump/Error.cpp:30:14: error: implicit instantiation of undefined template ‘std::basic_string’
return “No such file.”;
^
/usr/include/c++/v1/iosfwd:193:32: note: template is declared here
class _LIBCPP_TEMPLATE_VIS basic_string;
^
/llvm/tools/llvm-cxxdump/Error.cpp:32:14: error: implicit instantiation of undefined template ‘std::basic_string’
return “Unrecognized file type.”;
^
/usr/include/c++/v1/iosfwd:193:32: note: template is declared here
class _LIBCPP_TEMPLATE_VIS basic_string;
^
4 errors generated.

Hi,

The obvious fix probably is correct: https://github.com/llvm/llvm-project/commit/f6fa95b77f33c3690e4201e505cb8dce1433abd9 was committed yesterday which removed <string> as an implicit include through one of the other headers, so this file should probably be updated to include <string> explicitly.