r254599 - Add fall-back mode for clang tools.
Manuel Klimek via cfe-commits
cfe-commits at lists.llvm.org
Thu Dec 3 02:38:54 PST 2015
Author: klimek
Date: Thu Dec 3 04:38:53 2015
New Revision: 254599
URL: http://llvm.org/viewvc/llvm-project?rev=254599&view=rev
Log:
Add fall-back mode for clang tools.
Run without flags if we cannot load a compilation database. This matches
the behavior of clang itself when simply called with a source file.
Based on a patch by Russell Wallace.
Modified:
cfe/trunk/lib/Tooling/CommonOptionsParser.cpp
Modified: cfe/trunk/lib/Tooling/CommonOptionsParser.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Tooling/CommonOptionsParser.cpp?rev=254599&r1=254598&r2=254599&view=diff
==============================================================================
--- cfe/trunk/lib/Tooling/CommonOptionsParser.cpp (original)
+++ cfe/trunk/lib/Tooling/CommonOptionsParser.cpp Thu Dec 3 04:38:53 2015
@@ -116,8 +116,7 @@ CommonOptionsParser::CommonOptionsParser
cl::HideUnrelatedOptions(Category);
- Compilations.reset(FixedCompilationDatabase::loadFromCommandLine(argc,
- argv));
+ Compilations.reset(FixedCompilationDatabase::loadFromCommandLine(argc, argv));
cl::ParseCommandLineOptions(argc, argv, Overview);
SourcePathList = SourcePaths;
if ((OccurrencesFlag == cl::ZeroOrMore || OccurrencesFlag == cl::Optional) &&
@@ -132,8 +131,12 @@ CommonOptionsParser::CommonOptionsParser
Compilations = CompilationDatabase::autoDetectFromSource(SourcePaths[0],
ErrorMessage);
}
- if (!Compilations)
- llvm::report_fatal_error(ErrorMessage);
+ if (!Compilations) {
+ llvm::errs() << "Error while trying to load a compilation database:\n"
+ << ErrorMessage << "Running without flags.\n";
+ Compilations.reset(
+ new FixedCompilationDatabase(".", std::vector<std::string>()));
+ }
}
auto AdjustingCompilations =
llvm::make_unique<ArgumentsAdjustingCompilations>(
More information about the cfe-commits
mailing list