[clang] [clang] print correct context for diagnostics suppressed by deduction (PR #125453)

via cfe-commits cfe-commits at lists.llvm.org
Sun Feb 2 22:05:23 PST 2025


================
@@ -1909,7 +1909,19 @@ class Sema final : public SemaBase {
   /// '\#pragma clang attribute push' directives to the given declaration.
   void AddPragmaAttributes(Scope *S, Decl *D);
 
-  void PrintPragmaAttributeInstantiationPoint();
+  using DiagFuncRef =
+      llvm::function_ref<void(SourceLocation, PartialDiagnostic)>;
+  auto getDefaultDiagFunc() {
+    return [this](SourceLocation Loc, PartialDiagnostic PD) {
+      DiagnosticBuilder Builder(Diags.Report(Loc, PD.getDiagID()));
+      PD.Emit(Builder);
+    };
+  }
----------------
cor3ntin wrote:

I think we could / should put that into SemaTemplateInstantiate - and have the function taking a  DiagFuncRef have that default parameter defaulted to `{}`

https://github.com/llvm/llvm-project/pull/125453


More information about the cfe-commits mailing list