| #
b7a2fe6f |
| 24-Jul-2009 |
Owen Anderson <[email protected]> |
Update for LLVM API change.
llvm-svn: 77012
|
| #
8af896c1 |
| 23-Jul-2009 |
Anders Carlsson <[email protected]> |
Move the LLVM field number for bit fields into the BitFieldInfo structure, since it's meaning is completely different than for non-bit fields.
llvm-svn: 76882
|
| #
acedf776 |
| 22-Jul-2009 |
Mon P Wang <[email protected]> |
Preserve address space information through member accesses, e.g., __attribute__((address_space(1))) struct {int arr[ 3 ]; } *p1; ... = p1->arr[2]; // load from address space 1
llvm-svn: 76
Preserve address space information through member accesses, e.g., __attribute__((address_space(1))) struct {int arr[ 3 ]; } *p1; ... = p1->arr[2]; // load from address space 1
llvm-svn: 76717
show more ...
|
| #
8a286fbd |
| 17-Jul-2009 |
Ted Kremenek <[email protected]> |
Per offline discussion with Steve Naroff, add back Type::getAsXXXType() methods until Doug Gregor's Type smart pointer code lands (or more discussion occurs). These methods just call the new Type::ge
Per offline discussion with Steve Naroff, add back Type::getAsXXXType() methods 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
show more ...
|
| #
e3fb4b65 |
| 16-Jul-2009 |
Ted Kremenek <[email protected]> |
Add member template 'Type::getAs<T>', which converts a Type* to a respective T*. This method is intended to eventually replace the individual Type::getAsXXXType<> methods.
The motivation behind this
Add member template 'Type::getAs<T>', which converts a Type* to a respective T*. 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
show more ...
|
| #
79d1215d |
| 16-Jul-2009 |
Steve Naroff <[email protected]> |
Remove ASTContext::isObjCObjectPointerType(). Convert all clients to use the new predicate on Type.
llvm-svn: 76076
|
| #
9f98d376 |
| 16-Jul-2009 |
Owen Anderson <[email protected]> |
Update for LLVM API change.
llvm-svn: 75869
|
| #
170229f6 |
| 14-Jul-2009 |
Owen Anderson <[email protected]> |
Update for LLVM API change, and contextify a bunch of related stuff.
llvm-svn: 75705
|
| #
7cae42b0 |
| 10-Jul-2009 |
Steve Naroff <[email protected]> |
This patch includes a conceptually simple, but very intrusive/pervasive change.
The idea is to segregate Objective-C "object" pointers from general C pointers (utilizing the recently added ObjCObje
This patch includes a conceptually simple, but very intrusive/pervasive change.
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
show more ...
|
| #
b4b64ca7 |
| 30-Jun-2009 |
Argyrios Kyrtzidis <[email protected]> |
Remove the ASTContext parameter from the attribute-related methods of Decl. The implementations of these methods can Use Decl::getASTContext() to get the ASTContext.
This commit touches a lot of fil
Remove the ASTContext parameter from the attribute-related methods of Decl. 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
show more ...
|
| #
ea12f6eb |
| 26-Jun-2009 |
Nate Begeman <[email protected]> |
OpenCL 1.0 Support: fix a bug with lvalue swizzles
llvm-svn: 74324
|
| #
78bd61f6 |
| 18-Jun-2009 |
Douglas Gregor <[email protected]> |
Move the static DeclAttrs map into ASTContext. Fixes <rdar://problem/6983177>.
llvm-svn: 73702
|
| #
4ca97c3b |
| 13-Jun-2009 |
Chris Lattner <[email protected]> |
Fix PR4372, another case where non-prototyped functions can prevent always_inline from working.
llvm-svn: 73273
|
| #
07bbeca4 |
| 06-Jun-2009 |
Eli Friedman <[email protected]> |
PR4339: make sure to properly extend/trunc the index of a vector element insert/extract; the relevant instructions are defined to take only an i32.
llvm-svn: 73005
|
| #
c6d98005 |
| 01-Jun-2009 |
Fariborz Jahanian <[email protected]> |
A corner case of objc2 gc's write-barrier generation for the Next runtime.
llvm-svn: 72703
|
| #
e32c0211 |
| 01-Jun-2009 |
Eli Friedman <[email protected]> |
PR4289: Make sure "&func" has the right LLVM type when "func" is a K&R-style definition.
llvm-svn: 72690
|
| #
8eb93e72 |
| 31-May-2009 |
Anders Carlsson <[email protected]> |
Emit destructors correctly for temporaries.
llvm-svn: 72655
|
| #
fd2af0cf |
| 30-May-2009 |
Anders Carlsson <[email protected]> |
Add lvalue irgen support for CXXBindTemporaryExpr.
llvm-svn: 72649
|
| #
3be22e27 |
| 30-May-2009 |
Anders Carlsson <[email protected]> |
More temporary support.
llvm-svn: 72648
|
| #
f7f9f687 |
| 30-May-2009 |
Eli Friedman <[email protected]> |
Some small fixes for fields of reference type.
llvm-svn: 72636
|
| #
df0fe27b |
| 29-May-2009 |
Mike Stump <[email protected]> |
Fixup the rest of the trivial cases of the codegen of volatile. If any body can spot codegen bugs with volatile, or knows of any in the bug database, let me know.
llvm-svn: 72572
|
| #
7551257f |
| 27-May-2009 |
Fariborz Jahanian <[email protected]> |
Change a confusing variable name.
llvm-svn: 72491
|
| #
4034a95d |
| 27-May-2009 |
Anders Carlsson <[email protected]> |
Handle operator call expressions where the callee is a member function.
llvm-svn: 72458
|
| #
4ae70ff9 |
| 27-May-2009 |
Anders Carlsson <[email protected]> |
Add support for emitting calls to functions that return references (as lvalues only for now)
llvm-svn: 72449
|
| #
3a9463bf |
| 27-May-2009 |
Anders Carlsson <[email protected]> |
Rename an EmitCallExpr function to EmitCall to make it clear that it doesn't emit an expr.
llvm-svn: 72446
|