summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGCXX.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Change mangleCXXVtable and mangleCXXRtti to take CXXRecordDecls instead of ↵Anders Carlsson2009-10-111-2/+1
| | | | | | QualTypes. llvm-svn: 83793
* Move our (non-existing) RTTI emission code into CGRtti.cpp. No functionality ↵Anders Carlsson2009-10-101-32/+0
| | | | | | change. llvm-svn: 83732
* Avoid warning.Mike Stump2009-10-091-1/+1
| | | | llvm-svn: 83609
* Add a MangleContext and pass it to all mangle functions. It will be used for ↵Anders Carlsson2009-10-071-7/+7
| | | | | | keeping state, such as identifiers assigned to anonymous structs as well as scope encoding. llvm-svn: 83442
* Uncomment some commented out code.Anders Carlsson2009-10-061-4/+4
| | | | llvm-svn: 83428
* Change GetAddressCXXOfBaseClass to use CXXBasePaths for calculating base ↵Anders Carlsson2009-10-061-8/+46
| | | | | | class offsets. Fix the code to handle virtual bases as well. llvm-svn: 83426
* Pass the right type to GetAddrOfFunction when getting functions for the ↵Anders Carlsson2009-10-061-4/+16
| | | | | | VTable. Fixes PR5021. llvm-svn: 83395
* Implement code generation of member function pointer calls. Fixes PR5121.Anders Carlsson2009-10-031-0/+109
| | | | llvm-svn: 83271
* Move some functions from CodeGenFunctions to CodeGenModule so they can be ↵Anders Carlsson2009-10-031-8/+12
| | | | | | used by CGExprConstant. llvm-svn: 83263
* Handle CXXMemberCallExprs that point to a static method. Fixes PR5093.Anders Carlsson2009-09-291-0/+8
| | | | llvm-svn: 83045
* Fix http://llvm.org/PR5090.Mike Stump2009-09-291-1/+2
| | | | llvm-svn: 83035
* CodeGen for try statements. (We just emit the body for now).Anders Carlsson2009-09-271-4/+9
| | | | llvm-svn: 82910
* Refactor the representation of qualifiers to bring ExtQualType out of theJohn McCall2009-09-241-2/+2
| | | | | | | | 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
* Add a new variant of EmitCXXAggrConstructorCall that takes a Value that ↵Anders Carlsson2009-09-231-20/+26
| | | | | | holds the number of elements to construct, to be used when implementing new[]. llvm-svn: 82602
* Move codegen of new and delete to CGCXXExpr.cppAnders Carlsson2009-09-221-187/+0
| | | | llvm-svn: 82585
* Change all the Type::getAsFoo() methods to specializations of Type::getAs().John McCall2009-09-211-18/+18
| | | | | | | | | | | 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
* Generate more of the vbase virtual offset for covariant thunks. WIP.Mike Stump2009-09-181-8/+72
| | | | llvm-svn: 82253
* Remove an unnecessary FunctionDecl parameter to the synthesizing functions.Anders Carlsson2009-09-141-24/+24
| | | | llvm-svn: 81759
* Handle delete where the class has a virtual destructor.Anders Carlsson2009-09-141-5/+8
| | | | llvm-svn: 81733
* Rename AddressCXXOfBaseClass to GetAddressCXXOfBaseClass. Add a ↵Anders Carlsson2009-09-121-12/+20
| | | | | | NullCheckValue argument (currently unused). llvm-svn: 81606
* Add CGCXXClass.cpp. and move CodeGenFunction::AddressCXXOfBaseClass there.Anders Carlsson2009-09-121-67/+0
| | | | llvm-svn: 81604
* Fix a crash when generating vtables that contain destructors.Anders Carlsson2009-09-121-5/+4
| | | | llvm-svn: 81587
* Add basic covariant thunk generation support. WIP.Mike Stump2009-09-111-4/+95
| | | | llvm-svn: 81585
* Pass GlobalDecls to GenerateCode and StartFunction.Anders Carlsson2009-09-111-13/+18
| | | | llvm-svn: 81485
* GlobalDecl doesn't have an explicit constructor anymore.Anders Carlsson2009-09-101-10/+8
| | | | llvm-svn: 81481
* Use the right GlobalDecl type for destructors.Anders Carlsson2009-09-091-1/+7
| | | | llvm-svn: 81398
* If a cast expression needs either a conversion function or a constructor to ↵Anders Carlsson2009-09-091-22/+0
| | | | | | be called, generate implicit child expressions that call them. llvm-svn: 81383
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-306/+306
| | | | llvm-svn: 81346
* Refine vcall offsets. Cleanups. WIP.Mike Stump2009-09-071-24/+35
| | | | llvm-svn: 81143
* Refine overrides and thunks for virtual bases. Cleanups. WIP.Mike Stump2009-09-051-25/+41
| | | | llvm-svn: 81080
* Cleanup.Mike Stump2009-09-051-6/+7
| | | | llvm-svn: 81078
* Cleanups.Mike Stump2009-09-051-5/+5
| | | | llvm-svn: 81077
* Cleanups.Mike Stump2009-09-051-2/+0
| | | | llvm-svn: 81075
* Cleanups.Mike Stump2009-09-051-21/+10
| | | | llvm-svn: 81074
* Cleanups.Mike Stump2009-09-051-6/+3
| | | | llvm-svn: 81073
* Cleanups.Mike Stump2009-09-051-5/+29
| | | | llvm-svn: 81072
* Cleanups.Mike Stump2009-09-051-6/+5
| | | | llvm-svn: 81071
* Cleanups. WIP.Mike Stump2009-09-051-50/+53
| | | | llvm-svn: 81069
* Install thunks later to fixup overrides. Track space taken by vbaseMike Stump2009-09-051-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 Gregor2009-09-041-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 secondaryMike Stump2009-09-041-13/+81
| | | | | | vtables. Add thunk generation. WIP. llvm-svn: 81014
* Fix an assertion when initializing a union using a member initializer. (We ↵Anders Carlsson2009-09-021-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 Stump2009-09-011-18/+19
| | | | llvm-svn: 80737
* Split out overriding. WIP.Mike Stump2009-09-011-6/+13
| | | | llvm-svn: 80732
* Assert that we don't have any virtual bases. We can emit dtors for ↵Anders Carlsson2009-09-011-2/+2
| | | | | | polymorphics classes just fune. llvm-svn: 80722
* We can generate constructors/destructors with base classes and non-trivial ↵Anders Carlsson2009-09-011-26/+2
| | | | | | fields just fine now. llvm-svn: 80701
* Rename CXXQualifiedMemberExpr -> CXXAdornedMemberExpr, since we willDouglas Gregor2009-08-311-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 Friedman2009-08-291-3/+17
| | | | llvm-svn: 80439
* iGenerate vcalls as we build up the methods. WIP.Mike Stump2009-08-281-100/+92
| | | | llvm-svn: 80405
* ir-gen related patch for type conversionFariborz Jahanian2009-08-281-11/+12
| | | | | | with class type conversion methods. WIP. llvm-svn: 80365
OpenPOWER on IntegriCloud