- Jul 21, 2009
-
-
Douglas Gregor authored
Zaffanella, with tweaks from Abramo Bagnara. llvm-svn: 76576
-
Argyrios Kyrtzidis authored
Use ObjCInterfaceDecl::getCategoryClassMethod() and ObjCInterfaceDecl::getCategoryInstanceMethod() for the same functionality. llvm-svn: 76510
-
Argyrios Kyrtzidis authored
Remove Sema::LookupObjCImplementation and replace it with just calling ObjCInterfaceDecl::getImplementation(). llvm-svn: 76509
-
Argyrios Kyrtzidis authored
- Introduce ASTContext::getObjCImplementation() and ASTContext::setObjCImplementation() which use a DenseMap to associate an interface/category with its implementation (if one exists). - Introduce ObjCInterfaceDecl::get/setImplementation() and ObjCCategoryDecl::get/setImplementation() that use the above methods. - Add a compiler error for when a category is reimplemented. llvm-svn: 76508
-
- Jul 20, 2009
-
-
Douglas Gregor authored
don't replace the type of the field with 'int', from Enea Zaffanella! llvm-svn: 76454
-
Douglas Gregor authored
incomplete type (with a warning), from Enea Zaffanella! llvm-svn: 76451
-
Steve Naroff authored
- Remove Sema::CheckPointeeTypesForAssignment(), a temporary API I added to ease migration to ObjCObjectPointerType. Convert Sema::CheckAssignmentConstraints() to no longer depend on the temporary API. - Sema::ConvertDeclSpecToType(): Replace a couple FIXME's with an important comment/example. - Sema::GetTypeForDeclarator(): Get the protocol's from the interface, NOT the declspec (to support the following C typedef idiom: "typedef C<P> T; T *obj"). - Sema::ObjCQualifiedIdTypesAreCompatible(): Removed some dead code. - ASTContext::getObjCEncodingForTypeImpl(): Some minor cleanups. llvm-svn: 76443
-
- Jul 19, 2009
-
-
Chris Lattner authored
llvm-svn: 76376
-
- Jul 18, 2009
-
-
Steve Naroff authored
llvm-svn: 76321
-
Sebastian Redl authored
llvm-svn: 76318
-
Sebastian Redl authored
llvm-svn: 76317
-
Argyrios Kyrtzidis authored
llvm-svn: 76295
-
Argyrios Kyrtzidis authored
llvm-svn: 76274
-
Argyrios Kyrtzidis authored
llvm-svn: 76269
-
- Jul 17, 2009
-
-
Ted Kremenek authored
until Doug Gregor's Type smart pointer code lands (or more discussion occurs). These methods just call the new Type::getAs<XXX> methods, so we still have reduced implementation redundancy. Having explicit getAsXXXType() methods makes it easier to set breakpoints in the debugger. llvm-svn: 76193
-
Ted Kremenek authored
Replaced Type::getAsLValueReferenceType(), Type::getAsRValueReferenceType(), Type::getAsMemberPointerType(), Type::getAsTagType(), and Type::getAsRecordType() with their Type::getAs<XXX> equivalents. llvm-svn: 76139
-
Ted Kremenek authored
llvm-svn: 76132
-
Daniel Dunbar authored
llvm-svn: 76112
-
- Jul 16, 2009
-
-
Ted Kremenek authored
This method is intended to eventually replace the individual Type::getAsXXXType<> methods. The motivation behind this change is twofold: 1) Reduce redundant implementations of Type::getAsXXXType() methods. Most of them are basically copy-and-paste. 2) By centralizing the implementation of the getAs<Type> logic we can more smoothly move over to Doug Gregor's proposed canonical type smart pointer scheme. Along with this patch: a) Removed 'Type::getAsPointerType()'; now clients use getAs<PointerType>. b) Removed 'Type::getAsBlockPointerTypE()'; now clients use getAs<BlockPointerType>. llvm-svn: 76098
-
Fariborz Jahanian authored
nonfragile abi, instead of crashing. llvm-svn: 76088
-
Steve Naroff authored
Convert all clients to use the new predicate on Type. llvm-svn: 76076
-
Fariborz Jahanian authored
Patch by Ryan Flynn llvm-svn: 75879
-
Steve Naroff authored
This is fallout from the recent ObjCObjectPointerType rework. I'll work on fixing this tomorrow. llvm-svn: 75870
-
Ted Kremenek authored
Objective-C pointers to using ObjCObjectPointerType. Now the checking for 'attribute ((nonnull))' in Sema doesn't emit an error when trying to apply that attribute to a parameter that is an Objective-C pointer (this is a regression). To prevent this regression from occuring in the future, the 'nonnull.c' test was moved to test/SemaObjC and renamed 'nonnull.m'. I also enhanced the tests to show that function calls involved a NULL Objective-C pointer constant does not trigger a warning. This is consistent with GCC, but should likely be fixed. llvm-svn: 75856
-
Fariborz Jahanian authored
base/members. llvm-svn: 75849
-
- Jul 15, 2009
-
-
Ted Kremenek authored
llvm-svn: 75832
-
Steve Naroff authored
Implement the ObjC pseudo built-in types as clang "BuiltinType's". I say pseudo built-in types, since Sema still injects a typedef for recognition (i.e. they aren't truly built-ins from a parser perspective). This removes the static data/methods on ObjCObjectPointerType while preserving the nice API (no need to fiddle with ASTContext:-). This patch also adds Type::isObjCBuiltinType(). This should be the last fairly large patch related to recrafting the ObjC type system. The follow-on patches should be fairly small. llvm-svn: 75808
-
- Jul 14, 2009
-
-
Steve Naroff authored
I don't love the name, however it simplifies the code and is a worthwhile change. If/when we come up with a better name, we can do a search/replace. llvm-svn: 75650
-
Fariborz Jahanian authored
semantics of order of construction [class.init]. llvm-svn: 75649
-
Steve Naroff authored
Note: One day, it might be useful to consider adding this info to DeclGroup (as the comments in FunctionDecl/VarDecl suggest). For now, I think this works fine. I considered moving this to ValueDecl (a common ancestor of FunctionDecl/VarDecl/FieldDecl), however this would add overhead to EnumConstantDecl (which would burn memory and isn't necessary). llvm-svn: 75635
-
Alisdair Meredith authored
llvm-svn: 75622
-
Argyrios Kyrtzidis authored
For C++ overloaded operator calls, set the source location of the DeclRefExpr to the location of the operator. llvm-svn: 75600
-
Argyrios Kyrtzidis authored
- Declaration context of ParmVarDecls (that we got from the Declarator) was not their containing function. - C++ out-of-line method definitions didn't get an access specifier. Both were exposed by a crash when emitting a C++ method to a PCH file (assert at Decl::CheckAccessDeclContext()). llvm-svn: 75597
-
Argyrios Kyrtzidis authored
llvm-svn: 75591
-
- Jul 13, 2009
-
-
Steve Naroff authored
llvm-svn: 75509
-
Steve Naroff authored
llvm-svn: 75505
-
Steve Naroff authored
- Improve comment for Type::getPointeeType(). - Remove a couple redundant casts/returns. - Fix 80 column violations for all getAsStringInternal() methods. llvm-svn: 75485
-
http://llvm.org/viewvc/llvm-project?view=rev&revision=75314Steve Naroff authored
Still more to come...just wanted to get the no-brainers out of the way. llvm-svn: 75477
-
- Jul 11, 2009
-
-
Anders Carlsson authored
Implement more of C++0x 'auto'. A variable with an auto type specifier must have an initializer. Also, move some tests around to match the C++0x draft better. llvm-svn: 75322
-
Ted Kremenek authored
warning: ‘OPT’ may be used uninitialized in this function Now OPT is initialized to NULL. I'm not certain if this is the correct fix; others please review. llvm-svn: 75321
-