Ted Kremenek
af592eef7b
On OS X, use xcrun (if present) to find the clang to use for static analysis if
...
no clang can be found relative to the location of scan-build.
Fixes <rdar://problem/11691794>
llvm-svn: 162535
2012-08-24 04:53:06 +00:00
Jordan Rose
060b163801
[scan-build] Accept -fno-objc-arc as well as -fobjc-arc.
...
This is how Xcode lets individual files be marked as non-ARC when the rest
of the project is ARC-enabled, so this is necessary for scan-build xcodebuild.
Patch by Paul Eipper!
llvm-svn: 162497
2012-08-23 23:16:34 +00:00
Ted Kremenek
7c88d2ae0f
Teach ccc-analyze about -fobjc-legacy-dispatch and -mios-simulator-version-min
...
llvm-svn: 161443
2012-08-07 19:27:08 +00:00
Ted Kremenek
b9ddbd3daa
scan-build: factor out setting of environment variables.
...
llvm-svn: 161343
2012-08-06 20:19:19 +00:00
Ted Kremenek
0d29bd231b
Pull 'xcodebuild' wrapper logic into a separate function.
...
llvm-svn: 161330
2012-08-06 18:54:19 +00:00
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