================ @@ -1877,6 +1914,33 @@ static bool didPreviousFreeFail(ProgramStateRef State, return false; } +static void printOwnershipTakesList(raw_ostream &os, CheckerContext &C, + const Expr *E) { + if (const CallExpr *CE = dyn_cast<CallExpr>(E)) { + const FunctionDecl *FD = CE->getDirectCallee(); + if (!FD) + return; + + if (FD->hasAttrs()) { + bool attrPrinted = false; + + for (const auto *I : FD->specific_attrs<OwnershipAttr>()) { + OwnershipAttr::OwnershipKind OwnKind = I->getOwnKind(); + + if (OwnKind == OwnershipAttr::Takes) { + if (attrPrinted) + os << ", "; + else + os << ", which takes ownership of "; + + os << '\'' << I->getModule()->getName() << "'"; ---------------- steakhal wrote:
You use single quoted char and double quoted char. I just highlight this inconsistency. https://github.com/llvm/llvm-project/pull/98941 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits