================
@@ -581,7 +582,38 @@ runClangTidy(clang::tidy::ClangTidyContext &Context,
         return AdjustedArgs;
       };
 
+  // Add extra arguments passed by clang-diagnostic-* checks.
+  ArgumentsAdjuster ClangDiagnosticArgumentsInserter =
+      [&Context](const CommandLineArguments &Args, StringRef Filename) {
+        ClangTidyOptions Opts = Context.getOptionsForFile(Filename);
+        if (!Opts.Checks)
+          return Args;
+
+        CommandLineArguments AdjustedArgs = Args;
+        llvm::StringRef AdjustedChecks = *Opts.Checks;
+
+        // By default the list starts with 'clang-diagnostic-*' and
+        // 'clang-analyzer-*', but these are not user specified, so we remove
+        // them.
+        AdjustedChecks.consume_front("clang-diagnostic-*,clang-analyzer-*");
+        if (AdjustedChecks.starts_with(','))
+          AdjustedChecks = AdjustedChecks.drop_front(1);
+
+        CachedGlobList Filter(AdjustedChecks);
+        for (StringRef Flag : clang::DiagnosticIDs::getDiagnosticFlags()) {
----------------
EugeneZelenko wrote:

```suggestion
        for (const StringRef Flag : clang::DiagnosticIDs::getDiagnosticFlags()) 
{
```

https://github.com/llvm/llvm-project/pull/161023
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to