Author: alp Date: Thu Jul 17 07:29:08 2014 New Revision: 213260 URL: http://llvm.org/viewvc/llvm-project?rev=213260&view=rev Log: 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. Modified: cfe/trunk/include/clang/Basic/DiagnosticFrontendKinds.td cfe/trunk/include/clang/Basic/DiagnosticGroups.td cfe/trunk/lib/CodeGen/CodeGenAction.cpp Modified: cfe/trunk/include/clang/Basic/DiagnosticFrontendKinds.td URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticFrontendKinds.td?rev=213260&r1=213259&r2=213260&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/DiagnosticFrontendKinds.td (original) +++ cfe/trunk/include/clang/Basic/DiagnosticFrontendKinds.td Thu Jul 17 07:29:08 2014 @@ -41,8 +41,6 @@ def remark_fe_backend_optimization_remar 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">; Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=213260&r1=213259&r2=213260&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original) +++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Thu Jul 17 07:29:08 2014 @@ -704,7 +704,6 @@ def RemarkBackendPlugin : DiagGroup<"rem 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">; Modified: cfe/trunk/lib/CodeGen/CodeGenAction.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenAction.cpp?rev=213260&r1=213259&r2=213260&view=diff ============================================================================== --- cfe/trunk/lib/CodeGen/CodeGenAction.cpp (original) +++ cfe/trunk/lib/CodeGen/CodeGenAction.cpp Thu Jul 17 07:29:08 2014 @@ -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(co 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::EmitOptimizationMe 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::OptimizationRemark // 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::OptimizationRemark // 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::OptimizationRemark // 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::DiagnosticHandlerI 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); _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
