<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi Gabor,</p>
    <p>thanks for the clarification.</p>
    <p>I just got curious after the CppCon talk and wanted to check out
      the current state.</p>
    <p>Cheers,<br>
      Paulo<br>
    </p>
    <div class="moz-cite-prefix">Am 05.10.2019 um 11:22 schrieb Gábor
      Horváth:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAPRL4a3_6q-eHi_Q3K5KuCcFDbNOZF0Kn6OC0BPYCiqXTwz4Eg@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div dir="ltr">
          <div>Hi Paulo,</div>
          <div><br>
          </div>
          <div>The -Wlifetime analysis is not part of mainline clang yet
            (only the statement-local warnings). If you have some
            questions, concerns regarding the flow-sensitive analysis
            feel free to open a ticket at <a
              href="https://github.com/mgehre/llvm-project"
              moz-do-not-send="true">https://github.com/mgehre/llvm-project</a>
            <br>
          </div>
          <div><br>
          </div>
          <div>Currently, the flow-sensitive lifetime analysis does not
            check for memory leaks. If you want to find leaks
            statically, you could try out the Clang Static Analyzer (<a
              href="https://clang-analyzer.llvm.org/"
              moz-do-not-send="true">https://clang-analyzer.llvm.org/</a>)
            which has some great checks to find such issues. <br>
          </div>
          <div><br>
          </div>
          <div>Cheers,</div>
          <div>Gabor<br>
          </div>
        </div>
        <br>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Sat, 5 Oct 2019 at 11:10,
            Paulo Pinto via cfe-dev <<a
              href="mailto:cfe-dev@lists.llvm.org"
              moz-do-not-send="true">cfe-dev@lists.llvm.org</a>>
            wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px
            0.8ex;border-left:1px solid
            rgb(204,204,204);padding-left:1ex">
            <div>
              <p>Hi everyone,</p>
              <p>just decided to start playing around with -Wlifetime on
                Godbolt, and came up with<br>
                an example that failed to meet my expectations, namely:</p>
              <div>
                <div><span style="color:rgb(0,0,255)">char</span><span
                    style="color:rgb(0,0,0)"> *leak()</span></div>
                <div><span style="color:rgb(0,0,0)">{</span><span
                    style="color:rgb(0,0,0)"></span><span
                    style="color:rgb(0,0,255)"><br>
                  </span></div>
                <div><span style="color:rgb(0,0,0)">   </span><span
                    style="color:rgb(0,0,255)">return</span><span
                    style="color:rgb(0,0,0)"> </span><span
                    style="color:rgb(0,0,255)">new</span><span
                    style="color:rgb(0,0,0)"> </span><span
                    style="color:rgb(0,0,255)">char</span><span
                    style="color:rgb(0,0,0)">;</span></div>
                <div><span style="color:rgb(0,0,0)">}</span></div>
                <br>
                <div><span style="color:rgb(0,0,255)">int</span><span
                    style="color:rgb(0,0,0)"> main()</span></div>
                <div><span style="color:rgb(0,0,0)">{</span></div>
                <div><span style="color:rgb(0,0,0)">    </span><span
                    style="color:rgb(0,0,255)">char</span><span
                    style="color:rgb(0,0,0)"> *ch = leak();</span></div>
                <div><span style="color:rgb(0,0,0)">}</span></div>
                <div><span style="color:rgb(0,0,0)"><br>
                  </span></div>
                <div><span style="color:rgb(0,0,0)">Shouldn't the
                    lifetime static analyser complain that ch on main()
                    leaks, or am I expecting too much from the analyser?</span></div>
                <div><span style="color:rgb(0,0,0)"><br>
                  </span></div>
                <div><span style="color:rgb(0,0,0)">Initially I though
                    that by using main(), the analyser just assumed it
                    would be released anyway, but renaming it to
                    something<br>
                    else, still doesn't trigger a leak warning.</span></div>
                <div><span style="color:rgb(0,0,0)"><br>
                  </span></div>
                <div><span style="color:rgb(0,0,0)">Thanks in advance,</span></div>
                <div><span style="color:rgb(0,0,0)">Paulo<br>
                  </span></div>
              </div>
            </div>
            _______________________________________________<br>
            cfe-dev mailing list<br>
            <a href="mailto:cfe-dev@lists.llvm.org" target="_blank"
              moz-do-not-send="true">cfe-dev@lists.llvm.org</a><br>
            <a
              href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev"
              rel="noreferrer" target="_blank" moz-do-not-send="true">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
          </blockquote>
        </div>
      </div>
    </blockquote>
  </body>
</html>