Skip to content

Conversation

@NagyDonat
Copy link
Contributor

The documentation file Installation.rst contained very obsolete instructions for installing the clang static analyzer. This commit replaces it with sentence which explains that the analyzer is part of clang and links to the releases page of LLVM (for downloading clang).

This sentence is primarily added to the top-level page of the analyzer documentation; but it also appears in a stubbed Installation.rst (for users who followed a direct external link to this installation page). This stubbed section is removed from the table of contents, but I kept it as an orphaned page (to avoid breaking links).

Fixes #165571

The documentation file `Installation.rst` contained very obsolete
instructions for installing the clang static analyzer. This commit
replaces it with sentence which explains that the analyzer is part of
clang and links to the releases page of LLVM (for downloading clang).

This sentence is primarily added to the top-level page of the analyzer
documentation; but it also appears in a stubbed Installation.rst (for
users who followed a direct external link to this installation page).
This stubbed section is removed from the table of contents, but I kept
it as an orphaned page (to avoid breaking links).

Fixes llvm#165571
@llvmbot llvmbot added clang Clang issues not falling into any other category clang:static analyzer labels Nov 3, 2025
@llvmbot
Copy link
Member

llvmbot commented Nov 3, 2025

@llvm/pr-subscribers-clang-static-analyzer-1

@llvm/pr-subscribers-clang

Author: Donát Nagy (NagyDonat)

Changes

The documentation file Installation.rst contained very obsolete instructions for installing the clang static analyzer. This commit replaces it with sentence which explains that the analyzer is part of clang and links to the releases page of LLVM (for downloading clang).

This sentence is primarily added to the top-level page of the analyzer documentation; but it also appears in a stubbed Installation.rst (for users who followed a direct external link to this installation page). This stubbed section is removed from the table of contents, but I kept it as an orphaned page (to avoid breaking links).

Fixes #165571


Full diff: https://github.com/llvm/llvm-project/pull/166193.diff

3 Files Affected:

  • (modified) clang/docs/ClangStaticAnalyzer.rst (+2-2)
  • (modified) clang/docs/analyzer/user-docs.rst (-1)
  • (modified) clang/docs/analyzer/user-docs/Installation.rst (+3-34)
diff --git a/clang/docs/ClangStaticAnalyzer.rst b/clang/docs/ClangStaticAnalyzer.rst
index 7a309dc4acd91..9ab485f6800f8 100644
--- a/clang/docs/ClangStaticAnalyzer.rst
+++ b/clang/docs/ClangStaticAnalyzer.rst
@@ -5,9 +5,9 @@ Clang Static Analyzer
 The Clang Static Analyzer is a source code analysis tool that finds bugs in C, C++, and Objective-C programs.
 It implements *path-sensitive*, *inter-procedural analysis* based on *symbolic execution* technique.
 
-This is the Static Analyzer documentation page.
+The Static Analyzer is a part of Clang; for downloading and installing Clang visit the `LLVM releases page <https://releases.llvm.org/>`_.
 
-See the `Official Tool Page <https://clang-analyzer.llvm.org/>`_.
+This is the documentation page of the Static Analyzer; there is also an old `Official Tool Page <https://clang-analyzer.llvm.org/>`_ which provides a short overview of features and limitations.
 
 .. toctree::
    :caption: Table of Contents
diff --git a/clang/docs/analyzer/user-docs.rst b/clang/docs/analyzer/user-docs.rst
index 67c1dfaa40965..1ea193b1a651b 100644
--- a/clang/docs/analyzer/user-docs.rst
+++ b/clang/docs/analyzer/user-docs.rst
@@ -6,7 +6,6 @@ Contents:
 .. toctree::
    :maxdepth: 2
 
-   user-docs/Installation
    user-docs/CommandLineUsage
    user-docs/Options
    user-docs/UsingWithXCode
diff --git a/clang/docs/analyzer/user-docs/Installation.rst b/clang/docs/analyzer/user-docs/Installation.rst
index d84007328e5dc..8d2b3aca6e474 100644
--- a/clang/docs/analyzer/user-docs/Installation.rst
+++ b/clang/docs/analyzer/user-docs/Installation.rst
@@ -1,37 +1,6 @@
+:orphan:
+
 Obtaining the Static Analyzer
 =============================
 
