<div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 24, 2020 at 1:58 AM Artem Dergachev <<a href="mailto:noqnoqneo@gmail.com">noqnoqneo@gmail.com</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>
    <br>
    <div>On 6/23/20 8:15 AM,
      <a href="mailto:philip.chimento@gmail.com" target="_blank">philip.chimento@gmail.com</a> wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Sun, Jun 21, 2020 at 2:03
            AM Artem Dergachev <<a href="mailto:noqnoqneo@gmail.com" target="_blank">noqnoqneo@gmail.com</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> <br>
              <br>
              <div>On 6/16/20 3:56 AM, <a href="mailto:philip.chimento@gmail.com" target="_blank">philip.chimento@gmail.com</a>
                wrote:<br>
              </div>
              <blockquote type="cite">
                <div dir="ltr">
                  <div>
                    <div class="gmail_quote">
                      <div dir="ltr" class="gmail_attr">On Sun, Jun 14,
                        2020 at 2:05 AM Artem Dergachev <<a href="mailto:noqnoqneo@gmail.com" target="_blank">noqnoqneo@gmail.com</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> > How do I get the SVal for the memory
                          pointed to by CallEvent::getArgSVal(0)?<br>
                          <br>
                          ProgramState::getSVal (the overload that
                          accepts the location/region).<br>
                        </div>
                      </blockquote>
                      <div><br>
                      </div>
                      <div>Thanks, that was it. I would never have
                        thought that SVal -> SVal::getAsRegion()
                        -> ProgramState::getSVal() would have ended
                        up with anything but the original SVal, but
                        there it is!</div>
                      <div> <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> Generally i recommend checking out a few
                          links at the bottom of <a href="http://clang-analyzer.llvm.org/checker_dev_manual.html" target="_blank">http://clang-analyzer.llvm.org/checker_dev_manual.html</a></div>
                      </blockquote>
                      <div><br>
                      </div>
                      <div>Speaking of that... would you be interested
                        in merging my PR <a href="https://github.com/haoNoQ/clang-analyzer-guide/pull/5" target="_blank">https://github.com/haoNoQ/clang-analyzer-guide/pull/5</a>
                        and some of the other open PRs on the handbook,
                        and releasing a new version? Depending on how
                        much of a hassle it is, I might be interested to
                        make it publish as HTML to GitHub Pages
                        automatically so you wouldn't have to release
                        PDFs...<br>
                      </div>
                    </div>
                  </div>
                </div>
              </blockquote>
              <br>
              Ugh, there are countless more outdated paragraphs in
              there. There are even bugs documented that had to be fixed
              rather than documented. I emitted it as an artifact that
              would have been created anyway at some point but i'm
              personally not planning to maintain it further because
              it's not the right way to do documentation (we'd rather
              have doxygen / rst documentation). Please feel free to
              fork but i'd much rather have it converted to into in-tree
              documentation (say, documentation in chapter 5 could be
              torn into individual doxygen comments).<br>
            </div>
          </blockquote>
          <div><br>
          </div>
          <div>I can't honestly say that in-tree documentation would be
            more useful for people like me trying to develop checker
            plugins against a released version of clang... is there a
            middle ground where it could live in-tree but get rendered
            into something else than doxygen? The doxygen pages are
            super slow to load (especially if you accidentally load a
            large one) and difficult to search (nearly impossible if you
            don't already know what you're looking for).</div>
        </div>
      </div>
    </blockquote>
    <br>
    Mmm, strange. As a person who regularly googles class names in
    <a href="http://llvm.org" target="_blank">llvm.org</a> doxygen, i've never had these problems. Say,
    <a href="https://clang.llvm.org/doxygen/classclang_1_1Decl.html" target="_blank">https://clang.llvm.org/doxygen/classclang_1_1Decl.html</a> loads
    instantly for me. I don't know how could that be slow aside from
    <a href="http://llvm.org" target="_blank">llvm.org</a> servers suddenly being slow or a poor internet connection.
    Those are plain old static pages. Of course you have to know the
    class name in advance; doxygen is not great for tutorials. You can
    also always build doxygen locally and grep it (but that's not
    necessarily better than reading source code).<br></div></blockquote><div><br></div><div>I took a look at this, it's less bad than I remembered, but the slow-to-load ones have always been <a href="https://llvm.org/doxygen/namespacellvm.html">https://llvm.org/doxygen/namespacellvm.html</a> and <a href="https://clang.llvm.org/doxygen/namespaceclang.html">https://clang.llvm.org/doxygen/namespaceclang.html</a> because they are so large. I'm thinking maybe I confused "slow to load" with "difficult to find the information I need" :-) </div></div>Cheers,<br><div>-- <br><div dir="ltr" class="gmail_signature">Philip</div></div></div>