- 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
-
Fariborz Jahanian authored
in 32bit abi. llvm-svn: 76109
-
- Jul 16, 2009
-
-
Anton Korobeynikov authored
llvm-svn: 76099
-
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
-
Owen Anderson authored
llvm-svn: 76090
-
Chris Lattner authored
instead of doing it manually (which might end up getting auto-renamed), fixing a FIXME. rdar://7065446 llvm-svn: 76079
-
Steve Naroff authored
Convert all clients to use the new predicate on Type. llvm-svn: 76076
-
Chris Lattner authored
some target hooks. llvm-svn: 75895
-
Owen Anderson authored
llvm-svn: 75869
-
- 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
-
Owen Anderson authored
llvm-svn: 75705
-
- Jul 14, 2009
-
-
Devang Patel authored
llvm-svn: 75684
-
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
-
Chris Lattner authored
llvm-svn: 75647
-
Anders Carlsson authored
llvm-svn: 75641
-
Daniel Dunbar authored
--- Reverse-merging r75614 into '.': U lib/CodeGen/CGDebugInfo.cpp llvm-svn: 75639
-
Alisdair Meredith authored
llvm-svn: 75622
-
Chris Lattner authored
llvm-svn: 75614
-
Devang Patel authored
llvm-svn: 75589
-
Daniel Dunbar authored
- Previously this would crash on recursive types, and it was also incorrectly stripping off a level of indirection. - I'm not 100% convinced this is all correct, but it should be a monotonic improvment. llvm-svn: 75582
-
Owen Anderson authored
llvm-svn: 75569
-
- Jul 13, 2009
-
-
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
-
Devang Patel authored
llvm-svn: 75473
-
Devang Patel authored
llvm-svn: 75471
-
Owen Anderson authored
llvm-svn: 75446
-
- Jul 11, 2009
-
-
Daniel Dunbar authored
- Previous code was based on a misunderstanding (on my part) of the type representation. llvm-svn: 75385
-
Daniel Dunbar authored
- This was a latent bug exposed by the recent objc type changes. llvm-svn: 75383
-
Eli Friedman authored
llvm-svn: 75325
-
Steve Naroff authored
The idea is to segregate Objective-C "object" pointers from general C pointers (utilizing the recently added ObjCObjectPointerType). The fun starts in Sema::GetTypeForDeclarator(), where "SomeInterface *" is now represented by a single AST node (rather than a PointerType whose Pointee is an ObjCInterfaceType). Since a significant amount of code assumed ObjC object pointers where based on C pointers/structs, this patch is very tedious. It should also explain why it is hard to accomplish this in smaller, self-contained patches. This patch does most of the "heavy lifting" related to moving from PointerType->ObjCObjectPointerType. It doesn't include all potential "cleanups". The good news is additional cleanups can be done later (some are noted in the code). This patch is so large that I didn't want to include any changes that are purely aesthetic. By making the ObjC types truly built-in, they are much easier to work with (and require fewer "hacks"). For example, there is no need for ASTContext::isObjCIdStructType() or ASTContext::isObjCClassStructType()! We believe this change (and the follow-up cleanups) will pay dividends over time. Given the amount of code change, I do expect some fallout from this change (though it does pass all of the clang tests). If you notice any problems, please let us know asap! Thanks. llvm-svn: 75314
-
- Jul 10, 2009
-
-
Anders Carlsson authored
llvm-svn: 75265
-
- Jul 08, 2009
-
-
Owen Anderson authored
llvm-svn: 75041
-
Owen Anderson authored
llvm-svn: 75028
-
Anders Carlsson authored
llvm-svn: 75021
-
Owen Anderson authored
llvm-svn: 74986
-
Fariborz Jahanian authored
when struct variables with GC'able members are copied into. Will provide a test case later. llvm-svn: 74984
-
Chris Lattner authored
Also, enable them in sema so that they are tested, and now that the x86 backend has stablized. llvm-svn: 74983
-
- Jul 06, 2009
-
-
Douglas Gregor authored
from Enea Zaffanella! llvm-svn: 74831
-
- Jul 03, 2009
-
-
Fariborz Jahanian authored
This fixes the case where the wrong symbol is emitted leading to linking errors when you reference a class before defining it (GNU runtime). Patch by David Chisnall. llvm-svn: 74772
-