summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExprConstant.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Move the vtable builder to CGVtable.cpp, general cleanup.Anders Carlsson2009-10-111-1/+1
| | | | llvm-svn: 83798
* Pass the canonical method decl to GetVtableIndex. Fixes PR5120.Anders Carlsson2009-10-031-1/+1
| | | | llvm-svn: 83272
* Handle base-to-derived casts of member function pointers in CGExprConstant.cppAnders Carlsson2009-10-031-0/+37
| | | | llvm-svn: 83265
* Handle members to function pointers in CGExprConstant.Anders Carlsson2009-10-031-0/+43
| | | | llvm-svn: 83264
* Don't update the struct alignment when adding fields to a packed struct. ↵Anders Carlsson2009-10-021-1/+6
| | | | | | Fixes PR5118. llvm-svn: 83235
* When building constant structs, check if the resulting LLVM struct will be ↵Anders Carlsson2009-10-021-38/+59
| | | | | | bigger than the record layout size and use a packed struct if that's the case. Fixes PR5108. llvm-svn: 83230
* Improve support for member function pointers.Anders Carlsson2009-09-291-2/+9
| | | | llvm-svn: 83039
* Make clang stop relying on ConstantStruct::get's default value for isPackedNick Lewycky2009-09-191-2/+4
| | | | | | which will be going away (ie. it's becoming a required parameter) later today. llvm-svn: 82323
* GlobalDecl doesn't have an explicit constructor anymore.Anders Carlsson2009-09-101-1/+1
| | | | llvm-svn: 81481
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-135/+135
| | | | llvm-svn: 81346
* Make address-space qualification work correctly for compound literals. Eli Friedman2009-08-261-2/+3
| | | | | | | | | | Issue reported on cfe-dev. Also fixed the code to use isConstant to determine whether to generate a constant global, to be consistent with CodeGenModule. This probably needs to be refactored to deal with C++, though. llvm-svn: 80131
* More member pointer work.Anders Carlsson2009-08-241-5/+11
| | | | llvm-svn: 79922
* Whoops, comment this out for now. I'll fix it shortly.Anders Carlsson2009-08-231-0/+2
| | | | llvm-svn: 79806
* More work towards zero-initializing structs that contain member pointers in ↵Anders Carlsson2009-08-231-0/+8
| | | | | | constant expressions. llvm-svn: 79805
* Handle CK_NullToMemberPointer casts in the constant expr emitter.Anders Carlsson2009-08-231-0/+2
| | | | llvm-svn: 79790
* Change the constant expression emitter to look at the cast kind for to-union ↵Anders Carlsson2009-08-221-14/+19
| | | | | | casts. llvm-svn: 79789
* Update for LLVM API change.Owen Anderson2009-08-131-11/+14
| | | | llvm-svn: 78946
* Improve handling of member pointers.Anders Carlsson2009-08-091-2/+22
| | | | llvm-svn: 78536
* Fix clang breakage, CGF can be null in this context.Daniel Dunbar2009-08-061-1/+1
| | | | llvm-svn: 78269
* Update for LLVM API change.Owen Anderson2009-08-051-5/+8
| | | | llvm-svn: 78259
* use CodeGenModule::EmitNullConstant in a couple of places.Anders Carlsson2009-08-021-1/+1
| | | | llvm-svn: 77915
* Fix a minor issue with unions in the new struct building code.Eli Friedman2009-08-011-2/+5
| | | | llvm-svn: 77829
* Remove the old struct builder code.Anders Carlsson2009-07-311-177/+1
| | | | llvm-svn: 77738
* Move code from EmitUnion directly into the function that handles cast-to-union.Anders Carlsson2009-07-311-2/+28
| | | | llvm-svn: 77735
* Use the struct builder for unions.Anders Carlsson2009-07-311-0/+2
| | | | llvm-svn: 77732
* Update for LLVM API change.Owen Anderson2009-07-311-9/+9
| | | | llvm-svn: 77722
* Update for LLVM API change.Owen Anderson2009-07-291-8/+8
| | | | 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
* Update for LLVM API change.Owen Anderson2009-07-291-12/+12
| | | | llvm-svn: 77492
* Update for LLVM API change.Owen Anderson2009-07-281-2/+2
| | | | llvm-svn: 77368
* Update for LLVM API change.Owen Anderson2009-07-281-4/+4
| | | | llvm-svn: 77349
* Update for LLVM API change.Owen Anderson2009-07-271-6/+6
| | | | llvm-svn: 77267
* Update for LLVM API change.Owen Anderson2009-07-271-4/+6
| | | | llvm-svn: 77249
* Enable the new constant struct builder by default. The old code is still in ↵Anders Carlsson2009-07-271-3/+4
| | | | | | place but will be removed shortly. The new struct builder works on big endian systems. llvm-svn: 77185
* More work on the constant struct builder, fix a couple of thinkos and add ↵Anders Carlsson2009-07-271-9/+59
| | | | | | support for inserting part of a bitfield in the previous byte. llvm-svn: 77180
* More work on bitfield support in the new constant struct builder.Anders Carlsson2009-07-271-2/+79
| | | | llvm-svn: 77177
* More work on the constant struct builder. We can now convert the struct to a ↵Anders Carlsson2009-07-251-3/+40
| | | | | | packed struct when necessary. llvm-svn: 77038
* More work on the constant struct builder. We now try to layout all constant ↵Anders Carlsson2009-07-251-6/+19
| | | | | | structs but throw away the result. llvm-svn: 77021
* Update for LLVM API change.Owen Anderson2009-07-241-7/+10
| | | | llvm-svn: 77012
* Fix a release build warning.Anders Carlsson2009-07-241-1/+1
| | | | llvm-svn: 76985
* Check in a half finished new constant struct builder (Obviously not used yet).Anders Carlsson2009-07-241-0/+146
| | | | llvm-svn: 76969
* Move the LLVM field number for bit fields into the BitFieldInfo structure, ↵Anders Carlsson2009-07-231-10/+10
| | | | | | since it's meaning is completely different than for non-bit fields. llvm-svn: 76882
* Use arrays as union padding. Also, since the resulting struct will always ↵Anders Carlsson2009-07-231-7/+10
| | | | | | contain a single element and either a single i8 element or an array of i8s, there's no reason to use a packed struct. llvm-svn: 76854
* Per offline discussion with Steve Naroff, add back Type::getAsXXXType() methodsTed Kremenek2009-07-171-2/+2
| | | | | | | | | 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-2/+2
| | | | | | 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-46/+48
| | | | llvm-svn: 75705
* Update for API change.Owen Anderson2009-07-141-1/+1
| | | | llvm-svn: 75569
* Update for LLVM API change.Owen Anderson2009-07-131-7/+8
| | | | llvm-svn: 75446
* Update for LLVM API change.Owen Anderson2009-07-081-2/+2
| | | | llvm-svn: 75028
* Update for LLVM API change.Owen Anderson2009-07-081-1/+1
| | | | llvm-svn: 74986
OpenPOWER on IntegriCloud