From a05c42b9a4c04c4767d387b55326a00653c0ee65 Mon Sep 17 00:00:00 2001 From: Alp Toker Date: Thu, 17 Jul 2014 12:29:08 +0000 Subject: [PATCH] Revert "Handle diagnostic warnings in Frontend diagnostic handler." This commit is missing tests and there are a few points that need to be addressed before a new user-facing option can be added: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20140714/110198.html This reverts commit r213112. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213260 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../clang/Basic/DiagnosticFrontendKinds.td | 2 - include/clang/Basic/DiagnosticGroups.td | 1 - lib/CodeGen/CodeGenAction.cpp | 40 ++++++------------- 3 files changed, 12 insertions(+), 31 deletions(-) diff --git a/include/clang/Basic/DiagnosticFrontendKinds.td b/include/clang/Basic/DiagnosticFrontendKinds.td index 71a914b5f1..c08ac992ee 100644 --- a/include/clang/Basic/DiagnosticFrontendKinds.td +++ b/include/clang/Basic/DiagnosticFrontendKinds.td @@ -41,8 +41,6 @@ def remark_fe_backend_optimization_remark_missed : Remark<"%0">, BackendInfo, InGroup, DefaultRemark; def remark_fe_backend_optimization_remark_analysis : Remark<"%0">, BackendInfo, InGroup, DefaultRemark; -def warn_fe_backend_optimization_warning : Warning<"%0">, BackendInfo, - InGroup, DefaultWarn; def note_fe_backend_optimization_remark_invalid_loc : Note<"could " "not determine the original source location for %0:%1:%2">; diff --git a/include/clang/Basic/DiagnosticGroups.td b/include/clang/Basic/DiagnosticGroups.td index 3386194580..3d10fcfef0 100644 --- a/include/clang/Basic/DiagnosticGroups.td +++ b/include/clang/Basic/DiagnosticGroups.td @@ -704,7 +704,6 @@ def RemarkBackendPlugin : DiagGroup<"remark-backend-plugin">; def BackendOptimizationRemark : DiagGroup<"pass">; def BackendOptimizationRemarkMissed : DiagGroup<"pass-missed">; def BackendOptimizationRemarkAnalysis : DiagGroup<"pass-analysis">; -def BackendOptimizationWarnings : DiagGroup<"optimization-warning">; // Instrumentation based profiling warnings. def ProfileInstrOutOfDate : DiagGroup<"profile-instr-out-of-date">; diff --git a/lib/CodeGen/CodeGenAction.cpp b/lib/CodeGen/CodeGenAction.cpp index 8c0e8e78fc..559c2ef4ba 100644 --- a/lib/CodeGen/CodeGenAction.cpp +++ b/lib/CodeGen/CodeGenAction.cpp @@ -238,16 +238,15 @@ namespace clang { /// \brief Specialized handlers for optimization remarks. /// Note that these handlers only accept remarks and they always handle /// them. - void EmitOptimizationMessage(const llvm::DiagnosticInfoOptimizationBase &D, - unsigned DiagID); + void + EmitOptimizationRemark(const llvm::DiagnosticInfoOptimizationBase &D, + unsigned DiagID); void OptimizationRemarkHandler(const llvm::DiagnosticInfoOptimizationRemark &D); void OptimizationRemarkHandler( const llvm::DiagnosticInfoOptimizationRemarkMissed &D); void OptimizationRemarkHandler( const llvm::DiagnosticInfoOptimizationRemarkAnalysis &D); - void OptimizationWarningHandler( - const llvm::DiagnosticInfoOptimizationWarning &D); }; void BackendConsumer::anchor() {} @@ -417,11 +416,10 @@ BackendConsumer::StackSizeDiagHandler(const llvm::DiagnosticInfoStackSize &D) { return false; } -void BackendConsumer::EmitOptimizationMessage( +void BackendConsumer::EmitOptimizationRemark( const llvm::DiagnosticInfoOptimizationBase &D, unsigned DiagID) { - // We only support warnings and remarks. - assert(D.getSeverity() == llvm::DS_Remark || - D.getSeverity() == llvm::DS_Warning); + // We only support remarks. + assert(D.getSeverity() == llvm::DS_Remark); SourceManager &SourceMgr = Context->getSourceManager(); FileManager &FileMgr = SourceMgr.getFileManager(); @@ -444,12 +442,8 @@ void BackendConsumer::EmitOptimizationMessage( if (const Decl *FD = Gen->GetDeclForMangledName(D.getFunction().getName())) Loc = FD->getASTContext().getFullLoc(FD->getBodyRBrace()); - // Flag value not used by all optimization messages. - if (D.getPassName()) - Diags.Report(Loc, DiagID) << AddFlagValue(D.getPassName()) - << D.getMsg().str(); - else - Diags.Report(Loc, DiagID) << D.getMsg().str(); + Diags.Report(Loc, DiagID) << AddFlagValue(D.getPassName()) + << D.getMsg().str(); if (DILoc.isInvalid()) // If we were not able to translate the file:line:col information @@ -466,7 +460,7 @@ void BackendConsumer::OptimizationRemarkHandler( // expression that matches the name of the pass name in \p D. if (CodeGenOpts.OptimizationRemarkPattern && CodeGenOpts.OptimizationRemarkPattern->match(D.getPassName())) - EmitOptimizationMessage(D, diag::remark_fe_backend_optimization_remark); + EmitOptimizationRemark(D, diag::remark_fe_backend_optimization_remark); } void BackendConsumer::OptimizationRemarkHandler( @@ -476,8 +470,8 @@ void BackendConsumer::OptimizationRemarkHandler( // name in \p D. if (CodeGenOpts.OptimizationRemarkMissedPattern && CodeGenOpts.OptimizationRemarkMissedPattern->match(D.getPassName())) - EmitOptimizationMessage(D, - diag::remark_fe_backend_optimization_remark_missed); + EmitOptimizationRemark(D, + diag::remark_fe_backend_optimization_remark_missed); } void BackendConsumer::OptimizationRemarkHandler( @@ -487,15 +481,10 @@ void BackendConsumer::OptimizationRemarkHandler( // name in \p D. if (CodeGenOpts.OptimizationRemarkAnalysisPattern && CodeGenOpts.OptimizationRemarkAnalysisPattern->match(D.getPassName())) - EmitOptimizationMessage( + EmitOptimizationRemark( D, diag::remark_fe_backend_optimization_remark_analysis); } -void BackendConsumer::OptimizationWarningHandler( - const llvm::DiagnosticInfoOptimizationWarning &D) { - EmitOptimizationMessage(D, diag::warn_fe_backend_optimization_warning); -} - /// \brief This function is invoked when the backend needs /// to report something to the user. void BackendConsumer::DiagnosticHandlerImpl(const DiagnosticInfo &DI) { @@ -529,11 +518,6 @@ void BackendConsumer::DiagnosticHandlerImpl(const DiagnosticInfo &DI) { OptimizationRemarkHandler( cast(DI)); return; - case llvm::DK_OptimizationWarning: - // Optimization warnings are always handled completely by this - // handler. - OptimizationWarningHandler(cast(DI)); - return; default: // Plugin IDs are not bound to any value as they are set dynamically. ComputeDiagRemarkID(Severity, backend_plugin, DiagID); -- 2.40.0