aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-11-10 23:55:23 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-11-10 23:55:23 +0000
commit0f9fed70cea107b3f79df554e38bd8e98d48fe47 (patch)
tree123b8cc9e693766dada60d4d7d27ef0e77164295
parentb6d1cc84d1a7e314f7a7a02fbe092adc4caf67e8 (diff)
Add Diagnostic::Report method for reporting diagnostics without a location.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86760 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/Basic/Diagnostic.h4
-rw-r--r--include/clang/Driver/Driver.h2
-rw-r--r--lib/Frontend/Warnings.cpp3
-rw-r--r--lib/Lex/PTHLexer.cpp9
-rw-r--r--tools/clang-cc/clang-cc.cpp29
5 files changed, 21 insertions, 26 deletions
diff --git a/include/clang/Basic/Diagnostic.h b/include/clang/Basic/Diagnostic.h
index 16787542eb..ba086ebf7a 100644
--- a/include/clang/Basic/Diagnostic.h
+++ b/include/clang/Basic/Diagnostic.h
@@ -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
diff --git a/include/clang/Driver/Driver.h b/include/clang/Driver/Driver.h
index c0327a2f1d..d3ab115337 100644
--- a/include/clang/Driver/Driver.h
+++ b/include/clang/Driver/Driver.h
@@ -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.
diff --git a/lib/Frontend/Warnings.cpp b/lib/Frontend/Warnings.cpp
index 7b01b0fb74..3f442c8a7f 100644
--- a/lib/Frontend/Warnings.cpp
+++ b/lib/Frontend/Warnings.cpp
@@ -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;
diff --git a/lib/Lex/PTHLexer.cpp b/lib/Lex/PTHLexer.cpp
index f17a5d93a9..60deeb325c 100644
--- a/lib/Lex/PTHLexer.cpp
+++ b/lib/Lex/PTHLexer.cpp
@@ -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;
diff --git a/tools/clang-cc/clang-cc.cpp b/tools/clang-cc/clang-cc.cpp
index c7fa4c486d..98e4b28272 100644
--- a/tools/clang-cc/clang-cc.cpp
+++ b/tools/clang-cc/clang-cc.cpp
@@ -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;
}