-This page describes how to download and install the analyzer. Once the analyzer is installed, follow the :doc:`CommandLineUsage` on using the command line to get started analyzing your code.
-
-.. contents::
-   :local:
-
-
-Building the Analyzer from Source
----------------------------------
-
-Currently there are no officially supported binary distributions for the static analyzer.
-You must build Clang and LLVM manually.
-To do so, please follow the instructions for `building Clang from source code <https://clang.llvm.org/get_started.html#build>`_.
-
-Once the Clang is built, you need to add the location of the ``clang`` binary and the locations of the command line utilities (`CodeChecker` or ``scan-build`` and ``scan-view``) to you PATH for :doc:`CommandLineUsage`.
-
-[Legacy] Packaged Builds (Mac OS X)
------------------------------------
-
-Semi-regular pre-built binaries of the analyzer used to be available on Mac OS X. These were built to run on OS X 10.7 and later.
-
-For older builds for MacOS visit https://clang-analyzer.llvm.org/release_notes.html.
-
-Packaged builds for other platforms may eventually be provided, but we need volunteers who are willing to help provide such regular builds. If you wish to help contribute regular builds of the analyzer on other platforms, please get in touch via `LLVM Discourse <https://discourse.llvm.org/>`_.
-
-[Legacy] Using Packaged Builds
-------------------------------
-
-To use the legacy package builds, simply unpack it anywhere. If the build archive has the name **``checker-XXX.tar.bz2``** then the archive will expand to a directory called **``checker-XXX``**. You do not need to place this directory or the contents of this directory in any special place. Uninstalling the analyzer is as simple as deleting this directory.
-
-Most of the files in the **``checker-XXX``** directory will be supporting files for the analyzer that you can simply ignore. Most users will only care about two files, which are located at the top of the **``checker-XXX``** directory:
-
-* **scan-build**: ``scan-build`` is the high-level command line utility for running the analyzer
-* **scan-view**: ``scan-view`` a companion command line utility to ``scan-build``, ``scan-view`` is used to view analysis results generated by ``scan-build``. There is an option that one can pass to ``scan-build`` to cause ``scan-view`` to run as soon as it the analysis of a build completes
-
+The Static Analyzer can be obtained as a part of Clang; for downloading and installing Clang visit the `LLVM releases page <https://releases.llvm.org/>`_. Once the analyzer is installed, follow the :doc:`CommandLineUsage` on using the command line to get started analyzing your code.

The Static Analyzer is a part of Clang; for downloading and installing Clang visit the `LLVM releases page <https://releases.llvm.org/>`_.

See the `Official Tool Page <https://clang-analyzer.llvm.org/>`_.
This is the documentation page of the Static Analyzer; there is also an old `Official Tool Page <https://clang-analyzer.llvm.org/>`_ which provides a short overview of features and limitations.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is scan-build and scan-view mentioned somewhere?
I can see that they were in the dropped hunks.

Copy link
Contributor Author

@NagyDonat NagyDonat Nov 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The use of scan-build is described on the Command Line Usage page -- it would be probably nice to extend that page by mentioning that scan-build is also available as a part of the Clang project. (By the way, is it within clang-tools-extra or the core part of the project? I admit that I never used it, because I use the analyzer through CodeChecker.)

I don't know anything about scan-view, I never heard about it previously and (according to a quick search) it is not described elsewhere in the "how to actually use it" side of the documentation. I only found documentation for it on this old debian manpage from 2020. Is this tool still relevant and useful?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think packaging depends on the vendor. It might be different on Debian than on Arch for example.
I have no idea how these are packaged, as I always just used my own.
IMO docs are only helpful if they are up to date. Also, I believe that having a quick setup for a common vendor is useful, such as for Debian.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clang:static analyzer clang Clang issues not falling into any other category

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Clean up the "Obtaining the Static Analyzer" page

3 participants