summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGCXX.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Support for anonymous union in ctor's initializer andFariborz Jahanian2009-08-101-6/+9
| | | | | | bunch of FIXMEs for their is-gen. llvm-svn: 78623
* minor refactoring. No change otherwise.Fariborz Jahanian2009-08-101-1/+12
| | | | llvm-svn: 78582
* ir-gen for generating copying of scalar data members inFariborz Jahanian2009-08-101-1/+5
| | | | | | a synthesized copy constructor. llvm-svn: 78580
* Fixed a ir-gen bug in synthesizing copy constructors.Fariborz Jahanian2009-08-101-1/+1
| | | | llvm-svn: 78570
* Older GCCs don't have vector::data().Benjamin Kramer2009-08-081-1/+1
| | | | llvm-svn: 78519
* ir-gen for initialization, in synthesize copy constructor, Fariborz Jahanian2009-08-081-12/+14
| | | | | | of base/field which have trivial copy constructor. llvm-svn: 78516
* Add support for global initializers.Anders Carlsson2009-08-081-0/+35
| | | | llvm-svn: 78515
* Refactor some code and implement support for global destructors for static ↵Anders Carlsson2009-08-081-12/+70
| | | | | | variables. llvm-svn: 78507
* Refactoring of copy ctor ir-gen. No change in functionality.Fariborz Jahanian2009-08-081-3/+7
| | | | llvm-svn: 78489
* Remove use of uninitized variable.Fariborz Jahanian2009-08-081-2/+1
| | | | llvm-svn: 78448
* Synthesize copying of non-static data members withFariborz Jahanian2009-08-081-12/+32
| | | | | | non-trivial copy constructors. llvm-svn: 78445
* Synthesized copy constructor now generates code forFariborz Jahanian2009-08-071-16/+48
| | | | | | | copying non-virtual base classes which have non-trivial constructor. Work in progress. llvm-svn: 78436
* Add vbase offsets to the vtable. Wow, having an rbegin was soMike Stump2009-08-071-0/+12
| | | | | | fortuitous. WIP. llvm-svn: 78413
* More synthesis of copy constructors. Work in progress.Fariborz Jahanian2009-08-071-0/+47
| | | | llvm-svn: 78402
* Fix typo.Mike Stump2009-08-071-1/+1
| | | | llvm-svn: 78401
* Add ability to generate vcall offsets for primary virtual base.Mike Stump2009-08-071-1/+3
| | | | llvm-svn: 78396
* Fix some const_cast issues. This is the beginning of the rabbit hole.Mike Stump2009-08-071-6/+2
| | | | llvm-svn: 78393
* Add support for vcall generation for vtables for virtual bases. WIP.Mike Stump2009-08-061-4/+24
| | | | llvm-svn: 78357
* Also generate the rtti field for virtual bases for vtables. Turn onMike Stump2009-08-061-29/+40
| | | | | | | rtti so we can properly test it. Refactor code a little. Still a work in progress. llvm-svn: 78343
* Set and use Elidable in elimination of copy ctors.Fariborz Jahanian2009-08-061-9/+3
| | | | llvm-svn: 78331
* Layout the primary base first in the vtable.Mike Stump2009-08-061-21/+14
| | | | llvm-svn: 78327
* More layout for virtual tables for virtual bases. Still in progress.Mike Stump2009-08-061-9/+26
| | | | llvm-svn: 78314
* Layout virtual bases. Work in progress.Mike Stump2009-08-061-3/+1
| | | | llvm-svn: 78308
* Patch to optimize away copy constructor call whenFariborz Jahanian2009-08-061-1/+14
| | | | | | appropriate. llvm-svn: 78267
* Refactor some bits.Mike Stump2009-08-051-1/+1
| | | | llvm-svn: 78254
* Calculate the primary base class better and use that when laying downMike Stump2009-08-051-11/+36
| | | | | | the vtable. Still a work in progress. llvm-svn: 78252
* vtable building for simple inheritance. Still in progress.Mike Stump2009-08-041-1/+18
| | | | llvm-svn: 78110
* Will I ever get used to CamelCase? Will I ever like capitols forMike Stump2009-08-041-7/+5
| | | | | | | | | random variables? --This line, and those below, will be ignored-- M lib/CodeGen/CGCXX.cpp llvm-svn: 78094
* Add beginnigs of rtti generation, wire up more of -fno-exceptions.Mike Stump2009-07-311-5/+36
| | | | llvm-svn: 77751
* And now we can generate a simple vtable. Still a work in progress...Mike Stump2009-07-311-11/+23
| | | | llvm-svn: 77737
* Update for LLVM API change.Owen Anderson2009-07-311-4/+4
| | | | llvm-svn: 77722
* Add code to setup the vtable pointer in the constructor. Work in progress.Mike Stump2009-07-311-6/+51
| | | | llvm-svn: 77699
* Update for LLVM API changes.Owen Anderson2009-07-301-1/+1
| | | | llvm-svn: 77638
* Canonicalize else spacing.Mike Stump2009-07-301-4/+2
| | | | llvm-svn: 77629
* Note some other limitations.Mike Stump2009-07-301-1/+9
| | | | llvm-svn: 77626
* Patch for future ir-gen for destructor calls.Fariborz Jahanian2009-07-301-1/+41
| | | | llvm-svn: 77608
* ir-gen for nested non-virtual base member accessFariborz Jahanian2009-07-301-5/+47
| | | | | | in current class. llvm-svn: 77554
* Update for LLVM API change.Owen Anderson2009-07-291-3/+3
| | | | llvm-svn: 77514
* Change uses of:Ted Kremenek2009-07-291-3/+3
| | | | | | | | | | | | | | | | | | | | Type::getAsReferenceType() -> Type::getAs<ReferenceType>() Type::getAsRecordType() -> Type::getAs<RecordType>() Type::getAsPointerType() -> Type::getAs<PointerType>() Type::getAsBlockPointerType() -> Type::getAs<BlockPointerType>() Type::getAsLValueReferenceType() -> Type::getAs<LValueReferenceType>() Type::getAsRValueReferenceType() -> Type::getAs<RValueReferenceType>() Type::getAsMemberPointerType() -> Type::getAs<MemberPointerType>() Type::getAsReferenceType() -> Type::getAs<ReferenceType>() Type::getAsTagType() -> Type::getAs<TagType>() And remove Type::getAsReferenceType(), etc. This change is similar to one I made a couple weeks ago, but that was partly reverted pending some additional design discussion. With Doug's pending smart pointer changes for Types, it seemed natural to take this approach. llvm-svn: 77510
* Use the existing API for base offset. Use suitable llvm typeFariborz Jahanian2009-07-291-20/+4
| | | | | | for offset ir-gen. llvm-svn: 77458
* More cleanup of data member access and then some.Fariborz Jahanian2009-07-281-2/+9
| | | | llvm-svn: 77351
* Some code cleanup.Fariborz Jahanian2009-07-281-24/+9
| | | | llvm-svn: 77339
* 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
OpenPOWER on IntegriCloud