Commit Graph

223 Commits

Author SHA1 Message Date
Arnaud A. de Grandmaison e00629f777 [scan-build] Fix clang++ pathname
llvm-svn: 160871
2012-07-27 17:10:06 +00:00
Ted Kremenek 4abbade558 Add hack (provided by Jonathan Sauer) to fall back to assuming Xcode is installed in /Developer
when using Python < 2.7.0.  This is the case on Snow Leopard, where the tools are always
installed in /Developer.  This isn't a proper fix for really figuring out where Xcode
is installed, but should work to fix an obvious problem on Snow Leopard.

llvm-svn: 160321
2012-07-16 21:39:29 +00:00
Anna Zaks 7aa3687bb6 [analyzer]scan-build: report the total number of steps analyzer performs
This would be useful to investigate performance issues.

llvm-svn: 159038
2012-06-22 22:08:12 +00:00
Ted Kremenek 00c31c888b Adjust scan-build to enable color output for xterm-256color.
llvm-svn: 158735
2012-06-19 19:27:28 +00:00
Ted Kremenek 9dcc0325de Sink definition of IBOutlet, IBOutletCollection, and IBAction into
the compiler predefines buffer.  These are essentially part of
the Objective-C language.

llvm-svn: 158690
2012-06-19 00:37:39 +00:00
Anna Zaks 268f154f48 [analyzer] Loading external plugins with scan-build
Load custom plugins when running scan-build. This is useful when
additional static analysis Checkers must be provided via clang's plugin
interface.

Loading additional plugins can now be done via the scan-build call:
scan-build -load-plugin <plugin.so>

A patch by Thomas Hauth.

llvm-svn: 157452
2012-05-25 01:13:50 +00:00
Ted Kremenek e1e89370f0 New & improved man page attached, now with standard license added.
Plus, a patch for scan-build.  

* mdoc corrections
* slightly more compact output
* same license as scan-build
* DESCRIPTION describes
* Default checkers corrected & explained
* Authors credited

The patch adds support for --help-checkers.  It just lists the default
checkers by recursively invoking "scan-build -h" and looking for the
magic '+' signs.  

Patch by James Lowden!

llvm-svn: 157411
2012-05-24 20:13:47 +00:00
Douglas Gregor 4b5c9979b9 Add the output of "clang --version" to scan-build results, from Gerald Combs!
llvm-svn: 156834
2012-05-15 18:41:55 +00:00
Ted Kremenek 42c8f73f93 Provide a man page for scan-build. Patch by James Lowden!
llvm-svn: 156559
2012-05-10 19:10:47 +00:00
Anna Zaks d682741136 [analyzer] Add .cxx and .txx as known file extensions to ccc-analyzer.
A patch by Sean McBride.

llvm-svn: 154751
2012-04-14 16:30:00 +00:00
Ted Kremenek 415287d943 Add static analyzer support for new NSArray/NSDictionary/NSNumber literals.
llvm-svn: 152139
2012-03-06 20:06:12 +00:00
Ted Kremenek d87cdd1d11 Update set-xcode-analyzer to work with Xcode repackaging in Xcode 4.3
llvm-svn: 151179
2012-02-22 18:44:35 +00:00
Ted Kremenek 49db052db4 Teach ccc-analyzer about -fobjc-abi-version.
llvm-svn: 149094
2012-01-26 23:30:13 +00:00
Anna Zaks b3d896d333 [analyzer] Add the HTML file to the SATest diagnostic diff.
(Uses the functionality which has been in CmpRuns long before.)

llvm-svn: 148868
2012-01-24 21:57:35 +00:00
Anna Zaks dc90f07b90 [analyzer] Correct the c++-analyzer symlink
As Matt pointed out, this should be just a link to 'ccc-analyzer'.

llvm-svn: 147661
2012-01-06 17:11:23 +00:00
Anna Zaks 06c9397665 [analyzer] c++-analyzer should be a symlink.
This fixes a regression from r147643.

