diff --git a/examples/Tooling/ClangCheck.cpp b/examples/Tooling/ClangCheck.cpp index 0dfa53d44e642f5cbbcd6626df6ba23427e72eba..db24ec31eccfaa2a31f12c80d43d737c540fed7e 100644 --- a/examples/Tooling/ClangCheck.cpp +++ b/examples/Tooling/ClangCheck.cpp @@ -93,6 +93,12 @@ int main(int argc, char **argv) { clang::tooling::FindCompileArgsInJsonDatabase( File.str(), JsonDatabase->getBuffer(), ErrorMessage); if (!LookupResult.CommandLine.empty()) { + if (LookupResult.Directory.size()) { + // FIXME: What should happen if CommandLine includes -working-directory + // as well? + LookupResult.CommandLine.push_back( + "-working-directory=" + LookupResult.Directory); + } if (!clang::tooling::RunToolWithFlags( new clang::SyntaxOnlyAction, LookupResult.CommandLine.size(), diff --git a/lib/Tooling/JsonCompileCommandLineDatabase.h b/lib/Tooling/JsonCompileCommandLineDatabase.h index 9e776d60010dfa9c03f269b5eea5694ae6557ebb..ea7cf0e6e1524ddbfc2da0f325a0074e821af3e6 100644 --- a/lib/Tooling/JsonCompileCommandLineDatabase.h +++ b/lib/Tooling/JsonCompileCommandLineDatabase.h @@ -78,7 +78,7 @@ class JsonCompileCommandLineParser { CompileCommandHandler *CommandHandler); /// \brief Parses the specified input. Returns true if no parsing errors were - /// foudn. + /// found. bool Parse(); /// \brief Returns an error message if Parse() returned false previously.