Ted Kremenek
ce6b865c21
ccc-analyzer: Don't automatically generate 'Parser Rejects' files anymore. The
...
frontend is far enough along that most discrepancies between Clang and GCC are
(at least for C and Objective-C) are intentional. We also now have codegen to
test the frontend.
llvm-svn: 70303
2009-04-28 17:37:44 +00:00
Douglas Gregor
70091b8f43
Some fixes for PCH (de-)serialization of Objective-C AST nodes:
...
- Deal with the Receiver/ClassInfo shared storage in ObjCMessageExpr
- Implement PCH support for ImplicitParamDecl
- Fix the handling of the body of an ObjCMethodDecl
- Several cast -> cast_or_null fixes
- Make Selector::getIdentifierInfoForSlot work for 1-argument, NULL
selectors.
- Make Selector::getAsString() work with NULL selectors.
- Fix the names of VisitObjCAtCatchStmt and VisitObjCAtFinallyStmt
in the PCH reader and writer; these were never getting called.
At this point, all of the pch-test tests pass for C and Objective-C.
llvm-svn: 70163
2009-04-26 22:20:50 +00:00
Douglas Gregor
1d46a1f8a5
Simple little smoke-test script that tries to build PCH files and then
...
dump their contents for all of the compilable tests in Clang's
testsuite. All of the tests pass for C, but there are still many
failures for Objective-C.
llvm-svn: 70110
2009-04-26 03:52:11 +00:00
Daniel Dunbar
885db54671
Make this code a little more generic.
...
llvm-svn: 70103
2009-04-26 01:28:51 +00:00
Daniel Dunbar
dec9e1ec5e
Don't build error/warning/assertion detection in the testing script.
...
- This wasn't actually all that useful and isn't worth the extra
(hard)code.
llvm-svn: 69869
2009-04-23 05:03:44 +00:00
Ted Kremenek
9ebfe91dea
ccc-analyzer: Don't create preprocessed files about the ignored 'cdecl' attribute. We know Clang doesn't support it yet.
...
llvm-svn: 69802
2009-04-22 13:42:27 +00:00
Daniel Dunbar
44ea0b2e0e
Update this (non-default) test case.
...
llvm-svn: 69636
2009-04-20 23:53:56 +00:00
Daniel Dunbar
c0a4ea0c02
Remove CheckBuiltinMacros script, obsoleted since we support -dM now.
...
llvm-svn: 68990
2009-04-13 21:26:41 +00:00
Daniel Dunbar
497ff13243
Support -miphoneos-version-min in clang-cc.
...
- Patch by Shantonu Sen (with a minor tweak to split out
getDarwin{OSX,IPhoneOS}Defines)!
- <rdar://problem/6776277> Need clang-cc/ccc-analyzer support for
-miphoneos-version-min
llvm-svn: 68815
2009-04-10 19:52:24 +00:00
Daniel Dunbar
e3f4197524
Support %S in Python TestRunner
...
llvm-svn: 68814
2009-04-10 19:49:21 +00:00
Daniel Dunbar
17ddaa677e
More fixes to builtin preprocessor defines.
...
- Add -static-define option driver can use when __STATIC__ should be
defined (instead of __DYNAMIC__).
- Don't set __OPTIMIZE_SIZE__ on Os, __OPTIMIZE_SIZE__ is tied to Oz.
- Set __NO_INLINE__ following GCC 4.2.
- Set __GNU_GNU_INLINE__ or __GNU_STDC_INLINE__ following GCC 4.2.
- Set __EXCEPTIONS for Objective-C NonFragile ABI.
- Set __STRICT_ANSI__ for standard conforming modes.
- I added a clang style test case in utils for this, but its not
particularly portable and I don't think it belongs in the test
suite.
llvm-svn: 68621
2009-04-08 18:03:55 +00:00
Daniel Dunbar
d7beeea228
Handle use side of __objc_exception__ attribute; when using an
...
exception with this attribute we don't need to emit a weak definition
for the exception type information.
llvm-svn: 68513
2009-04-07 06:43:45 +00:00
Ted Kremenek
554b5370e4
scan-build: Also look for clang-cc in ../libexec
...
llvm-svn: 67972
2009-03-29 00:31:32 +00:00
Ted Kremenek
97eaaddc22
More path updates with clang-cc...
...
llvm-svn: 67609
2009-03-24 05:30:14 +00:00
Ted Kremenek
c13a6bc593
Update scan-build/ccc-analyzer to use 'clang-cc' instead of 'clang'.
...
llvm-svn: 67608
2009-03-24 04:29:13 +00:00
Ted Kremenek
3759754363
'-o' option now supports relative paths.
...
llvm-svn: 66680
2009-03-11 18:20:33 +00:00
Ted Kremenek
6f74418bd7
scan-build: Also look for clang in the same directory as scan-build.
...
llvm-svn: 66491
2009-03-09 23:14:38 +00:00
Daniel Dunbar
fe5b7bc5ef
Add my "clang compatible" test runner. Sorry for keeping this to myself...
...
Usage: from clang/test, 'make -f ../utils/test/Makefile.multi'
Pros: About 20% faster than the Makefile based version on my 8 core
box (way faster on Windows I imagine, if it works).
Cons: Needs some cleanup. Ctrl-C works quite poorly on Darwin; more
Python's fault than mine.
Future: Support config definitions so we can use this for running LLVM
tests instead of dejagnu. Parallel testing goodness? Indeed.
llvm-svn: 66293
2009-03-06 22:20:40 +00:00
Daniel Dunbar
7c5a8d2fa0
Add a little utility for interposing between a command line program
...
and capturing its invocations.
llvm-svn: 66068
2009-03-04 21:06:52 +00:00
Daniel Dunbar
b4e80a5b19
ABITestGen: Add v2i16 and v16f32 as default vector types to generate.
...
llvm-svn: 65810
2009-03-02 06:14:33 +00:00
Ted Kremenek
078b8879e7
Don't report 'Parser Rejects' for conftest files.
...
llvm-svn: 65619
2009-02-27 06:17:38 +00:00
Ted Kremenek
33b220510b
Correctly check for ccc-analyzer in the same directory as scan-build.
...
llvm-svn: 65618
2009-02-27 06:17:05 +00:00
Ted Kremenek
1b44ba4295
Pass -ffreestanding' to clang.
...
llvm-svn: 65584
2009-02-26 23:09:43 +00:00
Ted Kremenek
721c3c5f70
For scan-build based analyses, use the '-analyzer-eargely-assume' setting by default (turning it on to test how it impacts users).
...
llvm-svn: 65535
2009-02-26 17:36:31 +00:00
Ted Kremenek
16f3d8dcfb
scan-build now looks for ccc-analyzer first in the 'bin' subdirectory and then the directory where scan-build lives.
...
llvm-svn: 65483
2009-02-25 22:54:02 +00:00
Ted Kremenek
32a59b2315
Do not automatically run the 'missing -dealloc' check until we have adequate time to make it much smarter (too much noise).
...
llvm-svn: 65474
2009-02-25 21:08:30 +00:00
Ted Kremenek
86cb75a7cc
Fix condition in ccc-analyzer that would cause the analyzer never to be run.
...
llvm-svn: 65417
2009-02-25 00:10:37 +00:00
Ted Kremenek
9b15effcd1
ccc-analyzer: Don't analyze files with '-arch ppc' or '-arch ppc64' since Clang
...
doesn't support Altivec intrisics nor is it likely that we're currently
generating all the right #defines, etc., for those architectures.
llvm-svn: 65390
2009-02-24 22:07:12 +00:00
Daniel Dunbar
d2fd196045
Add a very primitive clang based multifile 'delta'.
...
- Interface is more or less like multidelta.
- Keep in mind it won't work very well; delta is O(N^2) frequently in
practice. multidelta manages to work because it folds lines to keep
N small, but this is just working on raw tokens. However, I have a
fancy pants DAG based delta algorithm which will be the bees knees
once I get it wired to clang.
llvm-svn: 65377
2009-02-24 07:42:32 +00:00
Ted Kremenek
6e79f3129e
scan-build: Prune off any trailing '/' characters in the output directory path.
...
llvm-svn: 65368
2009-02-24 02:38:02 +00:00
Ted Kremenek
04c6f05a1c
Find 'clang' in 'bin' subdirectory instead of 'cbin'.
...
llvm-svn: 65343
2009-02-23 23:01:06 +00:00
Daniel Dunbar
12bbe9e144
Goodbye old-ccc; please use tools/ccc/ccc.
...
llvm-svn: 65335
2009-02-23 19:17:09 +00:00
Daniel Dunbar
3ebd531b2c
ABITestGen: Use explicit list of vector types instead of just a list
...
of sizes. Turns out we don't care very much about vector types that
don't map to the hardware.
llvm-svn: 65263
2009-02-22 04:17:53 +00:00
Ted Kremenek
3f49f0f06d
Update scan-build help diagnostic.
...
llvm-svn: 65223
2009-02-21 04:46:41 +00:00
Ted Kremenek
6b8b0dfb90
Only create a preprocessed file for an ignored attribute if there currently does not exist an 'attribute_ignored_XXX.txt' file for that attribute.
...
llvm-svn: 65222
2009-02-21 04:46:20 +00:00
Ted Kremenek
b98f0eb9af
Make 'RangeConstraintManager' the default ConstraintManager.
...
llvm-svn: 65173
2009-02-20 21:49:22 +00:00
Ted Kremenek
40cd13ecff
Fix potential use of uninitialized variable.
...
llvm-svn: 65109
2009-02-20 04:34:29 +00:00
Ted Kremenek
52932d725a
scan-build now searches for the clang binary in the subdirectory 'cbin'.
...
llvm-svn: 65014
2009-02-19 04:58:30 +00:00
Ted Kremenek
13ed6f1ebe
ccc-analyzer:
...
- now logs which source files had "ignored attributes".
- disable-free is enabled
scan-build:
- now displays a table of ignored attributes under "Analyzer Failures".
llvm-svn: 64853
2009-02-17 23:31:05 +00:00
Daniel Dunbar
79d10a2f43
ABITest: Add some checking of values for return types; useful for
...
catching internal consistency problems (esp. w/ reference compiler).
llvm-svn: 64847
2009-02-17 23:13:43 +00:00
Daniel Dunbar
45f68153d3
Note some more things to integrate into ABITest
...
llvm-svn: 64846
2009-02-17 23:12:22 +00:00
Ted Kremenek
d3d16aaa48
Fix broken line.
...
llvm-svn: 64740
2009-02-17 05:01:10 +00:00
Ted Kremenek
b535181199
Static Analyzer driver/options (partial) cleanup:
...
- Move all analyzer options logic to AnalysisConsumer.cpp.
- Unified specification of stores/constraints/output to be:
-analyzer-output=...
-analyzer-store=...
-analyzer-constraints=...
instead of -analyzer-range-constraints, -analyzer-store-basic, etc.
- Updated drivers (ccc-analyzer, scan-builds, new ccc) to obey this new
interface
- Updated test cases to conform to new driver options
llvm-svn: 64737
2009-02-17 04:27:41 +00:00
Chris Lattner
df52dc7a6f
I didn't mean to change this.
...
llvm-svn: 63875
2009-02-05 19:05:56 +00:00
Chris Lattner
8181312251
fix some differences between apple gcc and clang on darwin/x86-32.
...
llvm-svn: 63846
2009-02-05 07:19:24 +00:00
Fariborz Jahanian
4193308b2a
-x language fix.
...
Patch by David Chisnall
llvm-svn: 63686
2009-02-03 23:59:32 +00:00
Daniel Dunbar
506374cc59
ABITest: Makefile tweaks
...
llvm-svn: 63330
2009-01-29 20:36:50 +00:00
Daniel Dunbar
d0c901c5a6
ABITest: Fix access to array test values.
...
llvm-svn: 63296
2009-01-29 08:48:06 +00:00
Daniel Dunbar
676fdd81d5
ABITest: Fix test value generation for unions.
...
llvm-svn: 63286
2009-01-29 07:36:46 +00:00
Daniel Dunbar
7bb8dfae53
Use xcc (instead of clang directly).
...
llvm-svn: 63279
2009-01-29 06:20:19 +00:00
Daniel Dunbar
36ccb30a35
ccc: Support -v; invent a version number for ccc for now, will be
...
shared with clang eventually.
llvm-svn: 63220
2009-01-28 19:26:20 +00:00
Daniel Dunbar
6ec8a4d9e3
ABITest: Support --test-layout option for generating
...
size/alignment/offsetof based tests of types instead of calling
convention tests.
llvm-svn: 63167
2009-01-28 02:01:23 +00:00
Ted Kremenek
dd62885f40
Use string comparison rather than '=='.
...
llvm-svn: 63095
2009-01-27 05:34:28 +00:00
Ted Kremenek
a3f462e49a
PathDiagnostics:
...
- Add the distinction between the 'bug type' and the 'bug description'
HTMLDiagnostics:
- Output the bug type field as HTML comments
scan-build:
- Use the bug type field instead of the bug description for the HTML table.
- Radar filing now automatically picks up the bug description in the title (addresses <rdar://problem/6265970>)
llvm-svn: 63084
2009-01-27 01:53:39 +00:00
Ted Kremenek
725fb43012
Have 'Analyzer Failures' files be named to reflect the category of problem.
...
llvm-svn: 63080
2009-01-27 01:19:08 +00:00
Daniel Dunbar
827c763051
ABITestGen: Add generation of vector types.
...
llvm-svn: 63024
2009-01-26 19:05:20 +00:00
Daniel Dunbar
ed4361ecbb
Add simple make based harness for running ABI tests.
...
llvm-svn: 62916
2009-01-24 08:43:22 +00:00
Ted Kremenek
ec28391084
Added clang option '--analyzer-display-progress' to indicate that the analyzer should output 'ANALYZE:' messages to display its progress on a source file.
...
llvm-svn: 62875
2009-01-23 20:52:26 +00:00
Daniel Dunbar
70e06bdbae
Update CmpDriver to report missing commands.
...
llvm-svn: 62728
2009-01-21 23:34:23 +00:00
Ted Kremenek
13747167ca
Static Analyzer: When generating plists for errors reports, generate one plist file per translation unit that contains all of the diagnostics.
...
llvm-svn: 62647
2009-01-21 00:42:24 +00:00
Daniel Dunbar
34fc92fdc2
Add -analyze action to run static analyzer, instead of inferring from
...
individual checker options.
llvm-svn: 62634
2009-01-20 23:17:32 +00:00
Daniel Dunbar
0c8d6c9d27
ccc: Darwin/x86: Add direct cpp support.
...
- Add Darwin_X86_CC1Tool which is shared by Darwin/x86/Compile and
Darwin/x86/Preprocess tools.
- Minor bug fixes (CmpDriver exit code, -x cpp-output handling, some
linker argument translation).
llvm-svn: 62551
2009-01-20 00:47:24 +00:00
Daniel Dunbar
563dc04faa
Return success indicator from CmpDriver.
...
llvm-svn: 62388
2009-01-17 00:50:45 +00:00
Daniel Dunbar
2e49bf2ceb
Add utils/ABITest, my ABI test generation tool.
...
- Mostly written as an entertaining exercise in enumerating large or
(countably, naturally) infinite sets. But hey, its useful too!
- Idea is to number all C-types so that the N-th type can quickly be
computed, with a good deal of flexibility about what types to
include, and taking some care so that the (N+1)-th type is
interestingly different from the N-th type. For example, using the
default generator, the 1,000,000-th function type is:
--
typedef _Complex int T0;
typedef char T1 __attribute__ ((vector_size (4)));
typedef int T2 __attribute__ ((vector_size (4)));
T2 fn1000000(T0 arg0, signed long long arg1, T1 arg2, T0 arg3);
--
and the 1,000,001-th type is:
--
typedef _Complex char T0;
typedef _Complex char T2;
typedef struct T1 { T2 field0; T2 field1; T2 field2; } T1;
typedef struct T3 { } T3;
unsigned short fn1000001(T0 arg0, T1 arg1, T3 arg2);
--
Computing the 10^1600-th type takes a little less than 1s. :)
llvm-svn: 62253
2009-01-15 04:24:17 +00:00
Daniel Dunbar
35926e10bd
CmpDriver: Allow over-ride of drivers to compare through env variables
...
(DRIVER_[AB]).
llvm-svn: 62242
2009-01-14 20:06:04 +00:00
Daniel Dunbar
c838568803
Add simple tool for comparing drivers (hardcoded to gcc and xcc) which
...
support -###.
llvm-svn: 62156
2009-01-13 07:38:29 +00:00
Daniel Dunbar
60e734782f
Add utils/SummarizeErrors.
...
- Little script for scanning a compile log and summarizing warnings,
errors, assertions, and crashes.
- Is very slow, and stack trace regexs probably only work on Darwin.
llvm-svn: 62013
2009-01-09 22:39:43 +00:00
Daniel Dunbar
1b90e1cd17
ccc (old): Pass -arch through to assembler if given.
...
llvm-svn: 61833
2009-01-07 00:03:20 +00:00
Anders Carlsson
e298a1775d
Pass '-undefined- to the linker
...
llvm-svn: 61663
2009-01-05 01:24:39 +00:00
Anders Carlsson
091134785d
Pass -fblocks to clang
...
llvm-svn: 61258
2008-12-19 20:56:23 +00:00
Ted Kremenek
cd7cc1ec0b
Properly "include" abs_path.
...
llvm-svn: 60502
2008-12-03 19:50:37 +00:00
Ted Kremenek
6cd08e42e4
Use abs_path to resolve symbolic links and '..' in report table.
...
llvm-svn: 60493
2008-12-03 19:19:23 +00:00
Ted Kremenek
eda6c23984
Don't have special treatment from pruning the common suffices of files in /Developer, /usr, etc.
...
llvm-svn: 60491
2008-12-03 19:16:58 +00:00
Nuno Lopes
48b5a33826
llvm-ld doesnt support '-g', so aovid passing that opt to it
...
llvm-svn: 60428
2008-12-02 18:19:03 +00:00
Ted Kremenek
5a205a57d8
scan-build now recognizes when the user is directly invoking gcc for:
...
(a) different versions of gcc (e.g., a suffix '-4.2')
(b) different paths for gcc
llvm-svn: 59578
2008-11-19 01:46:21 +00:00
Daniel Dunbar
ad90855730
Input files should be before link options.
...
- PR3094.
- No test case, ccc is not really a supported product (llvmc2 already
got this right).
llvm-svn: 59535
2008-11-18 17:38:30 +00:00
Ted Kremenek
eefdcea2ba
Fix use of uninitialized variable.
...
llvm-svn: 58663
2008-11-04 00:22:12 +00:00
Ted Kremenek
90230557d7
Allow user toggling between plist and html output with scan-build/ccc-analyzer.
...
llvm-svn: 58657
2008-11-04 00:02:53 +00:00
Ted Kremenek
3a5d515a82
Simplify the functions HtmlEsape and ShellEscape. We now properly print out the following command line in the HTML output: scan-build gcc -x c /dev/null -c -Dfoo='"string abc"'
...
Fixes <rdar://problem/6338651>
llvm-svn: 58600
2008-11-03 07:44:16 +00:00
Zhongxing Xu
72cf861fba
Add defined in if().
...
llvm-svn: 58562
2008-11-02 10:58:16 +00:00
Ted Kremenek
d15b2b1121
On Mac OS X, use TMPDIR as the default location to place analysis results. This is a more secure location for such files, and addresses <rdar://problem/6334220>.
...
llvm-svn: 58491
2008-10-31 05:48:42 +00:00
Daniel Dunbar
719781633a
Update FindSpecRefs to recognize named section references.
...
- Unfortunately, I don't have an easy way to map from named sections
to numbers nicely so they don't get page numbers or integrate in
the list well.
llvm-svn: 58368
2008-10-29 05:58:09 +00:00
Ted Kremenek
2800afa640
Minor UI enhancement:
...
(1) when all of the bug category boxes are checked, automatically check "All Bugs"
(2) when any of the bug category boxes are unchecked, automatically uncheck "All Bugs"
llvm-svn: 58346
2008-10-28 20:09:57 +00:00
Ted Kremenek
99205241f4
Patch by Nikita Zhuk:
...
The attached patch adds a checkbox to the scan-build summary report, which toggles all other checkboxes' states.
llvm-svn: 58344
2008-10-28 19:56:52 +00:00
Zhongxing Xu
ad4c3ded0d
Add store option to scan-build and ccc-analyzer.
...
llvm-svn: 58248
2008-10-27 14:26:32 +00:00
Ted Kremenek
196922b4a1
Fix scan-build's processing of clang's analysis arguments. Patch by Nikita Zhuk!
...
llvm-svn: 58093
2008-10-24 15:11:58 +00:00
Chris Lattner
720d515ee9
Add support for assembler-with-cpp (preprocessed .S files), patch by
...
Roman Divacky!
llvm-svn: 57988
2008-10-22 17:29:21 +00:00
Ted Kremenek
ad4a57d757
Add "argument key" processing similar to ccc.
...
llvm-svn: 57780
2008-10-19 06:42:38 +00:00
Daniel Dunbar
969e35610d
ccc: Pass '-g' through to clang. Handle -weak_framework.
...
llvm-svn: 57779
2008-10-19 02:41:16 +00:00
Daniel Dunbar
5f68d4571b
ccc: support -Xlinker
...
llvm-svn: 57613
2008-10-16 00:10:28 +00:00
Daniel Dunbar
76eae72a0c
ccc: support -fsyntax-only, add some more darwin options, support
...
logging of actions.
llvm-svn: 57603
2008-10-15 21:52:00 +00:00
Ted Kremenek
d323ccd29c
Use 'realpath' to resolve the absolute path to clang and ccc-analyzer.
...
Add "-analyze-headers" option to scan-build that passes the option -analyzer-opt-analyze-headers to clang.
llvm-svn: 57467
2008-10-13 21:46:42 +00:00
Ted Kremenek
63cfae34fd
Add missing newline.
...
llvm-svn: 57333
2008-10-10 00:17:08 +00:00
Daniel Dunbar
6ba6cc42d4
Add script for checking builtin macros verse another compiler ($CC or
...
gcc).
llvm-svn: 57133
2008-10-05 20:39:30 +00:00
Daniel Dunbar
438b0c0c03
Bug fix, ccc was passing -std twice.
...
llvm-svn: 56991
2008-10-03 01:54:54 +00:00
Daniel Dunbar
92c4c4af58
Fix ccc handling of -mmacosx-version-min.
...
llvm-svn: 56956
2008-10-02 17:26:37 +00:00
Daniel Dunbar
e8813812eb
ccc: Use CCC_NATIVE=1 by default.
...
- So far this works fairly well for me for building applications
using clang as a gcc substitute. If you are using ccc for a
different purpose and this is a problem, speak up! Note you can
also use CCC_NATIVE=0 to disable.
- Also, turn CCC_ECHO off as default.
- Also, pass through -Wl, to linker.
llvm-svn: 56904
2008-10-01 01:10:22 +00:00
Ted Kremenek
e8450fefdd
Support -mmacosx-version-min
...
llvm-svn: 56892
2008-09-30 23:40:25 +00:00
Daniel Dunbar
969b48cba1
ccc: Add support for another batch of OS X linker options, including
...
-mmacosx-version-min.
One might anticipate that at some point I will just break down and go
through the man page. That seems a little too obvious.
llvm-svn: 56890
2008-09-30 22:54:22 +00:00
Daniel Dunbar
123e7d1c2a
ccc: Infer action type upfront.
...
- More straightforward, e.g. -E should always imply action =
'preprocess' (I think).
- Pass another option through for OS X.
llvm-svn: 56884
2008-09-30 21:20:51 +00:00
Daniel Dunbar
64fd24812a
Change ccc to not pass -x unknown down.
...
Pass through some more Mac OS X linker options.
llvm-svn: 56853
2008-09-30 16:18:31 +00:00
Ted Kremenek
887c49d592
Really don't add -isysroot twice.
...
llvm-svn: 56815
2008-09-29 23:06:09 +00:00
Ted Kremenek
6b2e07a292
Don't filter out -fpascal-strings.
...
llvm-svn: 56810
2008-09-29 22:45:28 +00:00
Ted Kremenek
8b89a65136
Discard extra -isysroot options. This fixes:
...
<rdar://problem/6253141> Parser rejection occurs when command line has more than one -isysroot switch
llvm-svn: 56790
2008-09-29 16:15:20 +00:00
Ted Kremenek
7dbc92a269
Add "Path Length" back to the table of bug reports.
...
llvm-svn: 56765
2008-09-28 04:13:09 +00:00
Ted Kremenek
15146a56e1
Emulate gcc driver-driver functionality: run analyzer separately for each separate -arch option.
...
llvm-svn: 56618
2008-09-25 20:17:57 +00:00
Daniel Dunbar
0dbad4670c
Add link to report analyzer failures (parse errors, asserts, etc).
...
llvm-svn: 56606
2008-09-25 06:05:31 +00:00
Daniel Dunbar
1ac2ccb47e
Update scan-build to add markers about crashes.
...
llvm-svn: 56603
2008-09-25 01:10:50 +00:00
Ted Kremenek
72e4b0b54c
Include clang preprocessed sources as well with "crashes" output.
...
llvm-svn: 56601
2008-09-25 00:51:44 +00:00
Ted Kremenek
1ad3b3df2f
Use .txt extension for info files.
...
llvm-svn: 56598
2008-09-25 00:25:16 +00:00
Ted Kremenek
ba79e17139
For generated index.html, look for "scan-view.css", not "/scan-view.css"
...
llvm-svn: 56510
2008-09-23 22:34:51 +00:00
Ted Kremenek
0ed9c35b0e
Yank out special CSS for button rendering (not very portable or well tested, and we were encountering race conditions with CSS loading).
...
llvm-svn: 56449
2008-09-22 18:14:23 +00:00
Ted Kremenek
9b5ba60ff3
Reintegrate Daniel's changes.
...
llvm-svn: 56447
2008-09-22 18:05:05 +00:00
Ted Kremenek
85ea56ea84
Add "SUMMARYENDHEAD" tag.
...
llvm-svn: 56445
2008-09-22 17:52:58 +00:00
Ted Kremenek
620ca3d3c9
Don't embed CSS inside scan-build script; use external scanview.css.
...
llvm-svn: 56444
2008-09-22 17:50:47 +00:00
Ted Kremenek
8775b12c36
Don't emit link to source file.
...
llvm-svn: 56443
2008-09-22 17:42:31 +00:00
Ted Kremenek
2a56b23c3a
Make "View Report" just a normal link again.
...
llvm-svn: 56442
2008-09-22 17:39:18 +00:00
Ted Kremenek
a026fd3c01
Don't print out the path length.
...
llvm-svn: 56441
2008-09-22 17:38:23 +00:00
Ted Kremenek
a3fe93b688
Use scan-view to view reports. Opening index.html is deprecated.
...
llvm-svn: 56431
2008-09-22 06:47:01 +00:00
Ted Kremenek
d01c408b71
Patch from Richard Godbee:
...
Improve scan-build results to include the user's host name, the working
directory of the analyzed project, and the date the analysis run took place.
llvm-svn: 56421
2008-09-22 01:35:58 +00:00
Ted Kremenek
0b7ae724a7
Add webkit styles using Javascript (detect for AppleWebKit)
...
llvm-svn: 56408
2008-09-21 20:10:46 +00:00
Ted Kremenek
23432d4c7b
Unbreak using abs_path.
...
llvm-svn: 56407
2008-09-21 19:56:14 +00:00
Ted Kremenek
9eca6af2f2
Remove debugging message.
...
llvm-svn: 56398
2008-09-21 18:26:58 +00:00
Ted Kremenek
ca8ac081af
Unbreak ccc-analyzer: getcwd is from package Cwd
...
llvm-svn: 56397
2008-09-21 18:26:19 +00:00
Ted Kremenek
32c1181468
Patch by Richard Godbee:
...
Output to .info files the absolute paths to files that were rejected by the
parser or crashed the analyzer.
llvm-svn: 56396
2008-09-21 18:04:49 +00:00
Ted Kremenek
172f04dfe6
scan-build now prints out bug categories.
...
llvm-svn: 56395
2008-09-21 06:58:09 +00:00
Ted Kremenek
ebb4245b84
Have ScanView.py generate a "<td></td>" pair in the output HTML instead of having scan-build output an empty (and possibly unused) <td>.
...
llvm-svn: 56393
2008-09-21 03:55:51 +00:00
Daniel Dunbar
669632bf9a
Add REPORTBUG marker to scan-build.
...
llvm-svn: 56373
2008-09-19 23:18:44 +00:00
Ted Kremenek
6633871cb3
Analysis option -warn-objc-nserror-methods is no longer available. (check is done automatically with -checker-cfref)
...
llvm-svn: 56313
2008-09-18 21:25:58 +00:00
Ted Kremenek
be061e2a19
Enable '-warn-objc-nserror-methods' by default.
...
llvm-svn: 56298
2008-09-18 06:34:16 +00:00
Ted Kremenek
907921f753
Include links to stderr output of clang in the table of files that clang rejects.
...
llvm-svn: 56173
2008-09-12 22:49:36 +00:00
Daniel Dunbar
2880158a20
Add ccc support for -e and -sectorder.
...
- llvmc2, save me!
llvm-svn: 56169
2008-09-12 19:42:28 +00:00
Daniel Dunbar
be12fd1f4f
Teach FindSpecRefs how to link to C++ spec.
...
llvm-svn: 56164
2008-09-12 18:10:49 +00:00
Ted Kremenek
4ab81cbe2f
Echo stderr/stdout from clang subprocess to both the stderr of ccc-analyzer and
...
to an output file. This way users can both see the output of 'clang' as well as
enable background logging of files that clang encounters problems on.
llvm-svn: 56130
2008-09-11 23:05:26 +00:00
Ted Kremenek
28d1dc50b8
Bug fix: <rdar://problem/6164367>
...
scan-build now correctly processes path prefixes that contain multiple '+'
characters or other regex control characters.
llvm-svn: 56121
2008-09-11 21:15:10 +00:00
Ted Kremenek
81ced5c472
Check if the environment variable TERM is defined before using it.
...
This fixes: <rdar://problem/6164279> scan-build gives error when invoked without TERM variable
llvm-svn: 56110
2008-09-11 18:17:51 +00:00
Ted Kremenek
c92c134563
Patch to scan-build by Jordan Breeding:
...
- Don't remove $BaseDir; may be unsafe
- Always create HTML directory with parents
llvm-svn: 55813
2008-09-04 23:56:36 +00:00
Daniel Dunbar
217836527c
Fix FindSpecRefs to be Python 2.4 compatible and get the SVN revision
...
in a more obvious fashion.
llvm-svn: 55791
2008-09-04 20:26:14 +00:00
Ted Kremenek
e9354c6029
scan-build:
...
- Only set the environment variable 'CXX' if the user specifies --use-c++.
- Fix regression when setting LDPLUSPLUS: add a 'which' to determine the location of g++. This regression was pointed out by Jordan Breeding!
llvm-svn: 55780
2008-09-04 17:52:41 +00:00
Ted Kremenek
3cbb3b2920
Capture 'uname' and 'gcc -v' output to .info files.
...
llvm-svn: 55752
2008-09-04 00:41:45 +00:00
Ted Kremenek
370de84b50
ccc-analyzer:
...
- Capture the STDERR output of 'clang' to a file for use with crash reporting.
llvm-svn: 55749
2008-09-04 00:02:34 +00:00
Ted Kremenek
f4fd23f635
Added --use-cxx option to scan-build.
...
llvm-svn: 55706
2008-09-03 17:59:35 +00:00
Nuno Lopes
d63db4063a
recognise .s/.S file extensions. add default value for CCC_LANGUAGES
...
llvm-svn: 55630
2008-09-02 10:27:37 +00:00
Daniel Dunbar
2e5225818a
Improve ccc:
...
- Support environment variable CCC_LANGUAGES to control which
languages clang is invoked on. If unset clang is invoked for all
languages, otherwise CCC_LANGUAGES should be a comma separated list
of the languages (as accepted by -x) for which clang should be
invoked. Useful for only building C and Objective-C parts of a
project with clang, for example.
- Add environment variable CCC_FALLBACK. If set and non-empty then
ccc will try and compile using the regular compiler if compilation
with clang fails.
- A few other tweaks to add options, flush stdout, recognize .mm as
objective-c++, and infer languages for compile+link style
invocations.
llvm-svn: 55547
2008-08-29 21:03:27 +00:00
Daniel Dunbar
a545f466e8
Add utils/FindSpecRefs, Python script for generating specification
...
references HTML page.
llvm-svn: 55524
2008-08-29 01:07:08 +00:00
Ted Kremenek
1bb387e056
Use explicit variable instead of $?
...
llvm-svn: 55501
2008-08-28 21:28:55 +00:00
Ted Kremenek
de8008a130
Enhance ubiviz to support vertex styles.
...
llvm-svn: 55462
2008-08-28 05:01:37 +00:00
Ted Kremenek
266ec3fb4e
Automatically execute ubiviz.
...
Cleanup ubigraph files when don't drawing the graphs.
llvm-svn: 55459
2008-08-28 03:54:51 +00:00
Ted Kremenek
1a42278a19
Fix regression: immediately terminate ccc-analyzer when gcc reports an error.
...
llvm-svn: 55452
2008-08-28 01:18:44 +00:00
Ted Kremenek
d461d7ad7e
Added Ubigraph visualization for the static analyzer (this is pretty alpha quality).
...
llvm-svn: 55442
2008-08-27 22:31:43 +00:00
Ted Kremenek
7b62806272
Remove regression where the analyzer was not called.
...
llvm-svn: 55440
2008-08-27 22:30:34 +00:00
Ted Kremenek
715ac7c51e
Use path information from .info files when computing common prefix information.
...
This partially implements PR 2705: http://llvm.org/bugs/show_bug.cgi?id=2705
llvm-svn: 55327
2008-08-25 20:45:07 +00:00
Ted Kremenek
6aa1ad0a7b
Use the same 'cc' for generated preprocessed crash files as we do for compilation.
...
llvm-svn: 55326
2008-08-25 20:44:31 +00:00
Ted Kremenek
a3b3c86a47
ccc-analyzer now correctly reports the exit code from 'cc'.
...
scan-build now correctly reports the exit code from the build command.
Fixes: <rdar://problem/6172224>
llvm-svn: 55324
2008-08-25 20:10:45 +00:00
Daniel Dunbar
eacf1d2c0f
Update ccc driver
...
- Use CCC_ECHO to control echoing behavior (default is on, set to ''
or unset to disable)
- Get 'clang','llc','as','cc','ld' executables from environment. 'cc'
and 'ld' are fetched through CCC_CC and CCC_LD respectively -- to
support make CC=ccc -- the others are through their upcased
versions.
- Add CCC_NATIVE mode.
o This uses llc and as to generate native object files; allowing
more drop-in replacement of gcc.
o Disabled by default, but should eventually be default.
o Allow --emit-llvm in CCC_NATIVE mode to override. Essentially
this makes ccc more like a drop in replacement for llvm-gcc.
- Prevent explicit -x <language> options from annoying clang.
llvm-svn: 55260
2008-08-23 22:15:15 +00:00
Ted Kremenek
b57efcc3d0
Added --use-cc option to scan-build to allow the user to specify what compiler they want to use for code compilation.
...
llvm-svn: 55142
2008-08-21 21:47:09 +00:00
Ted Kremenek
b3c98d3a88
Record arguments in .info file.
...
llvm-svn: 54947
2008-08-18 20:55:25 +00:00
Ted Kremenek
5abf546865
scan-build/ccc-analyzer now also report clang parser failures.
...
llvm-svn: 54931
2008-08-18 18:38:29 +00:00
Nuno Lopes
d83be33cc0
fix linking with .so files specified in cmd line (this fixes some libtool usages)
...
llvm-svn: 54623
2008-08-10 22:17:57 +00:00
Nuno Lopes
c14bcffda6
pass -R arg to linker
...
llvm-svn: 54622
2008-08-10 21:58:01 +00:00
Ted Kremenek
994c8e393d
Have scan-build/ccc-analyzer generate preprocessed .i/.mi files for sources that clang crashes on.
...
llvm-svn: 54552
2008-08-08 20:46:42 +00:00
Ted Kremenek
1f4eb6b8da
Fix by Jordan Breeding: when scanning for prior runs, scan-build should ignore files that are not directories.
...
llvm-svn: 54473
2008-08-07 17:57:34 +00:00
Ted Kremenek
7ae17ce6b4
Misc cleanups.
...
When results go to a auto-generated dir in /tmp, don't use randomized file names. Just output /tmp/scan-build-DATE-counter, where counter is an auto-incremented counter for runs produced that day.
llvm-svn: 54325
2008-08-04 18:15:26 +00:00
Ted Kremenek
5a3803c076
Convert remaining "open" calls to use three-argument form (thanks to Sam Bishop for the tip!).
...
Recognize 'ccc-analyzer' as a build command some users may use. Treat it just like calling gcc.
llvm-svn: 54323
2008-08-04 17:34:06 +00:00
Ted Kremenek
6a77d42a4d
Use stable sort.
...
llvm-svn: 54222
2008-07-30 18:03:31 +00:00
Ted Kremenek
e8fce56cd1
"Escape" bug names with quotes for selecting/deselecting from the bug table.
...
llvm-svn: 54220
2008-07-30 17:58:08 +00:00
Ted Kremenek
7fb92dbf47
Enabled 'unused ivars' check by default.
...
llvm-svn: 54052
2008-07-25 20:35:01 +00:00
Ted Kremenek
4a154b2857
Ignore -MT and -MF.
...
llvm-svn: 53977
2008-07-24 03:52:21 +00:00
Ted Kremenek
1c0c06bb9c
"This patch adds paths for Fedora 9 in clang.cpp and support for two preprocessor options in ccc."
...
Patch by Zhongxing Xu!
llvm-svn: 53976
2008-07-24 03:49:15 +00:00
Ted Kremenek
f7ffd66551
Reimplement ccc-analyzer in a language I actually know, and implement some obvious optimizations when processing command line arguments.
...
llvm-svn: 53783
2008-07-19 06:11:04 +00:00
Ted Kremenek
d2d122961d
Remove typo.
...
llvm-svn: 53776
2008-07-18 23:13:03 +00:00
Ted Kremenek
2a6b0b5d5e
Quote invocation of clang in pipe to handle paths with spaces.
...
llvm-svn: 53775
2008-07-18 23:11:33 +00:00
Ted Kremenek
803d9ef9d6
Have scan-build control default analyses.
...
llvm-svn: 53654
2008-07-15 23:41:32 +00:00
Ted Kremenek
3be3401303
Add -DIBOutlet=__attribute__((iboutlet)) to analyzer arguments.
...
llvm-svn: 53648
2008-07-15 23:09:14 +00:00
Ted Kremenek
3879c5f6e4
Added --status-bugs option to scan-build. By default, the exit status of
...
scan-build is the same as the exit status of the executed build command. With
this option, the exit status of scan-build is 1 if the analyzer flagged any
bugs, and 0 otherwise.
This addresses: <rdar://problem/6075320>
llvm-svn: 53642
2008-07-15 22:03:09 +00:00
Ted Kremenek
48ea92965b
Per Sam Bishop's excellent suggestion, use "system" instead of backticks to invoke sub-commands used by scan-build. This avoids meta-character translation issues caused by a shell subprocess.
...
llvm-svn: 53640
2008-07-15 20:18:21 +00:00
Ted Kremenek
c7cd410657
Quote file names to better handle paths with spaces.
...
llvm-svn: 53635
2008-07-15 18:28:16 +00:00
Ted Kremenek
78e9c0d697
scan-build now propagates up the exit status of the build command.
...
llvm-svn: 53620
2008-07-15 17:09:28 +00:00
Ted Kremenek
e5165722ed
Do not enable -warn-objc-missing-dealloc by default.
...
llvm-svn: 53619
2008-07-15 17:06:44 +00:00
Ted Kremenek
3a787bf977
scan-build now interrogates clang for a list of available analyses, and presents
...
these as options to the user of scan-build.
llvm-svn: 53618
2008-07-15 17:06:13 +00:00
Ted Kremenek
5470e0c7e1
Re-enable missing -dealloc check.
...
llvm-svn: 53578
2008-07-14 23:56:31 +00:00
Ted Kremenek
2fa70832e4
Using new clang option to invoke the type-signature check of Objective-C instance methods.
...
llvm-svn: 53576
2008-07-14 23:41:49 +00:00
Ted Kremenek
afe2c0be34
Run by default: -check-objc-methodsigs
...
llvm-svn: 53483
2008-07-11 22:41:43 +00:00
Ted Kremenek
36f8212299
scan-build now also prints the HTML directory reports were emitted to at the end of the build.
...
llvm-svn: 53466
2008-07-11 19:15:05 +00:00
Ted Kremenek
86b4249c97
Mark the "Bug Type" column as being initially sorted (display the sort ding) so that users can readily see that the table can be sorted.
...
llvm-svn: 53176
2008-07-07 17:23:32 +00:00
Ted Kremenek
9707a93f9d
Output html should have 'class=' before "sorttable_nosort".
...
llvm-svn: 53175
2008-07-07 16:58:44 +00:00
Nuno Lopes
a7c7c6b011
llvm-ld doesnt support -O1, -O2, etc options, so dont pass them
...
llvm-svn: 53144
2008-07-05 17:31:10 +00:00
Ted Kremenek
9c75ea62d7
Have ccc-analyzer skip any files with an unknown (or absent) extension.
...
llvm-svn: 53114
2008-07-03 22:24:10 +00:00
Ted Kremenek
f1f17555bd
ccc-analyzer now dispatches the options "-checker-cfref" and "-warn-dead-stores" to clang instead of just "-checker-cfref".
...
llvm-svn: 53053
2008-07-02 23:16:10 +00:00
Ted Kremenek
51a685cf27
When inspecting the build command, strip off the preceding path to the build command.
...
llvm-svn: 52913
2008-06-30 18:18:16 +00:00
Ted Kremenek
fec817aa12
Bug fix: when copying prefix files using 'cp', don't split file names by spaces.
...
llvm-svn: 52899
2008-06-30 16:12:30 +00:00
Chris Lattner
552b52f49d
"This maps the -pthread option to -lpthread - this isn't 100% correct,
...
since handling this correctly is quite complex, and on some platforms
requires additional -D options and on some implies linking against a
different libc, but this works better than just ignoring the option.
The other change passes the -x option across to clang, which allows
compiling .c files as Objective-C and so on. For some reason a lot of
configure scripts seem to be under the misguided impression that this
is a sensible thing to do."
Patch by David Chisnall!
llvm-svn: 52579
2008-06-21 17:46:11 +00:00
Nuno Lopes
a02e2f991b
handle -arch and -isysroot correctly (like ccc-analyszer do).
...
Patch by Filipe Cabecinhas
llvm-svn: 52417
2008-06-17 17:23:14 +00:00
Ted Kremenek
3dd7724711
Only use colored output when the environment variable SCAN_BUILD_COLOR is set.
...
llvm-svn: 52379
2008-06-17 03:06:59 +00:00
Ted Kremenek
51ca6fa512
Remove debugging message in ccc-analyzer.
...
Add color diagnostics from scan-build, and indicate the number of bugs found (if any).
llvm-svn: 52372
2008-06-16 22:40:14 +00:00
Ted Kremenek
c17ec3e27f
Re-enable the analyzer.
...
llvm-svn: 52367
2008-06-16 21:41:07 +00:00
Ted Kremenek
2f7a88ddf6
Skip a few more files and linker options.
...
llvm-svn: 52189
2008-06-10 18:56:59 +00:00
Ted Kremenek
dfa8c8aef5
Ignore a few more linker arguments.
...
llvm-svn: 52023
2008-06-05 22:46:24 +00:00
Ted Kremenek
6da61be501
ccc-analyzer now properly eats the -install_name, -exported_symbols_list, -current_version, -compatibility_version, and -sectorder command line arguments.
...
llvm-svn: 51965
2008-06-04 20:49:03 +00:00
Ted Kremenek
88bfb62ffe
Use the correct 'ccc-analyzer' when the build command is a direct invocation of gcc.
...
llvm-svn: 51883
2008-06-02 21:52:47 +00:00