]>
granicus.if.org Git - clang/log
Ted Kremenek [Wed, 2 Apr 2008 18:03:20 +0000 (18:03 +0000)]
Put "BUGDESC" comment tag on its own line.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49103
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 18:02:54 +0000 (18:02 +0000)]
Shorted bug-description.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49102
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 17:45:06 +0000 (17:45 +0000)]
simplify some code by using PointerLikeType.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49101
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 17:35:06 +0000 (17:35 +0000)]
add a common base class "PointerLikeType" for PointerType and ReferenceType,
allowing them to be treated the same in some contexts. A suggestion for a
better name is welcome :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49100
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 17:17:33 +0000 (17:17 +0000)]
properly handle array decay in objc message exprs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49098
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 17:15:17 +0000 (17:15 +0000)]
improve error to be something end users will actually understand :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49097
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 16:54:39 +0000 (16:54 +0000)]
Added path-sensitive null dereference test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49095
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 16:47:27 +0000 (16:47 +0000)]
More wording cleanups in --help text.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49094
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 16:41:25 +0000 (16:41 +0000)]
More wording fixes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49093
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 16:35:01 +0000 (16:35 +0000)]
Added error message for unrecognized options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49092
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 16:31:58 +0000 (16:31 +0000)]
Wording cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49091
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 16:04:51 +0000 (16:04 +0000)]
Implemented "-k" support.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49090
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 15:34:12 +0000 (15:34 +0000)]
Do equality testing, not regex, when the build command is gcc. This matches
better with what compiler invocations that ccc-analyzer actually intercepts.
Fixes suggested by Sam Bishop!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49089
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 2 Apr 2008 14:35:35 +0000 (14:35 +0000)]
Two changes to Sema::LookupDecl() interface.
(1) Remove IdLoc (it's never used).
(2) Add a bool to enable/disable lazy builtin creaation (defaults to true).
This enables us to use LookupDecl() in Sema::isTypeName(), which is also part of this commit.
To make this work, I changed isTypeName() to be a non-const member function. I'm not happy with this, however I fiddled with making LookupDecl() and friends const and it got ugly pretty quickly. We can certainly add it back if/when someone has time to fiddle with it. For now, I thought this simplification was more important than retaining the const-ness.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49087
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 07:05:46 +0000 (07:05 +0000)]
Beginning of some cleanups; start generating path diagnostics using objects
that describe a bug.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49086
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 07:05:07 +0000 (07:05 +0000)]
Minor wording changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49085
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 07:04:46 +0000 (07:04 +0000)]
Embed "DESC" tag in HTML reports.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49084
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 07:03:43 +0000 (07:03 +0000)]
Added "description" field to PathDiagnostic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49083
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 06:59:01 +0000 (06:59 +0000)]
Various parts of the standard require something to be an "incomplete or
object type". Add a predicate that checks exactly this, as it is equivalent
to checking ot see if the type is *not* a function type, which is faster
to check.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49082
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 06:50:17 +0000 (06:50 +0000)]
1) Enforce C99 6.7.3p2: "Types other than pointer types derived from
object or incomplete types shall not be restrict-qualified."
2) Warn about qualifiers on function types: C99 6.7.3p8: "If the
specification of a function type includes any type qualifiers, the
behavior is undefined."
3) Implement restrict on C++ references.
4) fix some locations for various C++ reference diagnostics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49081
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 06:06:35 +0000 (06:06 +0000)]
Add a citation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49080
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 05:18:44 +0000 (05:18 +0000)]
Fix several bugs in array -> pointer decomposition.
First, we got several CVR propagation cases wrong, which Eli pointed
out in PR2039.
Second, we didn't propagate address space qualifiers correctly, leading
to incorrect lowering of code in CodeGen/address-space.c.
Third, we didn't uniformly propagate the specifier in the array to the
pointer ("int[restrict 4]" -> "int *restrict").
This adds an ASTContext::getArrayDecayedType member that handles the
non-trivial logic for this seemingly simple operation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49078
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 05:15:22 +0000 (05:15 +0000)]
Added initial hacked support for display path diagnostics with
GRSimpleVals warnings. Cleaning up, but now we get multiple bubbles (branches are annotated).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49077
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 05:13:10 +0000 (05:13 +0000)]
Fix copy-paste error.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49076
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 05:09:38 +0000 (05:09 +0000)]
remove blank line.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49075
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 05:06:23 +0000 (05:06 +0000)]
print cvr qualifiers on simplified typedefs
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49074
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 04:43:42 +0000 (04:43 +0000)]
Added special handling when the build command is "gcc", "cc", or "llvm-gcc";
in these cases we directly call ccc-analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49073
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 04:24:33 +0000 (04:24 +0000)]
rename some variables, fix 80 col violation. No
functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49072
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sam Bishop [Wed, 2 Apr 2008 03:35:43 +0000 (03:35 +0000)]
a bunch of random cleanups
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49071
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 01:05:10 +0000 (01:05 +0000)]
Fix PR2017 and silence some bogus errors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49068
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 2 Apr 2008 00:39:51 +0000 (00:39 +0000)]
Fix a comment typo and add a couple suggestions from Chris.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49066
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 1 Apr 2008 23:04:06 +0000 (23:04 +0000)]
Fairly large "cleaup" related to changing ObjCCompatibleAliasDecl superclass (to inherit from NamedDecl, instead of ScopedDecl).
- Added a DenseMap to associate an IdentifierInfo with the ObjCCompatibleAliasDecl.
- Renamed LookupScopedDecl->LookupDecl and changed it's return type to Decl. Also added lookup for ObjCCompatibleAliasDecl's.
- Removed Sema::LookupInterfaceDecl(). Converted clients to used LookupDecl().
- Some minor indentation changes.
Will deal with ObjCInterfaceDecl and getObjCInterfaceDecl() in a separate commit...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49058
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 1 Apr 2008 22:35:58 +0000 (22:35 +0000)]
Patch by Argiris Kirtzidis: Fix a dangling pointer error!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49057
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 1 Apr 2008 21:36:28 +0000 (21:36 +0000)]
Minor cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49052
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 1 Apr 2008 21:22:03 +0000 (21:22 +0000)]
Added help text for scan-build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49051
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 1 Apr 2008 20:47:38 +0000 (20:47 +0000)]
Initial checking of 'scan-build' script, a script used to wrap builds and
interpose calls to gcc with calls to the analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49049
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 1 Apr 2008 18:04:30 +0000 (18:04 +0000)]
Update to match simplified llvm MemoryBuffer interfaces for files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49042
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 1 Apr 2008 06:08:11 +0000 (06:08 +0000)]
prune dead #includes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49033
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 1 Apr 2008 06:06:37 +0000 (06:06 +0000)]
MemoryBuffer::getFile got smarter, obviating the need for readfilefast.
The new MemoryBuffer doesn't "leak" file descriptors and handles the
small file case efficiently.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49032
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 23:30:12 +0000 (23:30 +0000)]
Embed linkable IDs in message bubbles.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49005
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 31 Mar 2008 23:25:25 +0000 (23:25 +0000)]
improve comma consistency, yes I'm anal
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49004
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 23:14:05 +0000 (23:14 +0000)]
Better handling for tabs with message bubbles.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49001
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 21:40:14 +0000 (21:40 +0000)]
When emitting HTML messages, take into account margin fusing due to tabs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48998
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 21:20:32 +0000 (21:20 +0000)]
Do not abort ccc-analyzer script if an HTML directory is not specified.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48997
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 20:42:43 +0000 (20:42 +0000)]
Do not prepend the keyword "[CHECKER]" to checker messages when using
a PathDiagnosticClient.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48996
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 31 Mar 2008 18:44:59 +0000 (18:44 +0000)]
Hack ReadFileFast() to raise the threshold of memory mapped files (from 4->12 pages).
This is a temporary solution to avoid running out of file descriptors (which defaults to 256).
Need to benchmark to understand the speed benefit. If the benefit is small, the simple solution is to avoid memory mapping files. If the benefit is significant, more thought is necessary.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48991
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 18:44:32 +0000 (18:44 +0000)]
Include ranges in GRSimpleVals diagnostics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48990
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 18:26:32 +0000 (18:26 +0000)]
Inlined clang/Analysis/Analyses/GRSimpleVals.h into LocalCheckers.h and removed
GRSimpleVals.h
Added a PathDiagnosticClient option to the driver functions for the
CFRefCountChecker and the GRSimpleVals analysis. Both analyses now accept a "-o"
argument from the driver that specifies where HTML reports should be dumped.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48989
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 18:25:05 +0000 (18:25 +0000)]
The ccc-analyzer script now interrogates environment variables to determine
where to dump HTML reports.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48987
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 18:23:15 +0000 (18:23 +0000)]
Added variation of the "Report" method in the class Diagnostic that takes
an optional DiagnosticClient argument that differs from the client stored
internally in the Diagnostic object.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48986
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 16:00:32 +0000 (16:00 +0000)]
Disable timing diagnostics for GRSimpleVals.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48981
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 15:02:58 +0000 (15:02 +0000)]
Added path-sensitive check for return statements that return the address
of a stack variable. This is the path-sensitive version of a check that
is already done during semantic analysis.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48980
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 31 Mar 2008 00:36:02 +0000 (00:36 +0000)]
rename Decl::CompatibleAlias -> ObjCCompatibleAlias.
Fix objc ivar lookup. Ivar lookup should occur between lookup
of method-local values and lookup of globals. Emulate this with
some logic in the handling of Sema::ActOnIdentifierExpr.
Two todo's left:
1) sema shouldn't turn a bare reference to an ivar into "self->ivar"
in the AST. This is a hack.
2) The new ScopedDecl::isDefinedOutsideFunctionOrMethod method does
not correctly handle typedefs and enum constants yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48972
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Mar 2008 23:25:33 +0000 (23:25 +0000)]
some cleanups on top of David's patch. There are still two
remaining open issues I've communicated to him:
1) self can be assigned to, and his patch didn't handle it correctly.
2) CollectObjCIvarTypes is N^2 (because each subclass reprocesses
all parent class ivars) and flattens classes. If A derives from B,
and both have an int, I'd expect to get { {i32}, i32}, not { i32, i32}.
David, please review.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48970
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Mar 2008 23:03:07 +0000 (23:03 +0000)]
Add initial support for objc codegen for methods, ivars, and the
etoile runtime, patch by David Chisnall!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48969
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Fri, 28 Mar 2008 22:26:09 +0000 (22:26 +0000)]
Only have the rewriter produce a file when there are no errors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48926
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Fri, 28 Mar 2008 21:37:05 +0000 (21:37 +0000)]
Make sure Sema::ActOnClassMessage() correctly diagnoses "super".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48924
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 28 Mar 2008 16:09:38 +0000 (16:09 +0000)]
Added skeleton checking for NSString's method initWithFormat: (do not pass nil). This won't be useful in most cases right now
because the analyzer isn't tracking expected types for an object, and [NSString alloc] just runs "id".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48917
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 27 Mar 2008 22:59:54 +0000 (22:59 +0000)]
Add some of Ted's recent work to the VC++ project file.
Fix a couple bozo bugs in the rewriter.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48903
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 27 Mar 2008 22:29:16 +0000 (22:29 +0000)]
Collect all the preamble code and don't insert it until the end.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48899
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 22:05:32 +0000 (22:05 +0000)]
Expanded NSString checking to check for nil for a few more methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48898
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 21:23:57 +0000 (21:23 +0000)]
Add line SourceLocation to NSString checks.
Added test case to test warning about passing 'nil' to NSString's compare: method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48896
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 21:15:17 +0000 (21:15 +0000)]
Hooked up initial NSString interface checking to GRSimpleVals.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48895
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 18:11:59 +0000 (18:11 +0000)]
ProgramPoint is just a smart pointer; no reason to return a constant reference.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48891
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 17:28:58 +0000 (17:28 +0000)]
Minor CSS tweaking (smaller h1 tags).
Bug fix in EscapeText (for std::string) where spaces were not properly emitted.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48889
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 17:25:28 +0000 (17:25 +0000)]
For HTMLDiagnostics, when emitting the name of the directory, substitute the current working directory for "."
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48888
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 17:17:51 +0000 (17:17 +0000)]
Update Xcode project: add BasicObjCFoundationChecks.h
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48887
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 17:17:22 +0000 (17:17 +0000)]
Add creation of BasicObjCFoundationChecks when running GRSimpleVals from the driver.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48886
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 17:16:06 +0000 (17:16 +0000)]
Add default ctor implementation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48885
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 17:15:29 +0000 (17:15 +0000)]
Add html::EscapeText for std::string; use this function to escape text in message bubbles.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48884
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 17:14:42 +0000 (17:14 +0000)]
Don't emit any timings for GRSimple if the CFG is not going to be built.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48882
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 07:39:04 +0000 (07:39 +0000)]
Output directory as well as file name.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48870
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 07:35:49 +0000 (07:35 +0000)]
Added <h3> tag in HTML file output that contains the name of the source file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48869
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 07:26:42 +0000 (07:26 +0000)]
Added AnnotatedPath.h, GRAuditor.h, GRSimpleAPICheck.h and BasicObjCFoundationChecks.cpp to Xcode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48868
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 07:25:52 +0000 (07:25 +0000)]
Added "GRAuditor" and "GRSimpleAPICheck" interface to allow simple stateless checkers to be injected into the analyzer.
Added "AnnotatedPath" class to record an annotated path that will be useful for inspecting paths.
Added some boilerplate code for simple checks of Apple's Foundation API.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48867
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 06:18:34 +0000 (06:18 +0000)]
Updated Xcode project with HTMLDiagnostics.[h,cpp]
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48866
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 06:17:42 +0000 (06:17 +0000)]
Added "HTMLDiagnostic", a generic DiagnosticClient (that also implements PathDiagnostic)
so that all diagnostics can be piped to HTML files instead of as text diagnostics using --html-diags.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48865
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 06:16:40 +0000 (06:16 +0000)]
PathDiagnosticPiece no longer contains a vector of strings; just one string.
PathDiagnostic no longer contains a diagnostic ID or diagnostic level.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48864
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 05:52:45 +0000 (05:52 +0000)]
Fixed copy-paste error.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48863
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 03:50:10 +0000 (03:50 +0000)]
Added PathDiagnostic.[h,cpp] to Xcode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48862
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 03:49:32 +0000 (03:49 +0000)]
Added classes "PathDiagnosticPiece", "PathDiagnostic", and "PathDiagnosticClient", which encapsulate diagnostic reporting for paths.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48861
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 03:47:43 +0000 (03:47 +0000)]
In ObjCMessageExpr: getSelector() const should just return "Selector", not "const Selector&" because Selector is just a smart pointer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48860
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 26 Mar 2008 22:28:40 +0000 (22:28 +0000)]
Fix rewriter tests to work with new output file logic. This changes forces the output to standard out (rather than generate a .cpp file, which is the new default for the rewriter).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48847
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 26 Mar 2008 22:21:58 +0000 (22:21 +0000)]
Bug fix: use GetRVal instead of GetLVal (were getting the value of a DeclRefExpr, not it's address).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48846
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 26 Mar 2008 22:00:11 +0000 (22:00 +0000)]
Added test case for static analysis to warn about passing uninitialized values as arguments (not the receiver) in message expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48845
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 26 Mar 2008 21:51:44 +0000 (21:51 +0000)]
Added test case for static analyzer to detect uses of uninitialized pointers as receivers in Objective-C message expressions.
Added test case directory "Analysis-Apple" which is only run on Apple (darwin) machines.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48844
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 26 Mar 2008 21:36:08 +0000 (21:36 +0000)]
Bug fix in transfer function for ObjCMessageExpr: Visit the receiver expression as an ordinary expression, not using VisitLVal.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48842
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 26 Mar 2008 21:27:00 +0000 (21:27 +0000)]
Alloc redeclaration of typedefs within ExternCSystemHeaderDir's AND SystemHeaderDir's.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48841
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nuno Lopes [Tue, 25 Mar 2008 23:01:48 +0000 (23:01 +0000)]
allow the format attribute to be specified in function pointer prototypes
# this is my first commit here, so please be gentle :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48807
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 25 Mar 2008 22:35:32 +0000 (22:35 +0000)]
Added hacked version of ccc script used to invoke the static analyzer. This
will gradually get pruned down, as it doesn't need to be as functional as
'ccc'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48806
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 25 Mar 2008 18:36:32 +0000 (18:36 +0000)]
Extend QualType::getAddressSpace to do the right thing for array types, and in
the future, RecordTypes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48784
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 25 Mar 2008 18:31:12 +0000 (18:31 +0000)]
Add missing files
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48783
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 25 Mar 2008 16:40:05 +0000 (16:40 +0000)]
GRSimple analysis now outputs additional diagnostic warnings about
passing an uninitialized value to a message expresion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48776
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 25 Mar 2008 16:07:41 +0000 (16:07 +0000)]
Tweak to transfer function for ObjCMessageExpr: handle both instance methods
and message expressions with a specified receiver.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48773
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 25 Mar 2008 02:10:28 +0000 (02:10 +0000)]
Added logic to check for uninitialized values as the receivers for message expressions
and uninitialized values passed-by-value as arguments to message expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48760
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 25 Mar 2008 00:34:37 +0000 (00:34 +0000)]
Added initial transfer function support for ObjCMessageExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48757
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 25 Mar 2008 00:16:48 +0000 (00:16 +0000)]
Added "arg_iterators" to ObjCMessageExpr (for iterating over the arguments of a message expression)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48756
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 24 Mar 2008 23:38:32 +0000 (23:38 +0000)]
Minor CSS tweaking: use webkit style CSS properties for shadows/rounded edges
for message bubbles.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48754
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 24 Mar 2008 22:03:25 +0000 (22:03 +0000)]
Add a couple files to VC++ project and cleanup an "#if 0".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48748
91177308 -0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 24 Mar 2008 21:39:05 +0000 (21:39 +0000)]
debian amd64 testing
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48745
91177308 -0d34-0410-b5e6-
96231b3b80d8