Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Explicitly note that pre-inc/dec lvalues are not supported yet, so that it | Eli Friedman | 2009-11-09 | 1 | -1/+5 |
| | | | | | | doesn't crash. (Such expressions are valid in C++, but not in C.) llvm-svn: 86513 | ||||
* | Add clarifying parens. | Daniel Dunbar | 2009-11-08 | 1 | -1/+1 |
| | | | | llvm-svn: 86457 | ||||
* | Handle member expressions where the member declaration is actually a static ↵ | Anders Carlsson | 2009-11-07 | 1 | -0/+3 |
| | | | | | | variable. Fixes PR5392. llvm-svn: 86414 | ||||
* | More LValue related code cleanup. | Anders Carlsson | 2009-11-07 | 1 | -18/+27 |
| | | | | llvm-svn: 86413 | ||||
* | More cleanup, the code is much easier to follow now. | Anders Carlsson | 2009-11-07 | 1 | -24/+11 |
| | | | | llvm-svn: 86412 | ||||
* | Reduce nesting, no functionality change. | Anders Carlsson | 2009-11-07 | 1 | -18/+20 |
| | | | | llvm-svn: 86411 | ||||
* | We only need to call SetObjCNonGC for local variables. No functionality change. | Anders Carlsson | 2009-11-07 | 1 | -3/+3 |
| | | | | llvm-svn: 86410 | ||||
* | Change EmitPointerToDataMemberLValue to take a FieldDecl. No intended ↵ | Anders Carlsson | 2009-11-07 | 1 | -4/+3 |
| | | | | | | functionality change. llvm-svn: 86407 | ||||
* | random tidying | Chris Lattner | 2009-10-28 | 1 | -101/+104 |
| | | | | llvm-svn: 85408 | ||||
* | adjust for a pending LLVM change. | Chris Lattner | 2009-10-28 | 1 | -3/+3 |
| | | | | llvm-svn: 85373 | ||||
* | Add Code gen support for '->*' operator which fell | Fariborz Jahanian | 2009-10-26 | 1 | -1/+4 |
| | | | | | | through the crack. llvm-svn: 85160 | ||||
* | Eliminate QualifiedDeclRefExpr, which captured the notion of a | Douglas Gregor | 2009-10-23 | 1 | -6/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | qualified reference to a declaration that is not a non-static data member or non-static member function, e.g., namespace N { int i; } int j = N::i; Instead, extend DeclRefExpr to optionally store the qualifier. Most clients won't see or care about the difference (since QualifierDeclRefExpr inherited DeclRefExpr). However, this reduces the number of top-level expression types that clients need to cope with, brings the implementation of DeclRefExpr into line with MemberExpr, and simplifies and unifies our handling of declaration references. Extended DeclRefExpr to (optionally) store explicitly-specified template arguments. This occurs when naming a declaration via a template-id (which will be stored in a TemplateIdRefExpr) that, following template argument deduction and (possibly) overload resolution, is replaced with a DeclRefExpr that refers to a template specialization but maintains the template arguments as written. llvm-svn: 84962 | ||||
* | Emit calls using the canonical prototype of the called function. | John McCall | 2009-10-23 | 1 | -3/+5 |
| | | | | llvm-svn: 84947 | ||||
* | Complete code gen for '.*' binary expression for | Fariborz Jahanian | 2009-10-22 | 1 | -0/+25 |
| | | | | | | both scalar and aggregates. llvm-svn: 84910 | ||||
* | Expand on code gen. for pointer to data members so it works | Fariborz Jahanian | 2009-10-21 | 1 | -3/+4 |
| | | | | | | for base classe members as well. Test case enhanced for this. llvm-svn: 84780 | ||||
* | Code gen for pointer-to-datamember - WIP. | Fariborz Jahanian | 2009-10-21 | 1 | -0/+21 |
| | | | | llvm-svn: 84771 | ||||
* | Code-gen for CXXZeroInitValueExpr AST passed | Fariborz Jahanian | 2009-10-20 | 1 | -0/+14 |
| | | | | | | as argument to a function call. Removes a FIXME. llvm-svn: 84694 | ||||
* | Handle emitting the assignment operator when the lhs is a reference. Fixes ↵ | Anders Carlsson | 2009-10-19 | 1 | -0/+10 |
| | | | | | | PR5227. llvm-svn: 84518 | ||||
* | Twinify CodeGenFunction::CreateTempAlloca | Daniel Dunbar | 2009-10-19 | 1 | -2/+2 |
| | | | | llvm-svn: 84456 | ||||
* | When binding a reference to a temporary, it's important that other ↵ | Anders Carlsson | 2009-10-18 | 1 | -16/+22 |
| | | | | | | temporaries created as on the RHS are destroyed before emitting the dtor for the temporary. llvm-svn: 84451 | ||||
* | Handle | Anders Carlsson | 2009-10-15 | 1 | -3/+45 |
| | | | | | | | | | | | | | struct A { }; struct B : A { }; void f() { const A& a = B(); } correctly. (This now does the offset conversion if necessary and calls the destructor when a goes out of scope). llvm-svn: 84162 | ||||
* | Simplify pointer creation with the new Type::getInt*Ptr methods. | Benjamin Kramer | 2009-10-13 | 1 | -2/+1 |
| | | | | llvm-svn: 83964 | ||||
* | There is no need to attach debug location info with alloca instruction. | Devang Patel | 2009-10-12 | 1 | -5/+1 |
| | | | | llvm-svn: 83913 | ||||
* | Add support to attach debug info to an instruction. | Devang Patel | 2009-10-06 | 1 | -1/+5 |
| | | | | | | This is not yet enabled. llvm-svn: 83399 | ||||
* | <rdar://problem/7263113> Make clang produce gcc's objc_assign_StrongCast as ↵ | Fariborz Jahanian | 2009-09-30 | 1 | -1/+11 |
| | | | | | | a result of type-cast of an ivar in assignment. llvm-svn: 83150 | ||||
* | Fixed another code gen bug in objc's new write-barrier API. | Fariborz Jahanian | 2009-09-25 | 1 | -1/+2 |
| | | | | llvm-svn: 82735 | ||||
* | Patch fixes a code gen. bug in generation of objc_assign_ivar | Fariborz Jahanian | 2009-09-24 | 1 | -2/+13 |
| | | | | | | (objc GC's API). llvm-svn: 82724 | ||||
* | Refactor the representation of qualifiers to bring ExtQualType out of the | John McCall | 2009-09-24 | 1 | -99/+59 |
| | | | | | | | | Type hierarchy. Demote 'volatile' to extended-qualifier status. Audit our use of qualifiers and fix a few places that weren't dealing with qualifiers quite right; many more remain. llvm-svn: 82705 | ||||
* | Change all the Type::getAsFoo() methods to specializations of Type::getAs(). | John McCall | 2009-09-21 | 1 | -6/+6 |
| | | | | | | | | | | | Several of the existing methods were identical to their respective specializations, and so have been removed entirely. Several more 'leaf' optimizations were introduced. The getAsFoo() methods which imposed extra conditions, like getAsObjCInterfacePointerType(), have been left in place. llvm-svn: 82501 | ||||
* | Removed -fobjc-newgc-api option. clang now conforms to | Fariborz Jahanian | 2009-09-21 | 1 | -2/+1 |
| | | | | | | gcc-style write-barrier api only. llvm-svn: 82493 | ||||
* | Miscellanous fixes in generatation of objc gc's write-barriers. | Fariborz Jahanian | 2009-09-21 | 1 | -17/+13 |
| | | | | llvm-svn: 82472 | ||||
* | Fixed a bug in generation of the new write-barriers when | Fariborz Jahanian | 2009-09-18 | 1 | -1/+11 |
| | | | | | | array syntax is used to derefernce and assign to ivar pointee. llvm-svn: 82183 | ||||
* | patch for generating objc'2 objc_assign_ivar. WIP. | Fariborz Jahanian | 2009-09-16 | 1 | -14/+9 |
| | | | | llvm-svn: 82090 | ||||
* | Starting patch to generate more specific API for objc's | Fariborz Jahanian | 2009-09-16 | 1 | -2/+37 |
| | | | | | | | | GC. Currently, new API will be generated under clang-cc's -fobjc-newgc-api flag which will eventually become the default. WIP. llvm-svn: 82082 | ||||
* | Removed a superfluous check before setting | Fariborz Jahanian | 2009-09-16 | 1 | -2/+1 |
| | | | | | | a flag (objc GC). llvm-svn: 82052 | ||||
* | Code generation of Conditional operators that are lvalues (but that aren't ↵ | Anders Carlsson | 2009-09-15 | 1 | -5/+38 |
| | | | | | | bitfields). llvm-svn: 81867 | ||||
* | Implement CodeGenFunction::EmitCXXExprWithTemporariesLValue. | Anders Carlsson | 2009-09-14 | 1 | -0/+2 |
| | | | | llvm-svn: 81738 | ||||
* | Don't use the PredefinedExpr string as the global variable name, these don't | Daniel Dunbar | 2009-09-12 | 1 | -1/+5 |
| | | | | | | make very nice symbols, just use the function name. llvm-svn: 81653 | ||||
* | Handle CK_DerivedToBase when emitting lvalue casts. | Anders Carlsson | 2009-09-12 | 1 | -21/+42 |
| | | | | llvm-svn: 81614 | ||||
* | Add support for __block variables with alignment greater than __alignof(void *). | Anders Carlsson | 2009-09-12 | 1 | -7/+2 |
| | | | | llvm-svn: 81602 | ||||
* | Remove unnecessary ASTContext parameter from FunctionDecl::isBuiltinID | Douglas Gregor | 2009-09-12 | 1 | -1/+1 |
| | | | | llvm-svn: 81590 | ||||
* | Set the calling convention based on the CGFunctionInfo. | Daniel Dunbar | 2009-09-11 | 1 | -1/+8 |
| | | | | llvm-svn: 81582 | ||||
* | GlobalDecl doesn't have an explicit constructor anymore. | Anders Carlsson | 2009-09-10 | 1 | -1/+1 |
| | | | | llvm-svn: 81481 | ||||
* | If a cast expression needs either a conversion function or a constructor to ↵ | Anders Carlsson | 2009-09-09 | 1 | -11/+3 |
| | | | | | | be called, generate implicit child expressions that call them. llvm-svn: 81383 | ||||
* | Remove tabs, and whitespace cleanups. | Mike Stump | 2009-09-09 | 1 | -3/+2 |
| | | | | llvm-svn: 81346 | ||||
* | Reflow comments and some minor whitespace fixups. | Mike Stump | 2009-09-09 | 1 | -182/+179 |
| | | | | llvm-svn: 81337 | ||||
* | Vastly improve PredefinedExpr output, both in Sema and CodeGen. Patch by Sam ↵ | Anders Carlsson | 2009-09-08 | 1 | -14/+3 |
| | | | | | | Weinig! llvm-svn: 81237 | ||||
* | Implement AST, semantics, and CodeGen for C++ pseudo-destructor | Douglas Gregor | 2009-09-04 | 1 | -0/+10 |
| | | | | | | | | | | | | | expressions, e.g., p->~T() when p is a pointer to a scalar type. We don't currently diagnose errors when pseudo-destructor expressions are used in any way other than by forming a call. llvm-svn: 81009 | ||||
* | Handle member expressions that return references correctly. | Anders Carlsson | 2009-09-01 | 1 | -0/+1 |
| | | | | llvm-svn: 80723 | ||||
* | Fixed a property getter ir-gen crash. | Fariborz Jahanian | 2009-09-01 | 1 | -2/+3 |
| | | | | llvm-svn: 80681 |