<div dir="auto">This looks like something we should consider using as well as clang's checks.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">---------- Forwarded message ---------<br>From: <strong class="gmail_sendername" dir="auto">David Malcolm</strong> <span dir="auto"><<a href="mailto:dmalcolm@redhat.com">dmalcolm@redhat.com</a>></span><br>Date: Tue, Dec 10, 2019, 9:47 AM<br>Subject: GCC static analysis branch now available on Compiler Explorer<br>To:  <<a href="mailto:gcc@gcc.gnu.org">gcc@gcc.gnu.org</a>><br></div><br><br>For the adventurous/curious, my static analyzer branch of GCC [1] is<br>
now available on Compiler Explorer (aka <a href="http://godbolt.org" rel="noreferrer noreferrer" target="_blank">godbolt.org</a>) so you can try it<br>
out without building it yourself.  [Thanks to Matt Godbolt, Patrick<br>
Quist and others at the Compiler Explorer project]<br>
<br>
On <a href="https://godbolt.org/" rel="noreferrer noreferrer" target="_blank">https://godbolt.org/</a> within the C and C++ languages, select<br>
  "x86-64 gcc (static analysis)"<br>
as the compiler (though strictly speaking only C is in-scope right<br>
now).  It's configured to automatically inject -fanalyzer (just on this<br>
site; it isn't the default in the branch).<br>
<br>
Some precanned examples:<br>
  * various malloc issues: <a href="https://godbolt.org/z/tnx65n" rel="noreferrer noreferrer" target="_blank">https://godbolt.org/z/tnx65n</a><br>
  * stdio issues: <a href="https://godbolt.org/z/4BP-Tj" rel="noreferrer noreferrer" target="_blank">https://godbolt.org/z/4BP-Tj</a><br>
  * fprintf in signal handler: <a href="https://godbolt.org/z/ew7mW6" rel="noreferrer noreferrer" target="_blank">https://godbolt.org/z/ew7mW6</a><br>
  * tainted data affecting control flow: <a href="https://godbolt.org/z/3v8vSj" rel="noreferrer noreferrer" target="_blank">https://godbolt.org/z/3v8vSj</a><br>
  * password-leakage: <a href="https://godbolt.org/z/pRPYiv" rel="noreferrer noreferrer" target="_blank">https://godbolt.org/z/pRPYiv</a><br>
(the non-malloc examples are much more in "proof-of-concept" territory)<br>
<br>
Would it make sense to add an "analyzer" component to our bugzilla,<br>
even though this is still on a branch? (with me as default assignee)<br>
<br>
Dave<br>
<br>
[1] <a href="https://gcc.gnu.org/wiki/DavidMalcolm/StaticAnalyzer" rel="noreferrer noreferrer" target="_blank">https://gcc.gnu.org/wiki/DavidMalcolm/StaticAnalyzer</a><br>
<br>
<br>
</div>