- Aug 26, 2008
-
-
Daniel Dunbar authored
of RHSs to id type instead of void* if either has Objective-C object type. - This ensures the result can still be used in normal places an object can be used, like a message send. Add implicit conversions for ?: applied to qualified id types to ensure that the RHSs are compatible. - This prevents a codegen crash (creating invalid PHI nodes). - Again, this relates to the fact that qualified id types have no canonical types. - Note that the implicit type casted to is incorrect, however this doesn't currently cause problems because of the flexibility of the id type. Test cases for above. llvm-svn: 55346
-
- Aug 22, 2008
-
-
Eli Friedman authored
testing compatibility. This is necessary for some constructs, like merging redeclarations. Also, there are some ObjC changes to make sure that typesAreCompatible(a,b) == typesAreCompatible(b,a). I don't have any ObjC code beyond the testsuite, so please tell me if there are any cases where this doesn't behave as expected. llvm-svn: 55158
-
- Aug 21, 2008
-
-
Chris Lattner authored
"+=". llvm-svn: 55131
-
Eli Friedman authored
llvm-svn: 55083
-
- Aug 20, 2008
-
-
Daniel Dunbar authored
- UsualUnaryConversions takes an Expr *& and may modify its argument, this broke when it was refactored into Sema::CheckCastTypes. This meant that we were missing implicit casts in some places. - Seems pretty sad that this got through our tests. llvm-svn: 55039
-
- Aug 19, 2008
-
-
Argyrios Kyrtzidis authored
Add ExplicitCastExpr to replace the current CastExpr, and have ImplicitCastExpr and ExplicitCastExpr derive from a common base class (CastExpr): Expr -> CastExpr -> ExplicitCastExpr -> ImplicitCastExpr llvm-svn: 54955
-
- Aug 16, 2008
-
-
Argyrios Kyrtzidis authored
Move the type checking that Sema::ActOnCastExpr does into a new Sema::CheckCastTypes function so that it can be reused. llvm-svn: 54852
-
- Aug 15, 2008
-
-
Daniel Dunbar authored
- Added as private members for each because it is not clear where to put the common definition. Perhaps the IdentifierInfos all of these "pseudo-keywords" should be collected into one place (this would KnownFunctionIDs and Objective-C property IDs, for example). Remove Token::isNamedIdentifier. - There isn't a good reason to use strcmp when we have interned strings, and there isn't a good reason to encourage clients to do so. llvm-svn: 54794
-
- Aug 14, 2008
-
-
Chris Lattner authored
and put the caret on the ()'s. e.g. produces: t.c:13:9: error: called object is not a function or function pointer ((B)a)(); ~~~~~~^ instead of: t.c:13:3: error: called object is not a function or function pointer ((B)a)(); ^~~~~~~~ llvm-svn: 54775
-
- Aug 11, 2008
-
-
Daniel Dunbar authored
- Kill unnecessary #includes in .cpp files. This is an automatic sweep so some things removed are actually used, but happen to be included by a previous header. I tried to get rid of the obvious examples and this was the easiest way to trim the #includes in one fell swoop. - We now return to regularly scheduled development. llvm-svn: 54632
-
Daniel Dunbar authored
- Drop {Decl.h,DeclObjC.h,IdentifierTable.h} from Expr.h - Moved Sema::getCurMethodDecl() out of line (dependent on ObjCMethodDecl via dyn_cast). llvm-svn: 54629
-
Daniel Dunbar authored
- Drop Diagnostic.h from DeclSpec.h, move utility Diag methods into implementation .cpp llvm-svn: 54626
-
- Aug 10, 2008
-
-
Steve Naroff authored
llvm-svn: 54617
-
Chris Lattner authored
llvm-svn: 54605
-
Eli Friedman authored
llvm-svn: 54600
-
- Aug 09, 2008
-
-
Argyrios Kyrtzidis authored
No functionality change. llvm-svn: 54588
-
- Aug 04, 2008
-
-
Daniel Dunbar authored
- clang was erroneously accepting address-of applied to lvalue expressions involving pointer arithmetic. - clang was erroneously rejecting address-of applied to deref expressions of pointer-typed variables. - Improved existing test case. - Fixes: <rdar://problem/6113867>, <rdar://problem/6080158> llvm-svn: 54326
-
Daniel Dunbar authored
- Follows emission scheme used by llvm-gcc, i.e. invent an id for each label whose address is taken and replace each indirect goto by a switch to each possible target. - Currently we emit a switch for each indirect goto instead of merging them as llvm-gcc does. llvm-svn: 54318
-
Chris Lattner authored
Finally fix PR2189. This makes a fairly invasive but important change to move getAsArrayType into ASTContext instead of being a method on type. This is required because getAsArrayType(const AT), where AT is a typedef for "int[10]" needs to return ArrayType(const int, 10). Fixing this greatly simplifies getArrayDecayedType, which is a good sign. llvm-svn: 54317
-
- Jul 27, 2008
-
-
Chris Lattner authored
with QualTypes and Types. llvm-svn: 54116
-
Chris Lattner authored
ASTContext::getCanonicalType instead (PR2189) llvm-svn: 54105
-
- Jul 26, 2008
-
-
Chris Lattner authored
of doing it directly. This is required for PR2189. llvm-svn: 54102
-
Chris Lattner authored
improve 'expression unused' diagnostics for stmtexprs. llvm-svn: 54098
-
Chris Lattner authored
as well as complex float. rdar://6097730 llvm-svn: 54080
-
Chris Lattner authored
llvm-svn: 54069
-
Chris Lattner authored
problem with &&/||. 2) use canonical types for comparison instead of raw types. 3) emit an ext-warn for a gnu extension. Also simplify the code to make it less nested. llvm-svn: 54068
-
- Jul 25, 2008
-
-
Chris Lattner authored
llvm-svn: 54066
-
Chris Lattner authored
is different than C99. This fixes the rest of rdar://6095180. llvm-svn: 54064
-
Chris Lattner authored
llvm-svn: 54063
-
Chris Lattner authored
it does not do unary promotions (like short->int). llvm-svn: 54058
-
-
- Jul 21, 2008
-
-
Chris Lattner authored
@implementation to resolve nullary selector references. llvm-svn: 53845
-
Chris Lattner authored
have better source ranges. Before: t.m:11:53: error: member reference is not to a structure or union CGFloat maxOffsetY = [_outlineLayer contentSize].height - [_outlineLayer frame].size.height; ^~~~~~~ after: t.m:11:54: error: member reference base type ('id') is not a structure or union CGFloat maxOffsetY = [_outlineLayer contentSize].height - [_outlineLayer frame].size.height; ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ llvm-svn: 53834
-
Chris Lattner authored
protocol. Simplify some code to use unconditional form of the protocol access list. llvm-svn: 53832
-
Chris Lattner authored
This code would previously crash on x.y where x is 'id'. llvm-svn: 53827
-
Chris Lattner authored
don't care which class actually defines it. llvm-svn: 53825
-
Chris Lattner authored
from: t.m:8:7: error: member reference is not to a structure or union pool->farm = 0; ^ ~~~~ to: t.m:8:7: error: 'NSAutoreleasePool' has member named 'farm' pool->farm = 0; ~~~~^ ~~~~ llvm-svn: 53824
-
Chris Lattner authored
llvm-svn: 53823
-
Chris Lattner authored
llvm-svn: 53822
-
- Jul 14, 2008
-
-
Nate Begeman authored
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
-