<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ClangFrontend__CAddImplicitDeallocImpl (infer.ClangFrontend__CAddImplicitDeallocImpl)</title><linkrel="stylesheet"href="../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../index.html">infer</a>» ClangFrontend__CAddImplicitDeallocImpl</nav><h1>Module <code>ClangFrontend__CAddImplicitDeallocImpl</code></h1></header><dl><dtclass="spec value"id="val-process"><ahref="#val-process"class="anchor"></a><code><spanclass="keyword">val</span> process : <ahref="../IR/Cfg/index.html#type-t">IR.Cfg.t</a><span>-></span><ahref="../IR/Tenv/index.html#type-t">IR.Tenv.t</a><span>-></span> unit</code></dt><dd><p>This models ARC implementation of dealloc, see https://clang.llvm.org/docs/AutomaticReferenceCounting.html#dealloc. Dealloc methods can be added to ObjC classes to free C memory for example, but the deallocation of the ObjC instance variables of the object is done automatically. So here we add this explicitely to Infer: we add calls to dealloc of the ObjC instance variables. Here we assume that every ObjC class has already a dealloc method, because if it doesn't exist we add an empty method in CFrontend_decl.create_and_process_dealloc_objc_impl TODO(T68411500): add calls to dealloc of the superclass.</p></dd></dl></div></body></html>