<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    If it's not in the AST, it's not in the translation unit. Try
    searching the AST dump, maybe you're looking in the wrong place.<br>
    <br>
    Static analyzer is intended to work more or less correctly
    regardless of whether the method is present. Like, it doesn't even
    have to be libc++ to begin with. But i'd be pretty surprised if the
    body is there but the static analyzer can't find it. Most likely
    something else is going on.<br>
    <br>
    You should be looking for the fully instantiated body, not the
    original template, because that's what the static analyzer works
    with. Clang duplicates the AST for each template instantiation so it
    should be there if it's at all available.<br>
    <br>
    <div class="moz-cite-prefix">On 11/10/20 12:28 AM, Ding Fei via
      cfe-dev wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAPVVTECoXZAzK1VF-hb5Pr0BCDtVrBEM5UN0vP6=JFMtkBrHNw@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">Hi all!
        <div><br>
        </div>
        <div>I would like to know if it's possible to get the method
          body of std::__cxx11::basic_string::_M_construct(size_type,
          _CharT) ?</div>
        <div><br>
        </div>
        <div>The question arises when StaticAnalyzer's
          ExprEnging::defaultEvalCall()</div>
        <div>
          <div>tries to inline this method but the CXXMethodDecl node
            for '_M_construct'</div>
          <div>(and a few other similar members) from the AST has no
            body attached to it.</div>
          <div><br>
          </div>
          <div>The body (templated?) should be in the AST but is hidden
            somewhere else,</div>
          <div>otherwise the TU would be incomplete.</div>
          <div><br>
          </div>
          <div>Any hint would be appreciated, thanks!</div>
          <div><br>
          </div>
          -- <br>
          <div dir="ltr" class="gmail_signature"
            data-smartmail="gmail_signature">Best Regards<br>
             <br>
            Ding Fei<br>
            E-mail: <a href="mailto:danix800@gmail.com" target="_blank"
              moz-do-not-send="true">danix800@gmail.com</a></div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
cfe-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>