================ @@ -45,18 +46,21 @@ void CalleeNamespaceCheck::check(const MatchFinder::MatchResult &Result) { if (FuncDecl->getBuiltinID() != 0) return; - // If the outermost namespace of the function is __llvm_libc, we're good. + // If the outermost namespace of the function is a macro that starts with + // __llvm_libc, we're good. const auto *NS = dyn_cast<NamespaceDecl>(getOutermostNamespace(FuncDecl)); - if (NS && NS->getName() == "__llvm_libc") + if (NS && Result.SourceManager->isMacroBodyExpansion(NS->getLocation()) && ---------------- michaelrj-google wrote:
I'm not entirely sure what you mean here. I tried adding `unless(isExpandedFromMacro(RequiredNamespaceMacroName.str()))` to the `declRefExpr` above, but it caused the matcher to fail the `wrong_name_macro_func` check. https://github.com/llvm/llvm-project/pull/68134 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits