Ted Kremenek
20161e9ed7
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53640 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 20:18:21 +00:00
Ted Kremenek
e0787814a7
Quote file names to better handle paths with spaces.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53635 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 18:28:16 +00:00
Ted Kremenek
e703a9026d
Incremented latest checker build.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53631 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 18:15:51 +00:00
Ted Kremenek
f9c2a5d1b4
Distinguish between dead stores and dead initializations.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53628 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 18:06:32 +00:00
Ted Kremenek
10161bfe1a
isRetain() and isRelease() now only returns true if "Retain"/"Release" appears in the suffix of a function's name.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53621 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 17:43:41 +00:00
Ted Kremenek
5656a98557
scan-build now propagates up the exit status of the build command.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53620 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 17:09:28 +00:00
Ted Kremenek
24ec065270
Do not enable -warn-objc-missing-dealloc by default.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53619 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 17:06:44 +00:00
Ted Kremenek
b7770c0b49
scan-build now interrogates clang for a list of available analyses, and presents
...
these as options to the user of scan-build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53618 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 17:06:13 +00:00
Ted Kremenek
37d785bf2b
Support retain/release tracking for CoreGraphics (CGxxxRef) objects.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53617 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 16:50:12 +00:00
Ted Kremenek
0ef77d43c1
Update radar component to file static analyzer bugs against.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53589 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 03:51:09 +00:00
Ted Kremenek
cfcc2470cd
Removed disclaimer about checker-36, which is old news.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53588 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 03:49:15 +00:00
Ted Kremenek
f7f3c20a5d
Provide an "Analysis Scope" for Analyses so checks can either be run on code declarations (bodies) or Objective-C @implementation blocks.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53584 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 00:46:02 +00:00
Ted Kremenek
57bb37fcf5
Re-enable missing -dealloc check.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53578 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 23:56:31 +00:00
Ted Kremenek
24ad90c6b8
Update Xcode project.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53577 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 23:42:26 +00:00
Ted Kremenek
003798181c
Using new clang option to invoke the type-signature check of Objective-C instance methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53576 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 23:41:49 +00:00
Ted Kremenek
fb9a48cf5e
Break off declaration of Analysis enum into Analyses.def. The driver options in
...
clang.cpp now #include these definitions to create the command line options, and
AnalysisConsumer #includes this file to generate the switch statement to create
actions.
Renamed -check-objc-methodsigs to -warn-objc-methodsigs.
The "missing -dealloc" check is now optional: -warn-objc-missing-dealloc
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53575 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 23:41:13 +00:00
Ted Kremenek
8f2698621f
Refactor Dead Stores error reporting to use the simplified BugReporter::EmitBasicReport interface.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53573 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 20:56:04 +00:00
Nate Begeman
be2341d3b8
http://llvm.org/bugs/show_bug.cgi?id=2523
...
Add some code to handle vector comparisons, which is the language side
of the llvm vicmp/vfcmp instructions. Also make the vector-vector and
vector-scalar asign checks a bit more sane under the presence of lax vector
conversions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53565 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 18:02:46 +00:00
Ted Kremenek
57202071e4
Added method "EmitBasicReport" to BugReporter to simplify the emission of simple bug diagnostics.
...
Refactored error reporting in CheckObjCDealloc and CheckObjCInstMethSignature to use this new bug reporting interface (major code simplification).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53560 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 17:40:50 +00:00
Chris Lattner
ca33f79346
remove CGObjCEtoile until it compiles.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53552 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 16:54:05 +00:00
Ted Kremenek
8c22bc3a35
Fix minor mistake in clang checkout instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53550 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 14:40:22 +00:00
Cedric Venet
bb2627d027
test commit. Remove previously added line.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53524 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-13 19:42:06 +00:00
Cedric Venet
82bdabaf31
test commit. Add a blank line.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53522 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-13 19:34:37 +00:00
Argyrios Kyrtzidis
b9f930d7bd
Use of NextToken() makes ParseIdentifierStatement unnecessary.
...
Simplify the parser by removing Parser::ParseIdentifierStatement.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53520 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-12 21:04:42 +00:00
Argyrios Kyrtzidis
63cf923e41
Convert CRLF -> LF line endings.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53519 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-12 20:28:04 +00:00
Cedric Venet
a31bfc24fc
Added two new files to VC++ project.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53518 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-12 19:24:14 +00:00
Chris Lattner
732b2236ae
expand casts to handle what isIntegerConstantExpr handles.
...
Casts from pointers remain a problem. :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53501 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-12 01:15:53 +00:00
Chris Lattner
4c4867e140
Add support for __builtin_type_compatible_p, enums, etc.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53500 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-12 00:38:25 +00:00
Chris Lattner
54176fdb04
start remembering diagnostics for various cases, add some missing
...
code. Switch to Eli's getIntWidth method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53499 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-12 00:14:42 +00:00
Ted Kremenek
b0ac214f8d
Updated latest checker build. This build includes the new check for type-compatibility of the return types of ObjC methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53496 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 23:29:43 +00:00
Ted Kremenek
e4773eb639
Tidy up error message.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53493 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 23:17:01 +00:00
Ted Kremenek
170db7c38d
Add CSS for word wrapping of long message bubbles.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53492 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 23:13:22 +00:00
Chris Lattner
87eae5ecf9
Provide a structure for passing down 'is evaluated' and passing up
...
diagnosic+loc info for i-c-e evaluation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53490 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 22:52:41 +00:00
Ted Kremenek
0e0caa2b88
Update Xcode project.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53488 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 22:48:58 +00:00
Ted Kremenek
5b10bd7e83
Run by default: -check-objc-methodsigs
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53483 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 22:41:43 +00:00
Ted Kremenek
0d8019e55c
Add new check: -check-objc-methodsigs. This check scans methods in
...
ObjCImplementationDecls and sees if a ancestor class defines a method with the
same selector but with a different type signature. Right now it just compares
return types, and mainly looks at differences in primitive values. The checking
will be expanded in the future.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53482 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 22:40:47 +00:00
Chris Lattner
75a4881047
simplify some code a bit.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53477 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 22:15:16 +00:00
Chris Lattner
fcee0019b7
share code between sizeof(expr) and sizeof(type)
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53475 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 21:24:13 +00:00
Ted Kremenek
078c0bcc37
Fix comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53473 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 20:53:14 +00:00
Chris Lattner
ac7cb60397
implement support for __extension__, make sure the result of a
...
comparison has the right width.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53469 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 19:29:32 +00:00
Chris Lattner
7a76778e21
add a new getIntTypeSizeInBits method.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53468 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 19:24:49 +00:00
Chris Lattner
cf0f51d10f
rename "SInt" methods to "Int" in APValue.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53467 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 19:19:21 +00:00
Ted Kremenek
150c2120ab
scan-build now also prints the HTML directory reports were emitted to at the end of the build.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53466 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 19:15:05 +00:00
Chris Lattner
b542afe02d
make the new evaluator avoid conversions APValue<->APSInt in some cases.
...
Add some accessors to APValue.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53465 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 19:10:17 +00:00
Ted Kremenek
bdb435ddaa
Refactored auditor interface within GRExprEngine and GRCoreEngine to use a "batch auditor" to dispatch to specialized auditors instead of having a separate vector for each audited Expr*. This not only provides a much cleaner implementation, but also allows us to install auditors for any expression.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53464 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 18:37:32 +00:00
Chris Lattner
f5eeb055ec
rearrange some code, no functionality changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53463 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 18:11:29 +00:00
Ted Kremenek
0ce902bb29
Patch by Csaba Hruska and Peter Neumark:
...
"adds support (de)serialization (from)to (in memory) buffer."
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53425 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-10 22:10:48 +00:00
Ted Kremenek
eb04751d4d
Updated Xcode project.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53424 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-10 22:04:37 +00:00
Ted Kremenek
4323a57627
Refactored most of the "Store" piece of ValueState into a Store type. The
...
current store implementation is now encapsulated by BasicStore.
These changes prompted some long due constification of ValueState. Much of the
diffs in this patch include adding "const" qualifiers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53423 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-10 22:03:41 +00:00
Ted Kremenek
e5690319a0
Remove unused class AnnotatedPath.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53413 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-10 17:25:03 +00:00