summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix for codegen crash on multibit bool bitfield initializationDaniel Dunbar2008-07-171-0/+7
| | | | | | <rdar://problem/6078606> llvm-svn: 53737
* Moved RemoveDeadBindings logic for the contents of 'Store' to a virtual ↵Ted Kremenek2008-07-172-85/+96
| | | | | | RemoveDeadBindings method in StoreManager. llvm-svn: 53726
* Unify ctx_iterator/ctx_begin()/ctx_end() and iterator/begin()/end() so that ↵Argyrios Kyrtzidis2008-07-173-159/+102
| | | | | | a single iterator type is used for both traversing decls of the same declaration context *and* of the parent declaration contexts, depending on the value of the bool parameter 'LookInParentCtx' that is passed to IdentifierResolver::begin(). llvm-svn: 53724
* When in C++, make EnumConstant names hide tag names in the same scope, ↵Argyrios Kyrtzidis2008-07-161-1/+6
| | | | | | instead of colliding with them. llvm-svn: 53702
* Two fixes:Steve Naroff2008-07-162-3/+4
| | | | | | | - Make sure ObjCIvarDecl propagates the bitfield width. - RewriteObjC::SynthesizeIvarOffsetComputation(): Avoid using the __OFFSETOF__ mumbo jumbo for bitfields (since it isn't legal C). This fixes <rdar://problem/5986079> clang ObjC rewriter: bitfields and ivar access don't mix. llvm-svn: 53694
* When checking for name collision between a tag and a previously defined ↵Argyrios Kyrtzidis2008-07-161-5/+8
| | | | | | | | namespace, the collision occured even when the tag was in a different nested scope. Fix it by taking into account the scope when checking for namespace-tag name collisions. llvm-svn: 53667
* Add 'this' in the comments of Parser::ParseCastExpression to indicate that ↵Argyrios Kyrtzidis2008-07-161-0/+1
| | | | | | it is handled. llvm-svn: 53665
* Fix regression introduced by ↵Ted Kremenek2008-07-161-2/+4
| | | | | | | | http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20080714/006514.html. The regression was the casts from integers to pointers where not being handled: they would just return UnknownVal. This would greatly decrease path-sensitivity. llvm-svn: 53659
* Fix transfer function logic in GRSimpleVals for integer casts: only support ↵Ted Kremenek2008-07-151-0/+4
| | | | | | | | casts from integers to integers. This fixes a crash reported by Anders Carlsson! llvm-svn: 53649
* For the MissingDealloc check, don't treat IBOutlet ivars as being needed to ↵Ted Kremenek2008-07-151-2/+4
| | | | | | be released llvm-svn: 53647
* Use lowercase of attribute iboutlet to not conflict with the macro IBOutletTed Kremenek2008-07-151-1/+1
| | | | llvm-svn: 53645
* Added parsing/sema support for __attribute__ ((IBOutlet)), a clang-specific ↵Ted Kremenek2008-07-152-1/+19
| | | | | | attribute that the static analyzer will use to recognize what ivars are IBOutlets. llvm-svn: 53644
* Distinguish between dead stores and dead initializations.Ted Kremenek2008-07-151-9/+19
| | | | llvm-svn: 53628
* isRetain() and isRelease() now only returns true if "Retain"/"Release" ↵Ted Kremenek2008-07-151-2/+4
| | | | | | appears in the suffix of a function's name. llvm-svn: 53621
* Support retain/release tracking for CoreGraphics (CGxxxRef) objects.Ted Kremenek2008-07-151-12/+83
| | | | llvm-svn: 53617
* Refactor Dead Stores error reporting to use the simplified ↵Ted Kremenek2008-07-142-37/+17
| | | | | | BugReporter::EmitBasicReport interface. llvm-svn: 53573
* http://llvm.org/bugs/show_bug.cgi?id=2523Nate Begeman2008-07-142-22/+88
| | | | | | | | | 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. llvm-svn: 53565
* Added method "EmitBasicReport" to BugReporter to simplify the emission of ↵Ted Kremenek2008-07-143-49/+36
| | | | | | | | simple bug diagnostics. Refactored error reporting in CheckObjCDealloc and CheckObjCInstMethSignature to use this new bug reporting interface (major code simplification). llvm-svn: 53560
* remove CGObjCEtoile until it compiles.Chris Lattner2008-07-141-245/+0
| | | | llvm-svn: 53552
* Use of NextToken() makes ParseIdentifierStatement unnecessary.Argyrios Kyrtzidis2008-07-121-87/+7
| | | | | | Simplify the parser by removing Parser::ParseIdentifierStatement. llvm-svn: 53520
* Convert CRLF -> LF line endings.Argyrios Kyrtzidis2008-07-121-21/+21
| | | | llvm-svn: 53519
* expand casts to handle what isIntegerConstantExpr handles.Chris Lattner2008-07-121-11/+52
| | | | | | Casts from pointers remain a problem. :) llvm-svn: 53501
* Add support for __builtin_type_compatible_p, enums, etc.Chris Lattner2008-07-121-16/+47
| | | | llvm-svn: 53500
* start remembering diagnostics for various cases, add some missingChris Lattner2008-07-121-28/+85
| | | | | | code. Switch to Eli's getIntWidth method. llvm-svn: 53499
* Tidy up error message.Ted Kremenek2008-07-111-2/+4
| | | | llvm-svn: 53493
* Add CSS for word wrapping of long message bubbles.Ted Kremenek2008-07-111-0/+1
| | | | llvm-svn: 53492
* Provide a structure for passing down 'is evaluated' and passing up Chris Lattner2008-07-111-25/+62
| | | | | | diagnosic+loc info for i-c-e evaluation. llvm-svn: 53490
* Add new check: -check-objc-methodsigs. This check scans methods inTed Kremenek2008-07-111-0/+125
| | | | | | | | | 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. llvm-svn: 53482
* simplify some code a bit.Chris Lattner2008-07-111-48/+42
| | | | llvm-svn: 53477
* share code between sizeof(expr) and sizeof(type)Chris Lattner2008-07-111-61/+44
| | | | llvm-svn: 53475
* Fix comment.Ted Kremenek2008-07-111-2/+3
| | | | llvm-svn: 53473
* implement support for __extension__, make sure the result of aChris Lattner2008-07-111-13/+30
| | | | | | comparison has the right width. llvm-svn: 53469
* add a new getIntTypeSizeInBits method.Chris Lattner2008-07-111-11/+12
| | | | llvm-svn: 53468
* rename "SInt" methods to "Int" in APValue.Chris Lattner2008-07-112-7/+6
| | | | llvm-svn: 53467
* make the new evaluator avoid conversions APValue<->APSInt in some cases.Chris Lattner2008-07-111-67/+51
| | | | | | Add some accessors to APValue. llvm-svn: 53465
* Refactored auditor interface within GRExprEngine and GRCoreEngine to use a ↵Ted Kremenek2008-07-112-44/+91
| | | | | | "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. llvm-svn: 53464
* rearrange some code, no functionality changes.Chris Lattner2008-07-111-85/+98
| | | | llvm-svn: 53463
* Patch by Csaba Hruska and Peter Neumark:Ted Kremenek2008-07-101-21/+60
| | | | | | "adds support (de)serialization (from)to (in memory) buffer." llvm-svn: 53425
* Refactored most of the "Store" piece of ValueState into a Store type. TheTed Kremenek2008-07-109-233/+296
| | | | | | | | | 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. llvm-svn: 53423
* Remove unused class AnnotatedPath.Ted Kremenek2008-07-101-1/+0
| | | | llvm-svn: 53413
* Move some environment methods from ValueState/ValueStateManager to ↵Ted Kremenek2008-07-102-127/+95
| | | | | | Environment/EnvironmentManager. llvm-svn: 53412
* Simplify the parser a bit by looking at the next token without consuming it ↵Argyrios Kyrtzidis2008-07-093-100/+47
| | | | | | | | | (by Preprocessor::LookNext): -Remove ParseExpressionWithLeadingIdentifier and ParseAssignmentExprWithLeadingIdentifier. -Separate ParseLabeledStatement from ParseIdentifierStatement. llvm-svn: 53376
* Add Preprocessor::LookNext method, which implements an efficient way to ↵Argyrios Kyrtzidis2008-07-091-0/+26
| | | | | | 'take a peek' at the next token without consuming it. llvm-svn: 53375
* Remove getParentMap() from GRExprEngine.Ted Kremenek2008-07-091-13/+0
| | | | llvm-svn: 53343
* Fix PR2519: correctly handle CFDictionaryCreate.Ted Kremenek2008-07-091-9/+31
| | | | llvm-svn: 53334
* Extend va_start checking to include __builtin_stdarg_start.Ted Kremenek2008-07-091-0/+1
| | | | llvm-svn: 53332
* Codegen support for __builtin_stdarg_startChris Lattner2008-07-091-2/+3
| | | | llvm-svn: 53329
* Add parser support for __builtin_stdarg_start, PR2531Chris Lattner2008-07-091-1/+2
| | | | llvm-svn: 53328
* Initial work on splitting the ValueState into an Environment, Store, andTed Kremenek2008-07-082-25/+45
| | | | | | | | | | | Constraints. These concepts are already present in the current ValueState, but the implementation is monolothic. Making ValueState more modular opens up new design choices for customizing the analysis engine. In the context of the analysis engine, the "Environment" is the binding between Expr* (expressions) and intermediate symbolic values (RValues). llvm-svn: 53252
* revert my bogus attempt to fix the comment. sorry for the noise.Nuno Lopes2008-07-081-1/+1
| | | | llvm-svn: 53248
OpenPOWER on IntegriCloud