[clang] 5e0be95 - [analyzer][docs][NFC] Fix some broken links and some cosmetic changes

Balazs Benics via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 9 01:22:44 PST 2022


Author: Balazs Benics
Date: 2022-02-09T10:22:28+01:00
New Revision: 5e0be95fce2640bda83dd02c1dc85d3e0836fa1a

URL: https://github.com/llvm/llvm-project/commit/5e0be95fce2640bda83dd02c1dc85d3e0836fa1a
DIFF: https://github.com/llvm/llvm-project/commit/5e0be95fce2640bda83dd02c1dc85d3e0836fa1a.diff

LOG: [analyzer][docs][NFC] Fix some broken links and some cosmetic changes

- We should report bugs to the GitHub Issues
- We should advocate using Discourse instead of the superseded cfe-dev
  mailing list.

There are a couple of other cosmetic changes such as preferring `using`
instead of `typedef` and quoting the `-analyze-function` parameter's
payload for escaping the braces.

Thanks @loic-joly-sonarsource for reporting this on Discord!

Reviewed By: NoQ, Szelethus

Differential Revision: https://reviews.llvm.org/D119245

Added: 
    

Modified: 
    clang/www/analyzer/checker_dev_manual.html

Removed: 
    


################################################################################
diff  --git a/clang/www/analyzer/checker_dev_manual.html b/clang/www/analyzer/checker_dev_manual.html
index c5c9ad1836234..7b63efefe11a9 100644
--- a/clang/www/analyzer/checker_dev_manual.html
+++ b/clang/www/analyzer/checker_dev_manual.html
@@ -27,8 +27,9 @@ <h1>Checker Developer Manual</h1>
 and refer to this page for additional information on writing a checker. The static analyzer is a
 part of the Clang project, so consult <a href="https://clang.llvm.org/hacking.html">Hacking on Clang</a>
 and <a href="https://llvm.org/docs/ProgrammersManual.html">LLVM Programmer's Manual</a>
-for developer guidelines and send your questions and proposals to
-<a href=https://lists.llvm.org/mailman/listinfo/cfe-dev>cfe-dev mailing list</a>.
+for developer guidelines and post your questions and proposals to the
+<a href="https://discourse.llvm.org/c/clang/static-analyzer/"> Static Analyzer</a> subcategory at
+the official <a href="https://discourse.llvm.org/"> LLVM Discourse server</a>.
 </p>
 
     <ul>
@@ -245,7 +246,7 @@ <h2 id=idea>Idea for a Checker</h2>
     solver to model symbolic execution.</li>
 
     <li>Consult the <a
-    href="https://bugs.llvm.org/buglist.cgi?query_format=advanced&bug_status=NEW&bug_status=REOPENED&version=trunk&component=Static%20Analyzer&product=clang">Bugzilla database</a>
+    href="https://github.com/llvm/llvm-project/labels/clang%3Astatic%20analyzer">GitHub Issues</a>
     to get some ideas for new checkers and consider starting with improving/fixing
     bugs in the existing checkers.</li>
   </ul>
@@ -381,17 +382,17 @@ <h2 id=extendingstates>Custom Program States</h2>
 state types declared with this macro are <tt>get</tt>, <tt>set</tt>, and
 <tt>remove</tt>.
 <li><a
-href="https://clang.llvm.org/doxygen/CheckerContext_8h.html#aa27656fa0ce65b0d9ba12eb3c02e8be9">REGISTER_LIST_WITH_PROGRAMSTATE</a>:
+href="https://clang.llvm.org/doxygen/ProgramStateTrait_8h.html#aa27656fa0ce65b0d9ba12eb3c02e8be9">REGISTER_LIST_WITH_PROGRAMSTATE</a>:
 Used when the state information is a list of values. The methods available for
 state types declared with this macro are <tt>add</tt>, <tt>get</tt>,
 <tt>remove</tt>, and <tt>contains</tt>.
 <li><a
-href="https://clang.llvm.org/doxygen/CheckerContext_8h.html#ad90f9387b94b344eaaf499afec05f4d1">REGISTER_SET_WITH_PROGRAMSTATE</a>:
+href="https://clang.llvm.org/doxygen/ProgramStateTrait_8h.html#ad90f9387b94b344eaaf499afec05f4d1">REGISTER_SET_WITH_PROGRAMSTATE</a>:
 Used when the state information is a set of values. The methods available for
 state types declared with this macro are <tt>add</tt>, <tt>get</tt>,
 <tt>remove</tt>, and <tt>contains</tt>.
 <li><a
-href="https://clang.llvm.org/doxygen/CheckerContext_8h.html#a6d1893bb8c18543337b6c363c1319fcf">REGISTER_MAP_WITH_PROGRAMSTATE</a>:
+href="https://clang.llvm.org/doxygen/ProgramStateTrait_8h.html#a6d1893bb8c18543337b6c363c1319fcf">REGISTER_MAP_WITH_PROGRAMSTATE</a>:
 Used when the state information is a map from a key to a value. The methods
 available for state types declared with this macro are <tt>add</tt>,
 <tt>set</tt>, <tt>get</tt>, <tt>remove</tt>, and <tt>contains</tt>.
@@ -447,7 +448,7 @@ <h2 id=extendingstates>Custom Program States</h2>
 created would be equivalent to writing the declaration:
 
 <pre class="code_example">
-typedef llvm::ImmutableMap<SymbolRef, int> ExampleDataTypeTy;
+using ExampleDataTypeTy = llvm::ImmutableMap<SymbolRef, int>;
 </pre>
 
 <p>These macros will cover a majority of use cases; however, they still have a
