Per discussion at
http://lists.llvm.org/pipermail/cfe-dev/2015-December/046321.html allow
tools to work in the absence of a compilation database, but warn the user
about the absence.
Index: lib/Tooling/CommonOptionsParser.cpp
===================================================================
--- lib/Tooling/CommonOptionsParser.cpp (revision 254518)
+++ lib/Tooling/CommonOptionsParser.cpp (working copy)
@@ -116,8 +116,7 @@
 
   cl::HideUnrelatedOptions(Category);
 
-  Compilations.reset(FixedCompilationDatabase::loadFromCommandLine(argc,
-                                                                   argv));
+  Compilations.reset(FixedCompilationDatabase::loadFromCommandLine(argc, 
argv));
   cl::ParseCommandLineOptions(argc, argv, Overview);
   SourcePathList = SourcePaths;
   if (!Compilations) {
@@ -129,8 +128,13 @@
       Compilations = CompilationDatabase::autoDetectFromSource(SourcePaths[0],
                                                                ErrorMessage);
     }
-    if (!Compilations)
-      llvm::report_fatal_error(ErrorMessage);
+    if (!Compilations) {
+      errs() << "Compilation database not found - using default options\n";
+      int argc = 1;
+      const char *argv[] = {"--"};
+      Compilations.reset(
+          FixedCompilationDatabase::loadFromCommandLine(argc, argv));
+    }
   }
   auto AdjustingCompilations =
       llvm::make_unique<ArgumentsAdjustingCompilations>(
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to