llvm-svn: 147648
2012-01-06 02:19:07 +00:00
Anna Zaks 8e2fc5c5e9 [analyzer] Update the docs to reflect that gcc is not the only default
compiler option.

llvm-svn: 147645
2012-01-06 01:54:08 +00:00
Anna Zaks 1d39152059 [analyzer] scan-build: If we are on MacOS, use clang as the default
compiler.

llvm-svn: 147644
2012-01-06 01:54:05 +00:00
Anna Zaks 3a7f73d996 [analyzer] Skip --serialize-diagnostic when running scan-build.
Otherwise, the analyzer will try to analyze the serialized diagnostic
file as if it were a source file.

llvm-svn: 147643
2012-01-06 01:54:02 +00:00
Ted Kremenek 950e534e60 Force set-xcode-analyzer to use the system version of Python installed on OS X.
llvm-svn: 147483
2012-01-03 22:05:57 +00:00
Ted Kremenek 0e9843b328 Teach ccc-analyzer about -fobjc-arc.
llvm-svn: 144778
2011-11-16 05:14:42 +00:00
Anna Zaks 9fed084503 [analyzer] Make sure scan-build catches all clang failures.
scan-build ignores clang failures in some cases, which might lead to
silent failure suppression. For example, if clang command line
argument is wrong. (Addresses radar://10406598)

llvm-svn: 144029
2011-11-07 22:38:10 +00:00
Anna Zaks 45ce1bf091 [analyzer] When running scan-build with -plist on ./configure, delete the plist files.
(scan-build does not set the $HtmlDir when running against configure. Previously, this implied that the plist files would appear in the current directory, with this patch they will get deleted.)

llvm-svn: 139382
2011-09-09 18:43:53 +00:00
Anna Zaks 5efad63f57 [analyzer] Revert a regression introduced in r133104(The ARC Migration Tool..) due to a merge error.
llvm-svn: 138919
2011-08-31 23:53:24 +00:00
Nico Weber 5d8f912f50 [analyzer] update bug report url
llvm-svn: 138721
2011-08-28 11:50:56 +00:00
Ted Kremenek d33c4d39a0 scan-build: enable C++ support by default.
llvm-svn: 137382
2011-08-11 22:47:20 +00:00
John McCall d70fb9812a The ARC Migration Tool. All the credit goes to Argyrios and Fariborz
for this.

llvm-svn: 133104
2011-06-15 23:25:17 +00:00
Ted Kremenek 04f93b9cf1 Update regex in scan-build for parsing statistics.
llvm-svn: 130347
2011-04-27 23:43:27 +00:00
Ted Kremenek f26109664e Update scan-build to '-analyzer-checker debug.Stats' instead of the old '-analyzer-stats' -cc1 argument.
llvm-svn: 130320
2011-04-27 18:53:08 +00:00
Ted Kremenek 13b5a2c2f8 Add Objective-C++ files to those accepted by ccc-analyzer.
llvm-svn: 129475
2011-04-13 21:52:05 +00:00
Ted Kremenek f62a279e4c Provide options to explicitly enable/disable checkers in scan-build.
llvm-svn: 129393
2011-04-12 21:47:00 +00:00
Ted Kremenek 79c4c2baa9 Enable C++ static analysis support in ccc-analyzer.
llvm-svn: 129392
2011-04-12 21:46:57 +00:00
Ted Kremenek 75bb01b47d Filter our experimental checks in scan-build's checker listing.
llvm-svn: 128865
2011-04-05 00:21:49 +00:00
Ted Kremenek c8e6f5110c Don't store reports when scan-build's build command matches /autogen/ (same as configure).
llvm-svn: 128723
2011-04-01 18:47:06 +00:00
Ted Kremenek 9acb346375 scan-build: only display analyzer intra-file progress when in "Verbose" mode.
llvm-svn: 128015
2011-03-21 20:12:21 +00:00
Ted Kremenek d4bcb4ffc1 Compress argument processing in ccc-analyzer. No functionality change.
llvm-svn: 127758
2011-03-16 21:10:42 +00:00
Ted Kremenek 339f7c3c58 Tweak ccc-analyzer's 'Analyze' function to not mutate the original arguments list.
llvm-svn: 127428
2011-03-10 21:10:08 +00:00
Ted Kremenek 27fdf0feda Enhance scan-build to print out available analyses using new checker registration model.
This isn't totally complete.  Right now scan-build uses some heuristics to determine
which checkers are enabled by default, but it cannot always tell which checkers
are not enabled.

llvm-svn: 126521
2011-02-25 22:00:40 +00:00
Ted Kremenek 42ec914ff8 Begin overhaul of scan-build/ccc-analyzer's handling of checker options.
We now rely on 'clang --analyze' to provide the default set of checkers.  We're
still working on the new '-analyzer-checker <checker>' interface, and once
that's ready we'll wire it up to scan-build.

llvm-svn: 125712
2011-02-17 02:28:30 +00:00
Ted Kremenek fffba74477 No longer pass deprecated '-nodistribute' flag to xcodebuild.
llvm-svn: 125131
2011-02-08 22:54:30 +00:00
Ted Kremenek 1dd5646da0 Enable the self-init checker in scan-build.
llvm-svn: 124696
2011-02-01 22:36:11 +00:00
Ted Kremenek 51651089ab Tweak scan-build to work with naked clang commands.
llvm-svn: 116651
2010-10-16 00:29:16 +00:00
Tom Care ea7c48ccf7 Updated scan-build:
- Idempotent operations are on by default, to match --analyze in the driver.
- Integrated stats calculation based on parsing warnings emitted with the -analyzer-stats flag. The new -stats flag enables this.
- New -maxloop flag to pass down a maxloop value to the analyzer.

llvm-svn: 115123
2010-09-30 01:12:05 +00:00
Tom Care a5f13c866c Modified the ccc-analyzer script to print the compiler command when log level verbosity is enabled. This is handy for debugging.
llvm-svn: 115109
2010-09-29 23:48:31 +00:00
Shantonu Sen df44f74290 Forward -fno-builtin to clang, add .cp as a supported
extension if you otherwise configure scan-build
to do c++ static analysis.

OKed by Ted

llvm-svn: 107562
2010-07-03 03:08:23 +00:00
Ted Kremenek e869a182c2 Add ccc-analyzer support for '-imacros'. Fixes PR 7204.
llvm-svn: 105624
2010-06-08 18:27:55 +00:00
Ted Kremenek 7deb7050d5 Fix ccc-analyzer's handling of quoted arguments in the build command. Fixes PR 6791.[B
llvm-svn: 100551
2010-04-06 19:41:24 +00:00
Ted Kremenek d76197a271 scan-build: set environment variable LDPLUSPLUS to 'c++-analyzer' to correctly link projects
with c++ code.

llvm-svn: 99684
2010-03-27 00:20:01 +00:00
Ted Kremenek adccbca23f Don't enable static analysis support for C++ by default. Users are
accidentally using it without realizing that it is nowhere close
to being generally usable and are reporting crashes that we
already know about.

llvm-svn: 97960
2010-03-08 19:06:44 +00:00
Charles Davis dde71b93da Pass -m32 and -m64 to the static analyzer when using scan-build. Now we can
use scan-build with Wine, for example.

Ted, I hope this is OK.

llvm-svn: 97566
2010-03-02 15:26:41 +00:00
Ted Kremenek e9711db487 Two changes to scan-build:
(1) When no 'clang' is found with 'scan-build', remember the one from
the path as scan-build sees it, not the build system.  This prevents
us from finding different clangs during the build.

(2) Don't set LDPLUSPLUS when running xcodebuild; instead rely on the
clang driver to do the right thing.

llvm-svn: 95943
2010-02-12 00:12:25 +00:00
Ted Kremenek 14015de619 Add comments.
llvm-svn: 95942
2010-02-12 00:10:34 +00:00
Ted Kremenek 74cc62e161 Tweak output.
llvm-svn: 95676
2010-02-09 18:51:44 +00:00
Ted Kremenek 8de7a0efd1 Add a check for a running Xcode before modifying its configuration files.
llvm-svn: 95675
2010-02-09 18:46:58 +00:00
Ted Kremenek e52f932f5f Add some diagnostics for when we cannot update the original spec file.
llvm-svn: 95572
2010-02-08 21:19:27 +00:00
Ted Kremenek 94c5349ef2 Add a Python script to change what version of Clang is used by Xcode for static analysis (and ONLY static analysis).
llvm-svn: 95569
2010-02-08 20:54:01 +00:00
Ted Kremenek 6a93195783 Fix how scan-build finds c++-analyzer to work with checker builds.
llvm-svn: 95425
2010-02-05 20:34:14 +00:00
Ted Kremenek 01a83104a2 Now that the -cc1 options for analyzer checks have a structured naming, add back scanning for analyzer checks to scan-build.
llvm-svn: 95349
2010-02-05 02:18:39 +00:00
Ted Kremenek 2f2692f8ca Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'.
llvm-svn: 95348
2010-02-05 02:06:54 +00:00
Ted Kremenek b6e400c87c Rename -cc1 option '-warn-objc-missing-dealloc' to '-analyzer-check-objc-missing-dealloc'.
llvm-svn: 95347
2010-02-05 01:59:21 +00:00
Ted Kremenek 61b506aa8f Rename -cc1 option '-warn-objc-methodsigs' to '-analyzer-check-objc-methodsigs'.
llvm-svn: 95346
2010-02-05 01:57:44 +00:00
Ted Kremenek 2d8ef71ae6 Rename -cc1 option '-warn-objc-unused-ivars' to '-analyzer-check-objc-unused-ivars'.
llvm-svn: 95345
2010-02-05 01:55:01 +00:00
Ted Kremenek d519b83757 Rename -cc1 option '-warn-dead-stores' to '-analyzer-check-dead-stores'.
llvm-svn: 95343
2010-02-05 01:52:40 +00:00
Ted Kremenek ec5b3d45c1 Rename -cc1 option '-warn-security-syntactic' to '-analyzer-check-security-syntactic'.
llvm-svn: 95342
2010-02-05 01:50:36 +00:00
Ted Kremenek c0895eb730 Add c++-analyzer symlink (which is used by scan-build)
llvm-svn: 91937
2009-12-22 23:00:32 +00:00
Ted Kremenek 22a8a4bfb9 Compute the right extension for preprocessed Objective-C++ files.
llvm-svn: 91547
2009-12-16 18:32:41 +00:00
Ted Kremenek dca6816d6a Add logic for computing preprocessor file extensions for C++ files.
llvm-svn: 91505
2009-12-16 05:02:47 +00:00
Ted Kremenek f65a0c6768 scan-build/ccc-analyzer: start analyzing C++ FTW.
llvm-svn: 91398
2009-12-15 02:35:54 +00:00
Ted Kremenek f5303fe492 scan-build: when the build command is 'make', override the CC and CXX options by passing them as arguments to make. This fixes <rdar://problem/6790224>.
llvm-svn: 91179
2009-12-11 23:22:52 +00:00
Ted Kremenek f92b446dd4 Remove more old references to clang-cc.
llvm-svn: 91177
2009-12-11 23:12:52 +00:00
Ted Kremenek 5c512e63f4 Convert scan-build and ccc-analyzer over to using 'clang -cc1' instead of using 'clang-cc'.
llvm-svn: 91172
2009-12-11 22:44:53 +00:00
Ted Kremenek 7bea9a1672 Enable '-analyzer-opt-analyze-nested-blocks' by default for testing.
llvm-svn: 90812
2009-12-07 22:26:14 +00:00
Kovarththanan Rajaratnam cb58439f34 Tuck away scan-build related files into tools/scan-build
llvm-svn: 90215
2009-12-01 06:52:01 +00:00