summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Update to match simplified llvm MemoryBuffer interfaces for files.Chris Lattner2008-04-013-6/+3
| | | | llvm-svn: 49042
* prune dead #includesChris Lattner2008-04-011-2/+0
| | | | llvm-svn: 49033
* MemoryBuffer::getFile got smarter, obviating the need for readfilefast.Chris Lattner2008-04-011-60/+3
| | | | | | | The new MemoryBuffer doesn't "leak" file descriptors and handles the small file case efficiently. llvm-svn: 49032
* Better handling for tabs with message bubbles.Ted Kremenek2008-03-311-2/+4
| | | | llvm-svn: 49001
* Do not prepend the keyword "[CHECKER]" to checker messages when usingTed Kremenek2008-03-311-2/+5
| | | | | | a PathDiagnosticClient. llvm-svn: 48996
* Hack ReadFileFast() to raise the threshold of memory mapped files (from ↵Steve Naroff2008-03-311-1/+1
| | | | | | | | | | 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. llvm-svn: 48991
* Include ranges in GRSimpleVals diagnostics.Ted Kremenek2008-03-311-1/+3
| | | | llvm-svn: 48990
* Inlined clang/Analysis/Analyses/GRSimpleVals.h into LocalCheckers.h and removedTed Kremenek2008-03-312-23/+27
| | | | | | | | | | 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. llvm-svn: 48989
* Added variation of the "Report" method in the class Diagnostic that takesTed Kremenek2008-03-311-3/+7
| | | | | | | an optional DiagnosticClient argument that differs from the client stored internally in the Diagnostic object. llvm-svn: 48986
* Added path-sensitive check for return statements that return the addressTed Kremenek2008-03-312-8/+51
| | | | | | | of a stack variable. This is the path-sensitive version of a check that is already done during semantic analysis. llvm-svn: 48980
* rename Decl::CompatibleAlias -> ObjCCompatibleAlias.Chris Lattner2008-03-312-19/+68
| | | | | | | | | | | | | | 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. llvm-svn: 48972
* some cleanups on top of David's patch. There are still twoChris Lattner2008-03-305-64/+46
| | | | | | | | | | | | | 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. llvm-svn: 48970
* Add initial support for objc codegen for methods, ivars, and theChris Lattner2008-03-3013-53/+357
| | | | | | etoile runtime, patch by David Chisnall! llvm-svn: 48969
* Make sure Sema::ActOnClassMessage() correctly diagnoses "super".Steve Naroff2008-03-281-1/+4
| | | | llvm-svn: 48924
* Added skeleton checking for NSString's method initWithFormat: (do not pass ↵Ted Kremenek2008-03-281-3/+12
| | | | | | | | 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". llvm-svn: 48917
* Expanded NSString checking to check for nil for a few more methods.Ted Kremenek2008-03-271-31/+92
| | | | llvm-svn: 48898
* Add line SourceLocation to NSString checks.Ted Kremenek2008-03-271-10/+24
| | | | | | Added test case to test warning about passing 'nil' to NSString's compare: method. llvm-svn: 48896
* Hooked up initial NSString interface checking to GRSimpleVals.Ted Kremenek2008-03-273-14/+42
| | | | llvm-svn: 48895
* Minor CSS tweaking (smaller h1 tags).Ted Kremenek2008-03-271-1/+3
| | | | | | Bug fix in EscapeText (for std::string) where spaces were not properly emitted. llvm-svn: 48889
* Add creation of BasicObjCFoundationChecks when running GRSimpleVals from the ↵Ted Kremenek2008-03-273-3/+58
| | | | | | driver. llvm-svn: 48886
* Add html::EscapeText for std::string; use this function to escape text in ↵Ted Kremenek2008-03-271-0/+26
| | | | | | message bubbles. llvm-svn: 48884
* Added <h3> tag in HTML file output that contains the name of the source file.Ted Kremenek2008-03-271-0/+1
| | | | llvm-svn: 48869
* Added "GRAuditor" and "GRSimpleAPICheck" interface to allow simple stateless ↵Ted Kremenek2008-03-272-0/+152
| | | | | | | | | 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. llvm-svn: 48867
* PathDiagnosticPiece no longer contains a vector of strings; just one string.Ted Kremenek2008-03-271-7/+29
| | | | | | PathDiagnostic no longer contains a diagnostic ID or diagnostic level. llvm-svn: 48864
* Added classes "PathDiagnosticPiece", "PathDiagnostic", and ↵Ted Kremenek2008-03-271-0/+52
| | | | | | "PathDiagnosticClient", which encapsulate diagnostic reporting for paths. llvm-svn: 48861
* Bug fix: use GetRVal instead of GetLVal (were getting the value of a ↵Ted Kremenek2008-03-261-1/+1
| | | | | | DeclRefExpr, not it's address). llvm-svn: 48846
* Bug fix in transfer function for ObjCMessageExpr: Visit the receiver ↵Ted Kremenek2008-03-261-1/+1
| | | | | | expression as an ordinary expression, not using VisitLVal. llvm-svn: 48842
* Alloc redeclaration of typedefs within ExternCSystemHeaderDir's AND ↵Steve Naroff2008-03-261-3/+4
| | | | | | SystemHeaderDir's. llvm-svn: 48841
* allow the format attribute to be specified in function pointer prototypesNuno Lopes2008-03-251-8/+24
| | | | | | # this is my first commit here, so please be gentle :) llvm-svn: 48807
* Extend QualType::getAddressSpace to do the right thing for array types, and inNate Begeman2008-03-251-8/+3
| | | | | | the future, RecordTypes. llvm-svn: 48784
* GRSimple analysis now outputs additional diagnostic warnings aboutTed Kremenek2008-03-251-8/+14
| | | | | | passing an uninitialized value to a message expresion. llvm-svn: 48776
* Tweak to transfer function for ObjCMessageExpr: handle both instance methodsTed Kremenek2008-03-251-66/+70
| | | | | | and message expressions with a specified receiver. llvm-svn: 48773
* Added logic to check for uninitialized values as the receivers for message ↵Ted Kremenek2008-03-251-8/+64
| | | | | | | | expressions and uninitialized values passed-by-value as arguments to message expressions. llvm-svn: 48760
* Added initial transfer function support for ObjCMessageExpr.Ted Kremenek2008-03-251-0/+41
| | | | llvm-svn: 48757
* Minor CSS tweaking: use webkit style CSS properties for shadows/rounded edgesTed Kremenek2008-03-241-2/+4
| | | | | | for message bubbles. llvm-svn: 48754
* Avoid overflowing buffer, patch by Algeris Kirtzidis!Chris Lattner2008-03-241-1/+1
| | | | llvm-svn: 48741
* Changed merge operation for uninitialized values analysis to "intersect" ↵Ted Kremenek2008-03-221-1/+1
| | | | | | | | (previous union). The effect is that if a variable is uninitialized along a branch (but initialized along another), at merge points it is considered uninitialized. Previously we had the opposite behavior. The new behavior is more conservative, and more in line with gcc's behavior. llvm-svn: 48689
* Rename "Nodify" to "MakeNode"Ted Kremenek2008-03-213-28/+30
| | | | llvm-svn: 48659
* Plug a memory leak in the "this macro expands into a single trivially-Sam Bishop2008-03-211-1/+4
| | | | | | expanded token" case. llvm-svn: 48637
* LiveVariables analysis now uses intersect for the merge of block-level ↵Ted Kremenek2008-03-201-2/+11
| | | | | | | | expression liveness information. The rationale is that a block-level expression cannot be live in a parent block unless it is live in all of the successor blocks. llvm-svn: 48618
* Added HTML highlighting for ranges.Ted Kremenek2008-03-191-0/+3
| | | | llvm-svn: 48572
* Fix typo.Steve Naroff2008-03-191-1/+1
| | | | llvm-svn: 48571
* Fix http://llvm.org/bugs/show_bug.cgi?id=2161.Steve Naroff2008-03-191-2/+13
| | | | llvm-svn: 48568
* Change colors of HTML message bubble.Ted Kremenek2008-03-191-3/+6
| | | | llvm-svn: 48563
* More CSS enhancements to HTML code printing.Ted Kremenek2008-03-191-0/+1
| | | | llvm-svn: 48557
* Misc. cleanups to HTML printing: make code rendered using tables; addTed Kremenek2008-03-191-26/+23
| | | | | | better div positioning for messages. llvm-svn: 48555
* Initial experimentation with adding boxed "annotations" to HTMLized source.Ted Kremenek2008-03-191-2/+7
| | | | llvm-svn: 48540
* Moved generation of html header/footer with builtin CSS to the rewriter library.Ted Kremenek2008-03-191-0/+44
| | | | llvm-svn: 48537
* simplify code by using the variadic StructType::get method.Chris Lattner2008-03-193-27/+24
| | | | llvm-svn: 48535
* simplify the clang codegen by using the new Builder.CreateStructGEP method.Chris Lattner2008-03-194-49/+23
| | | | llvm-svn: 48534
OpenPOWER on IntegriCloud