summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGCXX.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fixup codegen for static dispatch to a virtual function that wasMike Stump2009-08-261-1/+1
| | | | | | almost correct. :-) llvm-svn: 80181
* ir-gen for type convesion of class objects. WIP.Fariborz Jahanian2009-08-261-0/+21
| | | | llvm-svn: 80178
* When a member reference expression includes a qualifier on the memberDouglas Gregor2009-08-261-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 Stump2009-08-261-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 Carlsson2009-08-261-92/+26
| | | | llvm-svn: 80066
* Implement virtual dispatch. :-) This is self-consistent with clang, but ↵Mike Stump2009-08-261-26/+92
| | | | | | | | not yet necessarily perfectly consistent with gcc. llvm-svn: 80064
* Simplified default construction of array data membersFariborz Jahanian2009-08-261-17/+5
| | | | | | in the constructor prologue. llvm-svn: 80060
* Add a -fno-elide-constructors option to clang-cc.Anders Carlsson2009-08-221-1/+1
| | | | llvm-svn: 79782
* Calculate the address point for a vtable better, and start fleshing out the ↵Mike Stump2009-08-211-16/+48
| | | | | | | | vcall calculations better. llvm-svn: 79687
* Patch to ir-gen copy assigning array members when synthesizing Fariborz Jahanian2009-08-211-7/+103
| | | | | | a copy assignment operator function. llvm-svn: 79681
* Patch to provide ir-gen support in copying array membersFariborz Jahanian2009-08-211-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-declaredFariborz Jahanian2009-08-211-6/+17
| | | | | | constructors. llvm-svn: 79640
* Introduce getConstantArrayElementCount API and use it inFariborz Jahanian2009-08-211-16/+6
| | | | | | construction/destruction of array members. llvm-svn: 79637
* We now support overriding base functions in vtables. WIP.Mike Stump2009-08-211-17/+69
| | | | llvm-svn: 79587
* Patch to ir-gen destruction of array member elements in revers orderFariborz Jahanian2009-08-201-0/+60
| | | | | | of their construction. llvm-svn: 79571
* ir-gen patch to destruct array members. WIP.Fariborz Jahanian2009-08-201-13/+40
| | | | llvm-svn: 79565
* Refine vbase offsets for the inductive case. Things are now startingMike Stump2009-08-201-7/+7
| | | | | | to come together nicely. Still a WIP. llvm-svn: 79521
* Ensure we don't output repeated vbase offsets. I have a testcase forMike Stump2009-08-201-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 Jahanian2009-08-201-4/+2
| | | | llvm-svn: 79500
* ir-gen for multi-dimensional array construction. WIP.Fariborz Jahanian2009-08-201-6/+18
| | | | llvm-svn: 79497
* Removed unneeded code for break/continue statements inFariborz Jahanian2009-08-191-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 Jahanian2009-08-191-1/+95
| | | | llvm-svn: 79464
* Switch to SmallString::str from SmallString::c_str.Daniel Dunbar2009-08-191-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 vtableMike Stump2009-08-191-5/+5
| | | | | | building activities. llvm-svn: 79438
* Cleanup: fold IndirectPrimary into builder.Mike Stump2009-08-191-12/+9
| | | | llvm-svn: 79423
* We don't want to confuse this layout with the BLayout from the builder.Mike Stump2009-08-191-3/+3
| | | | llvm-svn: 79422
* Restore vbase offsets for classes without a primary.Mike Stump2009-08-191-1/+1
| | | | llvm-svn: 79402
* Refine vcalls a little.Mike Stump2009-08-191-20/+32
| | | | llvm-svn: 79400
* Cleanup.Mike Stump2009-08-181-4/+4
| | | | llvm-svn: 79374
* Cleanups. Move GenerateRtti to CodeGenModule.Mike Stump2009-08-181-14/+15
| | | | llvm-svn: 79372
* Move the rest of the vtable building code into the new builder.Mike Stump2009-08-181-106/+102
| | | | llvm-svn: 79370
* Suck up method generation.Mike Stump2009-08-181-19/+19
| | | | llvm-svn: 79367
* Split out vtable bulding code into a builder.Mike Stump2009-08-181-19/+25
| | | | llvm-svn: 79366
* Patch to 1) synthesizing non-trivial default destructor whenFariborz Jahanian2009-08-171-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 Carlsson2009-08-171-1/+1
| | | | llvm-svn: 79261
* Improve handling of delete expressions.Anders Carlsson2009-08-161-0/+57
| | | | llvm-svn: 79205
* Cleanups and fixups for calculating the virtual base offsets. WIP.Mike Stump2009-08-161-76/+83
| | | | llvm-svn: 79156
* Improved on ir-gen for synthesis of non-trivial defaultFariborz Jahanian2009-08-151-0/+23
| | | | | | | constructor body whose class has non-static data-members which required non-trivial construction. llvm-svn: 79125
* ir-gen for generation of trvial copy constructorFariborz Jahanian2009-08-141-0/+13
| | | | | | call. llvm-svn: 79034
* Deconflate virtual base offsets from non-virtual base offsets.Mike Stump2009-08-141-3/+10
| | | | | | Deconflate a virtual base primary from a non-virtual base. llvm-svn: 78971
* Fixed a bug in ir-gen for copy assignment synthesis.Fariborz Jahanian2009-08-141-1/+4
| | | | | | | | Fixed a bug when evaluating those copy-assignments which need by lazily syntheized. A test case for these. llvm-svn: 78965
* Refine vtable layout for virtual bases and keep better track ofMike Stump2009-08-131-11/+23
| | | | | | primaries. WIP. llvm-svn: 78950
* Update for LLVM API change.Owen Anderson2009-08-131-16/+16
| | | | llvm-svn: 78946
* Patch to force synthesis of copy assignment operatorFariborz Jahanian2009-08-131-0/+12
| | | | | | | | function in the order according to c++03. ir-gen for copy assignment in the trivial case and the first test case. llvm-svn: 78938
* Minor cleanups.Mike Stump2009-08-131-3/+2
| | | | llvm-svn: 78927
* Prep for vbase layout refinements. WIP.Mike Stump2009-08-131-1/+1
| | | | llvm-svn: 78882
* Minor refactoring of copy assign operator ir-gen. SWIP.Fariborz Jahanian2009-08-131-18/+21
| | | | llvm-svn: 78875
* More toward synthesizing copy assignments. SWIP.Fariborz Jahanian2009-08-121-4/+96
| | | | llvm-svn: 78861
* Cleanup.Mike Stump2009-08-121-8/+8
| | | | llvm-svn: 78858
* Refactor. WIP. Eventually, this will all go into a vtable builder class.Mike Stump2009-08-121-16/+18
| | | | llvm-svn: 78857
OpenPOWER on IntegriCloud