From 222e2a7620e6520ffaf4fc4e69d79c18da31542e Mon Sep 17 00:00:00 2001 From: "Zancanaro; Carlo" Date: Mon, 24 Sep 2012 09:58:17 +1000 Subject: Add the clang library to the repo (with some of my changes, too). --- clang/www/analyzer/xcode.html | 143 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 clang/www/analyzer/xcode.html (limited to 'clang/www/analyzer/xcode.html') diff --git a/clang/www/analyzer/xcode.html b/clang/www/analyzer/xcode.html new file mode 100644 index 0000000..ac75a04 --- /dev/null +++ b/clang/www/analyzer/xcode.html @@ -0,0 +1,143 @@ + + + + Build and Analyze: running the analyzer within Xcode + + + + + + + +
+ +
+ +

Build and Analyze: running the analyzer within Xcode

+ + + +
+ +

What is it?

+

Build and Analyze is an Xcode feature (introduced in Xcode 3.2) that +allows users to run the Clang Static Analyzer directly +within Xcode.

+ +

It integrates directly with the Xcode build system and +presents analysis results directly within Xcode's editor.

+ +

Can I use the open source analyzer builds with Xcode?

+ +

Yes. Instructions are included below.

+ +
+ analyzer in xcode +
Viewing static analyzer results in Xcode +
+ +

Key features:

+
    +
  • Integrated workflow: Results are integrated within Xcode. There is + no experience of using a separate tool, and activating the analyzer requires a + single keystroke or mouse click.
  • +
  • Transparency: Works effortlessly with Xcode projects (including iPhone projects). +
  • Cons: Doesn't work well with non-Xcode projects. For those, + consider using scan-build. +
+ + +

Getting Started

+ +

Xcode 3.2 is available as a free download from Apple, with instructions available +for using Build and Analyze.

+ +

Using open source analyzer builds with Build and Analyze

+ +

By default, Xcode uses the version of clang that came bundled with +it to provide the results for Build and Analyze. It is possible to change +Xcode's behavior to use an alternate version of clang for this purpose +while continuing to use the clang that came with Xcode for compiling +projects.

+ +

Why try open source builds?

+ +

The advantage of using open source analyzer builds (provided on this website) +is that they are often newer than the analyzer provided with Xcode, and thus can +contain bug fixes, new checks, or simply better analysis.

+ +

On the other hand, new checks can be experimental, with results of variable +quality. Users are encouraged to file bug reports +(for any version of the analyzer) where they encounter false positives or other +issues.

+ +

set-xcode-analyzer

+ +

Starting with analyzer build checker-234, analyzer builds contain a command +line utility called set-xcode-analyzer that allows users to change what +copy of clang that Xcode uses for Build and Analyze:

+ +
+$ set-xcode-analyzer -h
+Usage: set-xcode-analyzer [options]
+
+Options:
+  -h, --help            show this help message and exit
+  --use-checker-build=PATH
+                        Use the Clang located at the provided absolute path,
+                        e.g. /Users/foo/checker-1
+  --use-xcode-clang     Use the Clang bundled with Xcode
+
+ +

Operationally, set-xcode-analyzer edits Xcode's configuration files +(in /Developer) to point it to use the version of clang you +specify for static analysis. Within this model it provides you two basic modes:

+ +
    +
  • --use-xcode-clang: Switch Xcode (back) to using the clang that came bundled with it for static analysis.
  • +
  • --use-checker-build: Switch Xcode to using the clang provided by the specified analyzer build.
  • +
+ +

Things to keep in mind

+ +
    +
  • You should quit Xcode prior to running set-xcode-analyzer.
  • +
  • You will need to run set-xcode-analyzer under sudo + in order to have write privileges to modify the Xcode configuration files.
  • +
+ +

Examples

+ +

Example 1: Telling Xcode to use checker-235 for Build and Analyze:

+ +
+$ pwd
+/tmp
+$ tar xjf checker-235.tar.bz2
+$ sudo checker-235/set-xcode-analyzer --use-checker-build=/tmp/checker-235
+
+ +

Note that you typically won't install an analyzer build in /tmp, but +the point of this example is that set-xcode-analyzer just wants a full +path to an untarred analyzer build.

+ +

Example 2: Telling Xcode to use a very specific version of clang:

+ +
+$ sudo set-xcode-analyzer --use-checker-build=~/mycrazyclangbuild/bin/clang
+
+ +

Example 3: Resetting Xcode to its default behavior:

+ +
+$ sudo set-xcode-analyzer --use-xcode-clang
+
+ +
+
+ + + -- cgit v1.2.3