]> granicus.if.org Git - clang/commitdiff
Add Diagnostic::Report method for reporting diagnostics without a location.
authorDaniel Dunbar <daniel@zuster.org>
Tue, 10 Nov 2009 23:55:23 +0000 (23:55 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Tue, 10 Nov 2009 23:55:23 +0000 (23:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86760 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/Diagnostic.h
include/clang/Driver/Driver.h
lib/Frontend/Warnings.cpp
lib/Lex/PTHLexer.cpp
tools/clang-cc/clang-cc.cpp

index 16787542eb283ce1fc800ceaedc690a43224a9c2..ba086ebf7a39817a0e14708bc1b86ba6407e41fb 100644 (file)
@@ -386,6 +386,7 @@ public:
   /// @c Pos represents the source location associated with the diagnostic,
   /// which can be an invalid location if no position information is available.
   inline DiagnosticBuilder Report(FullSourceLoc Pos, unsigned DiagID);
+  inline DiagnosticBuilder Report(unsigned DiagID);
 
   /// \brief Clear out the current diagnostic.
   void Clear() { CurDiagID = ~0U; }
@@ -671,6 +672,9 @@ inline DiagnosticBuilder Diagnostic::Report(FullSourceLoc Loc, unsigned DiagID){
   CurDiagID = DiagID;
   return DiagnosticBuilder(this);
 }
+inline DiagnosticBuilder Diagnostic::Report(unsigned DiagID) {
+  return Report(FullSourceLoc(), DiagID);
+}
 
 //===----------------------------------------------------------------------===//
 // DiagnosticInfo
index c0327a2f1d1c2116cdf274904997dfb6bd9bb1e9..d3ab1153371acc7adc637a8781ca0cd69064c0e0 100644 (file)
@@ -48,7 +48,7 @@ class Driver {
 public:
   // Diag - Forwarding function for diagnostics.
   DiagnosticBuilder Diag(unsigned DiagID) const {
-    return Diags.Report(FullSourceLoc(), DiagID);
+    return Diags.Report(DiagID);
   }
 
   // FIXME: Privatize once interface is stable.
index 7b01b0fb74168d67bd04c28294197e7663319291..3f442c8a7fa632396d0b52c78c0dd06ed267bbd3 100644 (file)
@@ -100,8 +100,7 @@ bool clang::ProcessWarningOptions(Diagnostic &Diags,
     }
 
     if (Diags.setDiagnosticGroupMapping(OptStart, Mapping))
-      Diags.Report(FullSourceLoc(), diag::warn_unknown_warning_option)
-        << ("-W" + Opt);
+      Diags.Report(diag::warn_unknown_warning_option) << ("-W" + Opt);
   }
 
   return false;
index f17a5d93a91ab9f6d04a58e61e08c004d2e68d73..60deeb325c0ae76aabb6b85c92120c71fa9ede2c 100644 (file)
@@ -411,8 +411,7 @@ static void InvalidPTH(Diagnostic *Diags, Diagnostic::Level level,
                        const char* Msg = 0) {
   if (!Diags) return;
   if (!Msg) Msg = "Invalid or corrupted PTH file";
-  unsigned DiagID = Diags->getCustomDiagID(level, Msg);
-  Diags->Report(FullSourceLoc(), DiagID);
+  Diags->Report(Diags->getCustomDiagID(level, Msg));
 }
 
 PTHManager* PTHManager::Create(const std::string& file, Diagnostic* Diags,
@@ -423,9 +422,9 @@ PTHManager* PTHManager::Create(const std::string& file, Diagnostic* Diags,
 
   if (!File) {
     if (Diags) {
-      unsigned DiagID = Diags->getCustomDiagID(level,
-                                               "PTH file %0 could not be read");
-      Diags->Report(FullSourceLoc(), DiagID) << file;
+      unsigned DiagID =Diags->getCustomDiagID(level,
+                                              "PTH file %0 could not be read");
+      Diags->Report(DiagID) << file;
     }
 
     return 0;
index c7fa4c486d424eabb082972de3b9617a66b728cb..98e4b282720e0bc1a3e075087262583a121136cb 100644 (file)
@@ -862,16 +862,14 @@ static bool InitializeSourceManager(Preprocessor &PP,
     const FileEntry *File = FileMgr.getFile(InFile);
     if (File) SourceMgr.createMainFileID(File, SourceLocation());
     if (SourceMgr.getMainFileID().isInvalid()) {
-      PP.getDiagnostics().Report(FullSourceLoc(), diag::err_fe_error_reading)
-        << InFile.c_str();
+      PP.getDiagnostics().Report(diag::err_fe_error_reading) << InFile.c_str();
       return true;
     }
   } else {
     llvm::MemoryBuffer *SB = llvm::MemoryBuffer::getSTDIN();
     SourceMgr.createMainFileIDForMemBuffer(SB);
     if (SourceMgr.getMainFileID().isInvalid()) {
-      PP.getDiagnostics().Report(FullSourceLoc(),
-                                 diag::err_fe_error_reading_stdin);
+      PP.getDiagnostics().Report(diag::err_fe_error_reading_stdin);
       return true;
     }
   }
@@ -1576,8 +1574,7 @@ static void ProcessInputFile(const CompilerInvocation &CompOpts,
                                         Context));
 
     if (!Consumer.get()) {
-      PP.getDiagnostics().Report(FullSourceLoc(),
-                                 diag::err_fe_invalid_ast_action);
+      PP.getDiagnostics().Report(diag::err_fe_invalid_ast_action);
       return;
     }
 
@@ -1804,8 +1801,7 @@ static void ProcessInputFile(const CompilerInvocation &CompOpts,
         // Set up the creation routine for code-completion.
         CreateCodeCompleter = BuildPrintingCodeCompleter;
       } else {
-        PP.getDiagnostics().Report(FullSourceLoc(),
-                                   diag::err_fe_invalid_code_complete_file)
+        PP.getDiagnostics().Report(diag::err_fe_invalid_code_complete_file)
           << CodeCompletionAt.FileName;
       }
     }
@@ -1904,7 +1900,7 @@ static void ProcessASTInputFile(const CompilerInvocation &CompOpts,
   std::string Error;
   llvm::OwningPtr<ASTUnit> AST(ASTUnit::LoadFromPCHFile(InFile, &Error));
   if (!AST) {
-    Diags.Report(FullSourceLoc(), diag::err_fe_invalid_ast_file) << Error;
+    Diags.Report(diag::err_fe_invalid_ast_file) << Error;
     return;
   }
 
@@ -1917,7 +1913,7 @@ static void ProcessASTInputFile(const CompilerInvocation &CompOpts,
                                                              OutPath, Context));
 
   if (!Consumer.get()) {
-    Diags.Report(FullSourceLoc(), diag::err_fe_invalid_ast_action);
+    Diags.Report(diag::err_fe_invalid_ast_action);
     return;
   }
 
@@ -1960,7 +1956,7 @@ InputFilenames(llvm::cl::Positional, llvm::cl::desc("<input files>"));
 static void LLVMErrorHandler(void *UserData, const std::string &Message) {
   Diagnostic &Diags = *static_cast<Diagnostic*>(UserData);
 
-  Diags.Report(FullSourceLoc(), diag::err_fe_error_backend) << Message;
+  Diags.Report(diag::err_fe_error_backend) << Message;
 
   // We cannot recover from llvm errors.
   exit(1);
@@ -2131,16 +2127,14 @@ int main(int argc, char **argv) {
   Target(TargetInfo::CreateTargetInfo(Triple.getTriple()));
 
   if (Target == 0) {
-    Diags.Report(FullSourceLoc(), diag::err_fe_unknown_triple)
-      << Triple.getTriple().c_str();
+    Diags.Report(diag::err_fe_unknown_triple) << Triple.getTriple().c_str();
     return 1;
   }
 
   // Set the target ABI if specified.
   if (!TargetABI.empty()) {
     if (!Target->setABI(TargetABI)) {
-      Diags.Report(FullSourceLoc(), diag::err_fe_unknown_target_abi)
-        << TargetABI;
+      Diags.Report(diag::err_fe_unknown_target_abi) << TargetABI;
       return 1;
     }
   }
@@ -2195,15 +2189,14 @@ int main(int argc, char **argv) {
     // Handle generating dependencies, if requested.
     if (!DependencyFile.empty()) {
       if (DependencyTargets.empty()) {
-        Diags.Report(FullSourceLoc(), diag::err_fe_dependency_file_requires_MT);
+        Diags.Report(diag::err_fe_dependency_file_requires_MT);
         continue;
       }
       std::string ErrStr;
       llvm::raw_ostream *DependencyOS =
           new llvm::raw_fd_ostream(DependencyFile.c_str(), ErrStr);
       if (!ErrStr.empty()) {
-        Diags.Report(FullSourceLoc(), diag::err_fe_error_opening)
-          << DependencyFile << ErrStr;
+        Diags.Report(diag::err_fe_error_opening) << DependencyFile << ErrStr;
         continue;
       }