| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 81346
|
|
|
|
| |
llvm-svn: 80681
|
|
|
|
| |
llvm-svn: 80163
|
|
|
|
|
|
|
|
| |
"ObjCImplctSetterGetterRefExpr".
A field rename and more comments.
llvm-svn: 79537
|
|
|
|
|
|
|
|
| |
to InterfaceDecl, as it is unrelated to any property and
holds the InterfaceDecl needed for accessing class getter/setter
methods using the dot-syntax.
llvm-svn: 79371
|
|
|
|
|
|
|
|
| |
Removed an unnecessary loop to get to setters incoming
argument. Added DoxyGen comments. Still more work
to do in this area (WIP).
llvm-svn: 79365
|
|
|
|
| |
llvm-svn: 77722
|
|
|
|
| |
llvm-svn: 77629
|
|
|
|
| |
llvm-svn: 77492
|
|
|
|
| |
llvm-svn: 77012
|
|
|
|
| |
llvm-svn: 75705
|
|
|
|
| |
llvm-svn: 75446
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
subclasses.
Timings showed no significant difference before and after the commit.
llvm-svn: 74504
|
|
|
|
|
|
|
|
|
| |
The implementations of these methods can Use Decl::getASTContext() to get the ASTContext.
This commit touches a lot of files since call sites for these methods are everywhere.
I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it.
llvm-svn: 74501
|
|
|
|
| |
llvm-svn: 73702
|
|
|
|
| |
llvm-svn: 71937
|
|
|
|
|
|
| |
Patch by David Chisnall.
llvm-svn: 71023
|
|
|
|
|
|
| |
can't track down.
llvm-svn: 70155
|
|
|
|
| |
llvm-svn: 70105
|
|
|
|
| |
llvm-svn: 69650
|
|
|
|
|
|
|
|
| |
when we need them -- which is exactly what some code was already
doing!
- No intended functionality change.
llvm-svn: 69648
|
|
|
|
| |
llvm-svn: 69563
|
|
|
|
| |
llvm-svn: 69471
|
|
|
|
|
|
|
|
| |
lazy PCH deserialization. Propagate that argument wherever it needs to
be. No functionality change, except that I've tightened up a few PCH
tests in preparation.
llvm-svn: 69406
|
|
|
|
|
|
|
| |
- <rdar://problem/6800351> clang not producing correct large struct
return code for Blocks
llvm-svn: 69337
|
|
|
|
|
|
| |
- No functionality change.
llvm-svn: 68987
|
|
|
|
| |
llvm-svn: 68652
|
|
|
|
|
|
|
|
| |
functionality change.
Changed GenerateConstantString() to take an ObjCStringLiteral (instead of a std::string). While this isn't strictly necessary, it seems cleaner and allows us to cache to "containsNonAscii" if necessary (to avoid checking in both Sema and CodeGen).
llvm-svn: 68114
|
|
|
|
| |
llvm-svn: 67923
|
|
|
|
|
|
|
|
| |
variables.
No intended functionality change.
llvm-svn: 67478
|
|
|
|
| |
llvm-svn: 67406
|
|
|
|
|
|
|
| |
when there is actually a property declaration
used in the dot-syntax.
llvm-svn: 67391
|
|
|
|
|
|
| |
in a property dot-syntax notation.
llvm-svn: 67382
|
|
|
|
|
|
| |
using property dot-syntax.
llvm-svn: 66556
|
|
|
|
|
|
|
| |
with property type which does not match its ivar and
in -fobjc-gc-only mode!
llvm-svn: 65955
|
|
|
|
|
|
|
| |
message to 'super' in a class method declared in
cateogy (darwin specific).
llvm-svn: 65709
|
|
|
|
| |
llvm-svn: 65422
|
|
|
|
|
|
| |
interfaces more consistently.
llvm-svn: 65138
|
|
|
|
|
|
| |
instead.
llvm-svn: 64203
|
|
|
|
|
|
|
| |
correctly. This should lay the ground work to throw the big switch
and start code gening break and continue in the presense of vlas.
llvm-svn: 64046
|
|
|
|
|
|
|
| |
This will allow us to generate break and continue even if vlas are
involved without worry that we'll silently generate bad code.
llvm-svn: 64028
|
|
|
|
| |
llvm-svn: 64014
|
|
|
|
| |
llvm-svn: 63782
|
|
|
|
| |
llvm-svn: 63697
|
|
|
|
| |
llvm-svn: 63685
|
|
|
|
| |
llvm-svn: 63683
|
|
|
|
| |
llvm-svn: 63578
|
|
|
|
|
|
| |
- Inefficient & leaks memory currently, will be cleaned up subsequently.
llvm-svn: 63567
|
|
|
|
|
|
|
| |
- Lift CGFunctionInfo creation above ReturnTypeUsesSret and
EmitFunction{Epi,Pro}log.
llvm-svn: 63553
|