summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGCXX.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* More work toward data member access ir-gen.Fariborz Jahanian2009-07-281-0/+36
| | | | llvm-svn: 77332
* ir-gen for non-virtual base class initializationFariborz Jahanian2009-07-251-3/+31
| | | | | | in constructors. llvm-svn: 77087
* Update for LLVM API change.Owen Anderson2009-07-241-2/+2
| | | | llvm-svn: 77012
* More work toward initialization of objectsFariborz Jahanian2009-07-241-3/+12
| | | | | | in constructors. llvm-svn: 76980
* Move EmitCtorPrologue to CGCXX. Add an assert and FIXMEs.Fariborz Jahanian2009-07-201-0/+33
| | | | llvm-svn: 76498
* Per offline discussion with Steve Naroff, add back Type::getAsXXXType() methodsTed Kremenek2009-07-171-1/+1
| | | | | | | | | 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
* Replaced Type::getAsLValueReferenceType(), Type::getAsRValueReferenceType(), ↵Ted Kremenek2009-07-171-1/+1
| | | | | | Type::getAsMemberPointerType(), Type::getAsTagType(), and Type::getAsRecordType() with their Type::getAs<XXX> equivalents. llvm-svn: 76139
* Update for LLVM API change, and contextify a bunch of related stuff.Owen Anderson2009-07-141-8/+8
| | | | llvm-svn: 75705
* Update for LLVM API change.Owen Anderson2009-07-131-4/+4
| | | | llvm-svn: 75446
* Update for LLVM API change.Owen Anderson2009-07-081-5/+2
| | | | llvm-svn: 75028
* Update for LLVM API change.Owen Anderson2009-07-081-1/+3
| | | | llvm-svn: 74986
* De-ASTContext-ify DeclContext.Argyrios Kyrtzidis2009-06-301-2/+2
| | | | | | | Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating". Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit. llvm-svn: 74506
* Move code generation of C++ temporaries into a new file.Anders Carlsson2009-06-031-37/+0
| | | | llvm-svn: 72792
* Fix a thinko.Anders Carlsson2009-06-011-1/+1
| | | | llvm-svn: 72679
* Check for null correctly for new expressions.Anders Carlsson2009-06-011-4/+32
| | | | llvm-svn: 72678
* Improve irgen of 'new' further.Anders Carlsson2009-05-311-8/+24
| | | | llvm-svn: 72677
* ...and aggregate POD types.Anders Carlsson2009-05-311-4/+2
| | | | llvm-svn: 72676
* Support for complex types.Anders Carlsson2009-05-311-2/+4
| | | | llvm-svn: 72675
* Better support for scalar POD types in 'new' expressions.Anders Carlsson2009-05-311-11/+20
| | | | llvm-svn: 72674
* Very basic irgen support for new expressions.Anders Carlsson2009-05-311-2/+72
| | | | llvm-svn: 72672
* Add a new function for emitting new functions.Anders Carlsson2009-05-311-0/+5
| | | | llvm-svn: 72656
* Emit destructors correctly for temporaries.Anders Carlsson2009-05-311-1/+27
| | | | llvm-svn: 72655
* More temporary support.Anders Carlsson2009-05-301-0/+11
| | | | llvm-svn: 72648
* Add code for emitting C++ destructors. Not used yet.Anders Carlsson2009-05-291-0/+8
| | | | llvm-svn: 72591
* Handle operator call expressions where the callee is a member function.Anders Carlsson2009-05-271-0/+19
| | | | llvm-svn: 72458
* Add EmitReferenceBindingToExpr. Have EmitCallArg use it for now. Doesn't ↵Anders Carlsson2009-05-201-1/+0
| | | | | | support anything but at least we don't crash ;) llvm-svn: 72147
* Reflow some comments.Mike Stump2009-05-161-0/+2
| | | | llvm-svn: 71937
* push GlobalDecl through enough of the CodeGenModule interfacesChris Lattner2009-05-121-4/+5
| | | | | | | | | to allow us to support generation of deferred ctors/dtors. It looks like codegen isn't emitting a call to the dtor in member-functions.cpp:test2, but when it does, its body should get emitted. llvm-svn: 71594
* Factor code that's common to EmitCXXMemberCallExpr and ↵Anders Carlsson2009-05-111-27/+34
| | | | | | EmitCXXConstructorCall out into a EmitCXXMemberCall function. llvm-svn: 71514
* Refactor global decls to hold either a regular Decl or a CXXConstructorDecl ↵Anders Carlsson2009-05-051-2/+2
| | | | | | + ctor type or a CXXDestructorDecl + dtor type. llvm-svn: 70962
* Make codegen for constructors work again.Anders Carlsson2009-05-031-14/+2
| | | | llvm-svn: 70785
* We can now call member functions where the base is a pointer.Anders Carlsson2009-05-011-4/+1
| | | | llvm-svn: 70579
* Add support for generating (very basic) C++ destructors. These aren't called ↵Anders Carlsson2009-04-171-26/+65
| | | | | | by anything yet. llvm-svn: 69343
* Implement basic code generation of constructor calls. We can now compile:Anders Carlsson2009-04-171-0/+45
| | | | | | | | | | | | struct S { S(int, int); }; void f() { S s(10, 10); } llvm-svn: 69330
* Add GetAddrOfCXXConstructor and use it.Anders Carlsson2009-04-161-5/+11
| | | | llvm-svn: 69328
* Actually generate code for the simple constructors we know we can generate ↵Anders Carlsson2009-04-151-1/+22
| | | | | | code for. llvm-svn: 69222
* Start attempting to generate code for C++ ctors.Anders Carlsson2009-04-151-1/+32
| | | | llvm-svn: 69168
* Support code generation of 'this' exprsAnders Carlsson2009-04-141-0/+11
| | | | llvm-svn: 69050
* Use the new guard variable mangling function and get rid of the old code.Anders Carlsson2009-04-131-65/+6
| | | | llvm-svn: 68971
* Use the new EmitCallArgs function. No indented functionality change.Anders Carlsson2009-04-081-3/+1
| | | | llvm-svn: 68652
* We weren't generating correct code for calls to variadic member functions.Anders Carlsson2009-04-081-6/+5
| | | | llvm-svn: 68635
* Simplify C++ member function calls.Anders Carlsson2009-04-061-5/+4
| | | | llvm-svn: 68451
* Add support for calling C++ member functions.Anders Carlsson2009-04-031-0/+41
| | | | llvm-svn: 68412
* Pull COdeGenFunction::CreateStaticBlockVarDecl (just for creating theDaniel Dunbar2009-02-251-19/+9
| | | | | | | | global variable) out of GenerateStaticBlockVarDecl. - No intended functionality change. - Prep for some mild cleanups and PR3662. llvm-svn: 65466
* Provide a new kind of iterator, the specific_decl_iterator, thatDouglas Gregor2009-01-091-1/+1
| | | | | | | | | filters the decls seen by decl_iterator with two criteria: the dynamic type of the declaration and a run-time predicate described by a member function. This simplifies EnumDecl, RecordDecl, and ObjCContainerDecl considerably. It has no measurable performance impact. llvm-svn: 61994
* Warning fixes to operator precedence warnings.Eli Friedman2008-12-161-1/+1
| | | | | | | Someone should double-check that I didn't somehow break ObjC serialization; I think the change there actually changes the semantics. llvm-svn: 61098
* Rename Selector::getName() to Selector::getAsString(), and addChris Lattner2008-11-241-8/+5
| | | | | | | | | | | | | a new NamedDecl::getAsString() method. Change uses of Selector::getName() to just pass in a Selector where possible (e.g. to diagnostics) instead of going through an std::string. This also adds new formatters for objcinstance and objcclass as described in the dox. llvm-svn: 59933
* Normalize many BasicBlock names.Daniel Dunbar2008-11-131-1/+1
| | | | | | | | | | - Use dotted notation for blocks related to a particular statement type. - Use .end for landing pads. No functionality change in NDEBUG mode. :) llvm-svn: 59210
* Centralize basic block creation in CodeGenFunction::createBasicBlock.Daniel Dunbar2008-11-111-2/+2
| | | | | | - No functionality change. llvm-svn: 59017
* Handle static initializers in Objective-C++ methods.Anders Carlsson2008-08-231-2/+16
| | | | llvm-svn: 55250
OpenPOWER on IntegriCloud