================ @@ -946,6 +953,27 @@ class DiagnosticsEngine : public RefCountedBase<DiagnosticsEngine> { return (Level)Diags->getDiagnosticLevel(DiagID, Loc, *this); } + /// Diagnostic suppression mappings can be used to suppress specific + /// diagnostics in specific files. + /// Mapping file is expected to be a special case list with sections denoting + /// diagnostic groups and `src` entries for globs to suppress. `emit` category + /// can be used to disable suppression. Longest glob that matches a filepath + /// takes precendence. For example: + /// [unused] + /// src:clang/* + /// src:clang/foo/*=emit + /// src:clang/foo/bar/* + /// + /// Such a mappings file suppress all diagnostics produced by -Wunused in all + /// sources under `clang/` directory apart from `clang/foo/`. Diagnostics + /// under `clang/foo/bar/` will also be suppressed. Note that the FilePath is + /// matched against the globs as-is. + /// These take presumed locations into account, and can still be overriden by + /// clang-diagnostics pragmas. + void setDiagSuppressionMapping(llvm::MemoryBuffer &MB); ---------------- bricknerb wrote:
Replace MB with what this buffer should contain. Other places use "File", "Input", "InputBuffer", "Buffer" etc, which are all more readable than the type acronym. https://github.com/llvm/llvm-project/pull/112517 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits