]> granicus.if.org Git - clang/commitdiff
Revert "Handle diagnostic warnings in Frontend diagnostic handler."
authorAlp Toker <alp@nuanti.com>
Thu, 17 Jul 2014 12:29:08 +0000 (12:29 +0000)
committerAlp Toker <alp@nuanti.com>
Thu, 17 Jul 2014 12:29:08 +0000 (12:29 +0000)
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

include/clang/Basic/DiagnosticFrontendKinds.td
include/clang/Basic/DiagnosticGroups.td
lib/CodeGen/CodeGenAction.cpp

index 71a914b5f1af6730068e245878922c6842e4a916..c08ac992ee307fc6eeccdbb2175187a2f5238465 100644 (file)
@@ -41,8 +41,6 @@ def remark_fe_backend_optimization_remark_missed : Remark<"%0">, BackendInfo,
     InGroup<BackendOptimizationRemarkMissed>, DefaultRemark;
 def remark_fe_backend_optimization_remark_analysis : Remark<"%0">, BackendInfo,
     InGroup<BackendOptimizationRemarkAnalysis>, DefaultRemark;
-def warn_fe_backend_optimization_warning : Warning<"%0">, BackendInfo,
-    InGroup<BackendOptimizationWarnings>, DefaultWarn;
 def note_fe_backend_optimization_remark_invalid_loc : Note<"could "
   "not determine the original source location for %0:%1:%2">;
 
index 33861945806edbc56842fb8d41cb015f8e5758ee..3d10fcfef06114686cd291bf601fab0d20fa38d1 100644 (file)
@@ -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">;
index 8c0e8e78fc7565b404df26e73e17bda0f35f969a..559c2ef4badb758870f6e996e7f6fad37bb1b40a 100644 (file)
@@ -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<DiagnosticInfoOptimizationRemarkAnalysis>(DI));
     return;
-  case llvm::DK_OptimizationWarning:
-    // Optimization warnings are always handled completely by this
-    // handler.
-    OptimizationWarningHandler(cast<DiagnosticInfoOptimizationWarning>(DI));
-    return;
   default:
     // Plugin IDs are not bound to any value as they are set dynamically.
     ComputeDiagRemarkID(Severity, backend_plugin, DiagID);