<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>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>»<ahref="../index.html">ClangFrontend</a>» 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>