- Oct 22, 2008
-
-
Ted Kremenek authored
Enhance reference-count checker to correctly identify CG "release" functions. This fixes <rdar://problem/6303488>. llvm-svn: 57997
-
rdar://problem/6257675Steve Naroff authored
Fix <rdar://problem/6257675> error: member reference base type ('NSUserDefaults *') is not a structure or union. Teach Sema::ActOnMemberReferenceExpr() to look through local category implementations associated with the class. llvm-svn: 57995
-
Douglas Gregor authored
don't have duplicated direct base classes. Seriliazation of base class specifiers is not yet implemented. llvm-svn: 57991
-
Douglas Gregor authored
aren't trying to compare with address-space qualifiers (for now). Clean up handing of DeclRefExprs in Expr::isLvalue and refactor part of the check into a static DeclCanBeLvalue. llvm-svn: 57980
-
Douglas Gregor authored
conversions (e.g., comparing int* -> const int* against int* -> const volatile int*); see C++ 13.3.3.2p3 bullet 3. Add Sema::UnwrapSimilarPointerTypes to simplify the control flow of IsQualificationConversion and CompareQualificationConversion (and fix the handling of the int* -> volatile int* conversion in the former). llvm-svn: 57978
-
Zhongxing Xu authored
llvm-svn: 57977
-
Zhongxing Xu authored
llvm-svn: 57964
-
Zhongxing Xu authored
llvm-svn: 57963
-
Douglas Gregor authored
llvm-svn: 57951
-
Chris Lattner authored
1. Remove a bogus assertion, clients other than sema can return a null pointer from actions that result in ParseTypeName returning null. 2. Remove dead RParenLoc variable. 3. Simplify control flow handling error conditions. 4. On a major failure, we should skip until ')' not until '}'. llvm-svn: 57949
-
Douglas Gregor authored
Fix a thinko in the qualification-conversion check when the qualificaitons are disjoint, and add some overloading-based tests of qualification conversions llvm-svn: 57942
-
Douglas Gregor authored
llvm-svn: 57941
-
Douglas Gregor authored
Changes: - Sema::IsQualificationConversion determines whether we have a qualification conversion. - Sema::CheckSingleAssignment constraints now follows the C++ rules in C++, performing an implicit conversion from the right-hand side to the type of the left-hand side rather than checking based on the C notion of "compatibility". We now rely on the implicit-conversion code to determine whether the conversion can happen or not. Sema::TryCopyInitialization has an ugly reference-related hack to cope with the initialization of references, for now. - When building DeclRefExprs, strip away the reference type, since there are no expressions whose type is a reference. We'll need to do this throughout Sema. - Expr::isLvalue now permits functions to be lvalues in C++ (but not in C). llvm-svn: 57935
-
- Oct 21, 2008
-
-
Daniel Dunbar authored
llvm-svn: 57927
-
Daniel Dunbar authored
llvm-svn: 57924
-
Ted Kremenek authored
When conjuring symbols for compound assignments, use the promoted type to determine if the symbolic value as a "loc::" or "nonloc::" value. llvm-svn: 57917
-
rdar://problem/6257645Steve Naroff authored
ASTContext::isObjCObjectPointerType() needs to consider blocks as objects. Note: My previous commit was done in the test directory...as a result, this commit was necessary. llvm-svn: 57914
-
Douglas Gregor authored
llvm-svn: 57910
-
Douglas Gregor authored
llvm-svn: 57909
-
Ted Kremenek authored
Handle [NSAutoreleasePool addObject:] (an alternative way to add objects to the current autorelease pool). Added initial code for tracking stack of autorelease pools. llvm-svn: 57908
-
Steve Naroff authored
Found this while fixing another unrelated radar. llvm-svn: 57904
-
Steve Naroff authored
llvm-svn: 57899
-
rdar://problem/6261178Steve Naroff authored
Fix <rdar://problem/6265257> warnings for ambiguous message send swamp other warnings. Reworked Sema::MatchTwoMethodDeclarations() to optionally match based on method size and alignment (the default in GCC). Changed Sema::LookupInstanceMethodInGlobalPool() to use this feature. Added -Wno-struct-selector-match to driver, however didn't hook it up yet. Added a FIXME that says this. llvm-svn: 57898
-
Zhongxing Xu authored
GRExprEngine::VisitCast() so that other parts of the analyzer can be ignorant. When we cast "array of type T" to "pointer to T", we get the loc::MemRegionVal corresponding to the array variable. This is sufficient for BasicStore, but not for RegionStore. RegionStore should get the element region for the first array element in the cast. So next comes to the revamping of transfer functions for different store model. llvm-svn: 57897
-
Zhongxing Xu authored
llvm-svn: 57896
-
Zhongxing Xu authored
RValues.h/cpp => SVals.h/cpp llvm-svn: 57893
-
Zhongxing Xu authored
initialized to UndefinedVal. llvm-svn: 57892
-
Zhongxing Xu authored
llvm-svn: 57891
-
Ted Kremenek authored
Further improve path-sensitivity with divide-by-zero checking by assuming that a denominator cannot be zero even when the result of an '/' or '%' expression is unknown. llvm-svn: 57855
-
Ted Kremenek authored
Used conjured symbols to recover path-sensitivity when the result of a compound assignment is UnknownVal(). llvm-svn: 57851
-
-
- Oct 20, 2008
-
-
Steve Naroff authored
Sema::CheckCompareOperands() and ASTContext::mergeTypes(): Change handling of ObjC qualified id types to be consistent with gcc. This changes a handful of test case errors into warnings (diff will tell you which cases have changed). llvm-svn: 57841
-
Chris Lattner authored
strcmp when needed. llvm-svn: 57817
-
Chris Lattner authored
llvm-svn: 57816
-
Chris Lattner authored
llvm-svn: 57815
-
Chris Lattner authored
llvm-svn: 57814
-
Chris Lattner authored
llvm-svn: 57813
-
Chris Lattner authored
weird errors about property attributes being unknown. llvm-svn: 57812
-
Chris Lattner authored
crash.m:8:12: error: type name requires a specifier or qualifier @property (readonlyx, getter=isAwesome) int _awesome; ^ crash.m:8:29: error: expected ';' at end of declaration list @property (readonlyx, getter=isAwesome) int _awesome; ^ crash.m:8:39: error: expected identifier or '(' @property (readonlyx, getter=isAwesome) int _awesome; ^ we now get: crash.m:8:12: error: unknown property attribute 'readonlyx' @property (readonlyx, getter=isAwesome) int _awesome; ^ Also, we can eliminate isObjCPropertyAttribute now. llvm-svn: 57811
-
Chris Lattner authored
ParseObjCPropertyAttribute. Before, on this code (where a comma was forgotten): @property (readonly getter=isAwesome) int _awesome; we emitted: crash.m:9:11: error: expected ')' @property (readonly getter=isAwesome) int _awesome; ^ crash.m:9:37: error: type name requires a specifier or qualifier @property (readonly getter=isAwesome) int _awesome; ^ crash.m:9:37: error: expected identifier or '(' crash.m:9:37: error: expected ';' at end of declaration list crash.m:9:1: error: @property requires fields to be named @property (readonly getter=isAwesome) int _awesome; ^ now we emit: crash.m:9:21: error: expected ')' @property (readonly getter=isAwesome) int _awesome; ^ crash.m:9:11: error: to match this '(' @property (readonly getter=isAwesome) int _awesome; ^ llvm-svn: 57809
-