- Sep 29, 2008
-
-
Steve Naroff authored
Teach Sema::CheckAssignmentConstraints() to allow assignments between id and block pointer types (^{}). llvm-svn: 56793
-
- Sep 28, 2008
-
-
Steve Naroff authored
llvm-svn: 56775
-
-
-
-
-
- Sep 26, 2008
-
-
Steve Naroff authored
This fixes <rdar://problem/6248392> clang: Error when using address of stack variable inside block. llvm-svn: 56652
-
- Sep 25, 2008
-
-
Steve Naroff authored
Downgrade incompatible block pointer error to a warning (to be consistent with incompatible pointer warnings in general). llvm-svn: 56595
-
- Sep 22, 2008
-
-
Steve Naroff authored
llvm-svn: 56438
-
- Sep 17, 2008
-
-
Steve Naroff authored
Block literals are now represented by the concrete BlockExpr class. This is cleanup (removes a FIXME). No functionality change. llvm-svn: 56288
-
Steve Naroff authored
^(expression) or ^(int arg1, float arg2)(expression) ...is no longer supported. All block literals now require a compound statement. llvm-svn: 56257
-
- Sep 12, 2008
-
-
Douglas Gregor authored
Give string literals const element typesin C++, and cope with the deprecated C++ conversion from a string literal to a pointer-to-non-const-character llvm-svn: 56137
-
Daniel Dunbar authored
- Follow C99 behavior of using other operand type when one of operands is a null pointer constant. - Fix overenthusiastic devolving of any Objective-C types to id: o If either operand has an Objective-C object type then: - If both operands are interfaces and either operand can be assigned to the other, use that type as the composite type. - Otherwise, if either type is id, use id as the composite type. - Otherwise, warn about incompatible types and use id as the composite type. - Return handling of qualified idea to separate test following general pointer type checking. o Upgraded from old code to allow devolving to id (without warning, which matches GCC). - <rdar://problem/6212771> Add test case for issues fixed above, XFAIL though because it exposed a new issue in property handling. llvm-svn: 56135
-
- Sep 11, 2008
-
-
Argyrios Kyrtzidis authored
llvm-svn: 56094
-
- Sep 10, 2008
-
-
Steve Naroff authored
llvm-svn: 56064
-
Steve Naroff authored
llvm-svn: 56063
-
- Sep 06, 2008
-
-
Steve Naroff authored
llvm-svn: 55862
-
- Sep 04, 2008
-
-
Steve Naroff authored
Added a couple FIXME's wrt PointLikeType. If the author reads this, it would be great to get some background on this class (thanks in advance). llvm-svn: 55778
-
Steve Naroff authored
llvm-svn: 55767
-
- Sep 03, 2008
-
-
Steve Naroff authored
Highlights... - 4 new AST nodes, BlockExpr, BlockStmtExpr, BlockExprExpr, BlockDeclRefExpr. - Sema::ActOnBlockStart(), ActOnBlockError(), ActOnBlockStmtExpr(), ActOnBlockExprExpr(), ActOnBlockReturnStmt(). Next steps... - hack Sema::ActOnIdentifierExpr() to deal with block decl refs. - add attribute handler for byref decls. - add test cases. llvm-svn: 55710
-
Daniel Dunbar authored
- Allow any Objective-C object types to devolve to type id in a ?: expression. This matches gcc behavior more closely. llvm-svn: 55705
-
Daniel Dunbar authored
- Now also searches for correct setter method. - There are still some issues regarding validation of the setter method and access of read-only properties. llvm-svn: 55686
-
- Sep 02, 2008
-
-
Eli Friedman authored
type-checking pointer subtraction; if the canonical types aren't used, the qualifiers won't always get stripped off correctly. llvm-svn: 55620
-
- Aug 30, 2008
-
-
Daniel Dunbar authored
- Change Obj-C runtime message API, drop the ObjCMessageExpr arg in favor of just result type and selector. Necessary so it can be reused in situations where we don't want to cons up an ObjCMessageExpr. - Update aggregate binary assignment to know about special property ref lvalues. - Add CodeGenFunction::EmitCallArg overload which takes an already emitted rvalue. Add CodeGenFunction::StoreComplexIntoAddr. Disabled logic in Sema for parsing Objective-C dot-syntax that accesses methods. This code does not search in the correct order and the AST node has no way of properly representing its results. Updated StmtDumper to print a bit more information about ObjCPropertyRefExprs. llvm-svn: 55561
-
- 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
-