Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Cleanups. WIP. | Mike Stump | 2009-09-05 | 1 | -50/+53 | |
| | | | | llvm-svn: 81069 | |||||
* | Install thunks later to fixup overrides. Track space taken by vbase | Mike Stump | 2009-09-05 | 1 | -39/+81 | |
| | | | | | | offsets better for thunk refinements. Cleanups. WIP. llvm-svn: 81067 | |||||
* | Don't generate any code for an explicit call to a trivial destructor. | Douglas Gregor | 2009-09-04 | 1 | -0/+8 | |
| | | | | | | | | | | | Now that parsing, semantic analysis, and (I think) code generation of pseudo-destructor expressions and explicit destructor calls works, update the example-dynarray.cpp test to destroy the objects it allocates and update the test to actually compile + link. The code seems correct, but the Clang-compiled version dies with a malloc error. Time to debug! llvm-svn: 81025 | |||||
* | Add overidding for methods for vtable building for the secondary | Mike Stump | 2009-09-04 | 1 | -13/+81 | |
| | | | | | | vtables. Add thunk generation. WIP. llvm-svn: 81014 | |||||
* | Fix an assertion when initializing a union using a member initializer. (We ↵ | Anders Carlsson | 2009-09-02 | 1 | -1/+2 | |
| | | | | | | weren't casting from the union type to the initializer type correctly). llvm-svn: 80837 | |||||
* | More overriding base work and some cleanups. WIP. | Mike Stump | 2009-09-01 | 1 | -18/+19 | |
| | | | | llvm-svn: 80737 | |||||
* | Split out overriding. WIP. | Mike Stump | 2009-09-01 | 1 | -6/+13 | |
| | | | | llvm-svn: 80732 | |||||
* | Assert that we don't have any virtual bases. We can emit dtors for ↵ | Anders Carlsson | 2009-09-01 | 1 | -2/+2 | |
| | | | | | | polymorphics classes just fune. llvm-svn: 80722 | |||||
* | We can generate constructors/destructors with base classes and non-trivial ↵ | Anders Carlsson | 2009-09-01 | 1 | -26/+2 | |
| | | | | | | fields just fine now. llvm-svn: 80701 | |||||
* | Rename CXXQualifiedMemberExpr -> CXXAdornedMemberExpr, since we will | Douglas Gregor | 2009-08-31 | 1 | -2/+2 | |
| | | | | | | | also be adding explicit template arguments as an additional "adornment". No functionality change. llvm-svn: 80628 | |||||
* | Make IRGen for initializing a member reference work correctly. | Eli Friedman | 2009-08-29 | 1 | -3/+17 | |
| | | | | llvm-svn: 80439 | |||||
* | iGenerate vcalls as we build up the methods. WIP. | Mike Stump | 2009-08-28 | 1 | -100/+92 | |
| | | | | llvm-svn: 80405 | |||||
* | ir-gen related patch for type conversion | Fariborz Jahanian | 2009-08-28 | 1 | -11/+12 | |
| | | | | | | with class type conversion methods. WIP. llvm-svn: 80365 | |||||
* | Fixup codegen for static dispatch to a virtual function that was | Mike Stump | 2009-08-26 | 1 | -1/+1 | |
| | | | | | | almost correct. :-) llvm-svn: 80181 | |||||
* | ir-gen for type convesion of class objects. WIP. | Fariborz Jahanian | 2009-08-26 | 1 | -0/+21 | |
| | | | | llvm-svn: 80178 | |||||
* | When a member reference expression includes a qualifier on the member | Douglas Gregor | 2009-08-26 | 1 | -3/+5 | |
| | | | | | | | | | | | | | | | | | name, e.g., x->Base::f() retain the qualifier (and its source range information) in a new subclass of MemberExpr called CXXQualifiedMemberExpr. Provide construction, transformation, profiling, printing, etc., for this new expression type. When a virtual function is called via a qualified name, don't emit a virtual call. Instead, call that function directly. Mike, could you add a CodeGen test for this, too? llvm-svn: 80167 | |||||
* | Implement virtual dispatch. :-) This is self-consistent with clang, | Mike Stump | 2009-08-26 | 1 | -33/+90 | |
| | | | | | | | but not yet necessarily perfectly consistent with gcc. Also addressed Doug and John's comments. llvm-svn: 80137 | |||||
* | Revert r80064 since it broke the build. | Anders Carlsson | 2009-08-26 | 1 | -92/+26 | |
| | | | | llvm-svn: 80066 | |||||
* | Implement virtual dispatch. :-) This is self-consistent with clang, but ↵ | Mike Stump | 2009-08-26 | 1 | -26/+92 | |
| | | | | | | | | not yet necessarily perfectly consistent with gcc. llvm-svn: 80064 | |||||
* | Simplified default construction of array data members | Fariborz Jahanian | 2009-08-26 | 1 | -17/+5 | |
| | | | | | | in the constructor prologue. llvm-svn: 80060 | |||||
* | Add a -fno-elide-constructors option to clang-cc. | Anders Carlsson | 2009-08-22 | 1 | -1/+1 | |
| | | | | llvm-svn: 79782 | |||||
* | Calculate the address point for a vtable better, and start fleshing out the ↵ | Mike Stump | 2009-08-21 | 1 | -16/+48 | |
| | | | | | | | | vcall calculations better. llvm-svn: 79687 | |||||
* | Patch to ir-gen copy assigning array members when synthesizing | Fariborz Jahanian | 2009-08-21 | 1 | -7/+103 | |
| | | | | | | a copy assignment operator function. llvm-svn: 79681 | |||||
* | Patch to provide ir-gen support in copying array members | Fariborz Jahanian | 2009-08-21 | 1 | -10/+96 | |
| | | | | | | | when synthesizing a copy constructor. Arrays's base element may have a trivial or non-trivial copy constructor. llvm-svn: 79653 | |||||
* | Array member construction in prologue of user-declared | Fariborz Jahanian | 2009-08-21 | 1 | -6/+17 | |
| | | | | | | constructors. llvm-svn: 79640 | |||||
* | Introduce getConstantArrayElementCount API and use it in | Fariborz Jahanian | 2009-08-21 | 1 | -16/+6 | |
| | | | | | | construction/destruction of array members. llvm-svn: 79637 | |||||
* | We now support overriding base functions in vtables. WIP. | Mike Stump | 2009-08-21 | 1 | -17/+69 | |
| | | | | llvm-svn: 79587 | |||||
* | Patch to ir-gen destruction of array member elements in revers order | Fariborz Jahanian | 2009-08-20 | 1 | -0/+60 | |
| | | | | | | of their construction. llvm-svn: 79571 | |||||
* | ir-gen patch to destruct array members. WIP. | Fariborz Jahanian | 2009-08-20 | 1 | -13/+40 | |
| | | | | llvm-svn: 79565 | |||||
* | Refine vbase offsets for the inductive case. Things are now starting | Mike Stump | 2009-08-20 | 1 | -7/+7 | |
| | | | | | | to come together nicely. Still a WIP. llvm-svn: 79521 | |||||
* | Ensure we don't output repeated vbase offsets. I have a testcase for | Mike Stump | 2009-08-20 | 1 | -22/+23 | |
| | | | | | | | this, but need to fixup the actual offset value before I can check it in. WIP. llvm-svn: 79506 | |||||
* | Test case for my last patch plus a minor clean up. | Fariborz Jahanian | 2009-08-20 | 1 | -4/+2 | |
| | | | | llvm-svn: 79500 | |||||
* | ir-gen for multi-dimensional array construction. WIP. | Fariborz Jahanian | 2009-08-20 | 1 | -6/+18 | |
| | | | | llvm-svn: 79497 | |||||
* | Removed unneeded code for break/continue statements in | Fariborz Jahanian | 2009-08-19 | 1 | -7/+0 | |
| | | | | | | | | manufactured for-loop per Anders feedback (thanks). - Fariborz llvm-svn: 79466 | |||||
* | ir-gen for constructing arrays as non-static data members. WIP. | Fariborz Jahanian | 2009-08-19 | 1 | -1/+95 | |
| | | | | llvm-svn: 79464 | |||||
* | Switch to SmallString::str from SmallString::c_str. | Daniel Dunbar | 2009-08-19 | 1 | -5/+3 | |
| | | | | | | - Several FIXMEs due to non-Twinification of IRBuilder. llvm-svn: 79455 | |||||
* | One second thought, I think I want to limit this class to just vtable | Mike Stump | 2009-08-19 | 1 | -5/+5 | |
| | | | | | | building activities. llvm-svn: 79438 | |||||
* | Cleanup: fold IndirectPrimary into builder. | Mike Stump | 2009-08-19 | 1 | -12/+9 | |
| | | | | llvm-svn: 79423 | |||||
* | We don't want to confuse this layout with the BLayout from the builder. | Mike Stump | 2009-08-19 | 1 | -3/+3 | |
| | | | | llvm-svn: 79422 | |||||
* | Restore vbase offsets for classes without a primary. | Mike Stump | 2009-08-19 | 1 | -1/+1 | |
| | | | | llvm-svn: 79402 | |||||
* | Refine vcalls a little. | Mike Stump | 2009-08-19 | 1 | -20/+32 | |
| | | | | llvm-svn: 79400 | |||||
* | Cleanup. | Mike Stump | 2009-08-18 | 1 | -4/+4 | |
| | | | | llvm-svn: 79374 | |||||
* | Cleanups. Move GenerateRtti to CodeGenModule. | Mike Stump | 2009-08-18 | 1 | -14/+15 | |
| | | | | llvm-svn: 79372 | |||||
* | Move the rest of the vtable building code into the new builder. | Mike Stump | 2009-08-18 | 1 | -106/+102 | |
| | | | | llvm-svn: 79370 | |||||
* | Suck up method generation. | Mike Stump | 2009-08-18 | 1 | -19/+19 | |
| | | | | llvm-svn: 79367 | |||||
* | Split out vtable bulding code into a builder. | Mike Stump | 2009-08-18 | 1 | -19/+25 | |
| | | | | llvm-svn: 79366 | |||||
* | Patch to 1) synthesizing non-trivial default destructor when | Fariborz Jahanian | 2009-08-17 | 1 | -13/+102 | |
| | | | | | | | | one is not provided by user. 2) More complete emission of ctor prologue when it has no initializer list or when it is synthesized. llvm-svn: 79269 | |||||
* | Remove an ErrorUnsupported call. | Anders Carlsson | 2009-08-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 79261 | |||||
* | Improve handling of delete expressions. | Anders Carlsson | 2009-08-16 | 1 | -0/+57 | |
| | | | | llvm-svn: 79205 | |||||
* | Cleanups and fixups for calculating the virtual base offsets. WIP. | Mike Stump | 2009-08-16 | 1 | -76/+83 | |
| | | | | llvm-svn: 79156 |