================
@@ -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

Reply via email to