@@ -500,15 +501,15 @@ <h2 id=bugs>Bug Reports</h2>
 generated by the checker can be passed to the <tt>BugReport</tt> constructor
 without additional modification. This <tt>ExplodedNode</tt> will be the one
 returned by the most recent call to <a
-href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1CheckerContext.html#a264f48d97809707049689c37aa35af78">CheckerContext::addTransition</a>.
+href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1CheckerContext.html#a9717efea3fbc71523984160ae7ae9d41">CheckerContext::addTransition</a>.
 If no transition has been performed during the current callback, the checker should call <a
-href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1CheckerContext.html#a264f48d97809707049689c37aa35af78">CheckerContext::addTransition()</a>
+href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1CheckerContext.html#a9717efea3fbc71523984160ae7ae9d41">CheckerContext::addTransition()</a>
 and use the returned node for bug reporting.
 
 <p>If analysis can not continue, then the current state should be transitioned
 into a so-called <i>sink node</i>, a node from which no further analysis will be
 performed. This is done by calling the <a
-href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1CheckerContext.html#adeea33a5a2bed190210c4a2bb807a6f0">
+href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1CheckerContext.html#a249245cdf2384738921f134c8d7d909a">
 CheckerContext::generateSink</a> function; this function is the same as the
 <tt>addTransition</tt> function, but marks the state as a sink node. Like
 <tt>addTransition</tt>, this returns an <tt>ExplodedNode</tt> with the updated
@@ -516,7 +517,7 @@ <h2 id=bugs>Bug Reports</h2>
 
 <p>
 After a <tt>BugReport</tt> is created, it should be passed to the analyzer core
-by calling <a href = "https://clang.llvm.org/doxygen/classclang_1_1ento_1_1CheckerContext.html#ae7738af2cbfd1d713edec33d3203dff5">CheckerContext::emitReport</a>.
+by calling <a href="https://clang.llvm.org/doxygen/classclang_1_1ento_1_1CheckerContext.html#af50a9f46f6ea787a2a8e4ad7f86576e7">CheckerContext::emitReport</a>.
 
 <h2 id=ast>AST Visitors</h2>
   Some checks might not require path-sensitivity to be effective. Simple AST walk
@@ -592,7 +593,7 @@ <h3 id=narrowing>Narrowing Down the Problem</h3>
 C++ functions and methods, Objective-C methods and blocks, e.g.:
 
 <pre class="code">
-    $ <b>clang -cc1 -analyze -analyzer-checker=core test.cc -analyze-function=foo(int)</b>
+    $ <b>clang -cc1 -analyze -analyzer-checker=core test.cc -analyze-function='foo(int)'</b>
 </pre>
 
 The fully qualified name can be found from the
@@ -786,14 +787,14 @@ <h2 id=additioninformation>Additional Sources of Information</h2>
 Static Analyzer:
 
 <ul>
-<li><a href="http://lcs.ios.ac.cn/~xuzb/canalyze/memmodel.pdf">Xu, Zhongxing &
+<li><a href="https://lcs.ios.ac.cn/~xzx/memmodel.pdf">Xu, Zhongxing &
 Kremenek, Ted & Zhang, Jian. (2010). A Memory Model for Static Analysis of C
 Programs.</a></li>
 <li><a href="https://github.com/llvm/llvm-project/blob/main/clang/lib/StaticAnalyzer/README.txt">
 The Clang Static Analyzer README</a></li>
-<li><a href="https://github.com/llvm/llvm-project/blob/main/clang/docs/analyzer/RegionStore.txt">
+<li><a href="https://github.com/llvm/llvm-project/blob/main/clang/docs/analyzer/developer-docs/RegionStore.rst">
 Documentation for how the Store works</a></li>
-<li><a href="https://github.com/llvm/llvm-project/blob/main/clang/docs/analyzer/IPA.txt">
+<li><a href="https://github.com/llvm/llvm-project/blob/main/clang/docs/analyzer/developer-docs/IPA.rst">
 Documentation about inlining</a></li>
 <li> The "Building a Checker in 24 hours" presentation given at the <a
 href="https://llvm.org/devmtg/2012-11">November 2012 LLVM Developer's
@@ -812,11 +813,15 @@ <h2 id=additioninformation>Additional Sources of Information</h2>
 have been linked throughout this page. Also of use is the
 <a href="https://llvm.org/doxygen">LLVM doxygen</a>, when dealing with classes
 from LLVM.</li>
-<li> The <a href="https://lists.llvm.org/mailman/listinfo/cfe-dev">
-cfe-dev mailing list</a>. This is the primary mailing list used for
-discussion of Clang development (including static code analysis). The
-<a href="https://lists.llvm.org/pipermail/cfe-dev">archive</a> also contains
-a lot of information.</li>
+<li>
+  The <a href="https://discourse.llvm.org/c/clang/"> Clang Frontent Discourse site</a>.
+  This is the primary forum discussing ideas and posting questions about Clang development.
+  For posting Clang Static Analyzer specific questions, please visit the
+  <a href="https://discourse.llvm.org/c/clang/static-analyzer/"> Static Analyzer subcategory</a>
+  of the same site. In the past, Static Analyzer discussions took place at the
+  <a href="https://lists.llvm.org/pipermail/cfe-dev/"> cfe-dev</a> mailing list, which is now
+  archived and superseeded by the mentioned Discourse site.
+</li>
 </ul>
 
 </div>


        


More information about the cfe-commits mailing list