<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>ClangCommand (infer.ClangFrontend.ClangCommand)</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>» ClangCommand</nav><h1>Module <code>ClangFrontend.ClangCommand</code></h1></header><dl><dtclass="spec type"id="type-t"><ahref="#type-t"class="anchor"></a><code><spanclass="keyword">type</span> t</code></dt></dl><dl><dtclass="spec value"id="val-mk"><ahref="#val-mk"class="anchor"></a><code><spanclass="keyword">val</span> mk : <span>is_driver:bool</span><span>-></span><ahref="../ClangQuotes/index.html#type-style">ClangQuotes.style</a><span>-></span><span>prog:string</span><span>-></span><span>args:<span>string list</span></span><span>-></span><ahref="index.html#type-t">t</a></code></dt><dd><p><code>mk ~is_driver qs prog args</code> finds the type of command depending on its arguments <code>args</code>. The quoting style of the arguments have to be provided, so that the command may be run later on. Beware that this doesn't look inside argument files. This can be used to create a "clang -### ..." command on which to call <code>command_to_run</code>, but other functions from the module will not work as expected unless the command has been normalized by "clang -### ...".</p></dd></dl><dl><dtclass="spec value"id="val-command_to_run"><ahref="#val-command_to_run"class="anchor"></a><code><spanclass="keyword">val</span> command_to_run : <ahref="index.html#type-t">t</a><span>-></span> string</code></dt><dd><p>Make a command into a string ready to be passed to a shell to be executed. Fine to call with clang driver commands.</p></dd></dl><dl><dtclass="spec value"id="val-can_attach_ast_exporter"><ahref="#val-can_attach_ast_exporter"class="anchor"></a><code><spanclass="keyword">val</span> can_attach_ast_exporter : <ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dd><p>Whether the command is suitable for attaching the AST exporter. Must be called on normalized commands.</p></dd></dl><dl><dtclass="spec value"id="val-may_capture"><ahref="#val-may_capture"class="anchor"></a><code><spanclass="keyword">val</span> may_capture : <ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dd><p>Whether the command has a chance of triggering compilation steps we can capture.</p></dd></dl><dl><dtclass="spec value"id="val-with_plugin_args"><ahref="#val-with_plugin_args"class="anchor"></a><code><spanclass="keyword">val</span> with_plugin_args : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a></code></dt><dd><p>Add the arguments needed to attach the facebook-clang-plugins plugin. Must be called on normalized commands.</p></dd></dl><dl><dtclass="spec value"id="val-prepend_arg"><ahref="#val-prepend_arg"class="anchor"></a><code><spanclass="keyword">val</span> prepend_arg : string <span>-></span><ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a></code></dt><dtclass="spec value"id="val-append_args"><ahref="#val-append_args"class="anchor"></a><code><spanclass="keyword">val</span> append_args : <span>string list</span><span>-></span><ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a></code></dt><dtclass="spec value"id="val-get_orig_argv"><ahref="#val-get_orig_argv"class="anchor"></a><code><spanclass="keyword">val</span> get_orig_argv : <ahref="index.html#type-t">t</a><span>-></span><span>string list</span></code></dt><dtclass="spec value"id="val-pp"><ahref="#val-pp"class="anchor"></a><code><spancl