summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* GlobalDecl doesn't have an explicit constructor anymore.Anders Carlsson2009-09-101-6/+7
| | | | llvm-svn: 81481
* Add stricter GlobalDecl constructors.Anders Carlsson2009-09-101-5/+5
| | | | llvm-svn: 81480
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-167/+167
| | | | llvm-svn: 81346
* Improve the AST representation and semantic analysis for externDouglas Gregor2009-09-041-3/+2
| | | | | | | | | | | templates. We now distinguish between an explicit instantiation declaration and an explicit instantiation definition, and know not to instantiate explicit instantiation declarations. Unfortunately, there is some remaining confusion w.r.t. instantiation of out-of-line member function definitions that causes trouble here. llvm-svn: 81053
* Don't generate any code for an explicit call to a trivial destructor. Douglas Gregor2009-09-041-1/+1
| | | | | | | | | | | 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
* Don't try to CodeGen using directives, from Anders JohnsenDouglas Gregor2009-09-021-0/+1
| | | | llvm-svn: 80853
* Regularize the case and sort.Mike Stump2009-08-261-1/+1
| | | | llvm-svn: 80163
* Emit conversion functions correctly.Anders Carlsson2009-08-251-0/+1
| | | | llvm-svn: 79985
* Patch toward synthesizing non-trivial destructors. WIPFariborz Jahanian2009-08-161-0/+38
| | | | llvm-svn: 79199
* No need to append extra padding now that we don't create packed structs for ↵Anders Carlsson2009-08-161-50/+8
| | | | | | simple cases like the constant string. llvm-svn: 79178
* Fixed a bug in ir-gen for copy assignment synthesis.Fariborz Jahanian2009-08-141-2/+6
| | | | | | | | Fixed a bug when evaluating those copy-assignments which need by lazily syntheized. A test case for these. llvm-svn: 78965
* Update for LLVM API change.Owen Anderson2009-08-131-17/+23
| | | | llvm-svn: 78946
* Patch to force synthesis of copy assignment operatorFariborz Jahanian2009-08-131-5/+42
| | | | | | | | 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
* Patch for synthesizing copy assignment operator.Fariborz Jahanian2009-08-121-0/+5
| | | | | | WIP. llvm-svn: 78841
* ir-gen support for anonymous union data memberFariborz Jahanian2009-08-111-3/+3
| | | | | | | copying in copy constructors and used in default constructor's initializer list. llvm-svn: 78700
* Support for anonymous union in ctor's initializer andFariborz Jahanian2009-08-101-0/+2
| | | | | | bunch of FIXMEs for their is-gen. llvm-svn: 78623
* Add support for global initializers.Anders Carlsson2009-08-081-2/+11
| | | | llvm-svn: 78515
* Remove use of uninitized variable.Fariborz Jahanian2009-08-081-4/+2
| | | | llvm-svn: 78448
* More synthesis of copy constructors. Work in progress.Fariborz Jahanian2009-08-071-4/+43
| | | | llvm-svn: 78402
* Patch toward synthesizing copy constructors.Fariborz Jahanian2009-08-061-1/+5
| | | | | | Work in progress. llvm-svn: 78355
* Update for LLVM API change.Owen Anderson2009-08-051-2/+2
| | | | llvm-svn: 78259
* weak globals that are const should get weak_odr linkage.Chris Lattner2009-08-051-6/+19
| | | | | | add a fixme about C++ const. llvm-svn: 78159
* rdar://7119244 - globals with an explicit section specified don't getChris Lattner2009-08-051-1/+2
| | | | | | common linkage. llvm-svn: 78158
* Make sure UTF-16 strings end with a 16-bit null (as opposed to 8-bit).Daniel Dunbar2009-08-031-0/+3
| | | | llvm-svn: 78001
* Whoops, meant to delete this.Anders Carlsson2009-08-021-1/+0
| | | | llvm-svn: 77916
* use CodeGenModule::EmitNullConstant in a couple of places.Anders Carlsson2009-08-021-0/+1
| | | | llvm-svn: 77915
* Don't error on C++ linkage; if we don't support that, there are Eli Friedman2009-08-011-1/+2
| | | | | | serious issues :) llvm-svn: 77800
* Update for LLVM API change.Owen Anderson2009-07-311-3/+3
| | | | llvm-svn: 77722
* Synthesize the default constructor which has notFariborz Jahanian2009-07-301-0/+8
| | | | | | been declared as needed. llvm-svn: 77641
* Update for LLVM API changes.Owen Anderson2009-07-301-1/+1
| | | | llvm-svn: 77638
* Update for LLVM API change.Owen Anderson2009-07-291-16/+16
| | | | llvm-svn: 77514
* Change uses of:Ted Kremenek2009-07-291-1/+1
| | | | | | | | | | | | | | | | | | | | 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-7/+7
| | | | llvm-svn: 77349
* Update for LLVM API change.Owen Anderson2009-07-271-3/+3
| | | | llvm-svn: 77267
* Update for LLVM API change.Owen Anderson2009-07-241-5/+5
| | | | llvm-svn: 77012
* Output UTF-16 string literals independent of host byte order.Daniel Dunbar2009-07-231-9/+24
| | | | | | | | - Steve, can you take a look at this? It seems like this code should live elsewhere, and there is a FIXME about having Sema validates the UTF-8 to UTF-16 conversion. llvm-svn: 76915
* Factor out map lookup for CFString constants.Daniel Dunbar2009-07-231-38/+53
| | | | llvm-svn: 76908
* Simplify, NFC.Daniel Dunbar2009-07-231-8/+7
| | | | llvm-svn: 76897
* Simplify.Daniel Dunbar2009-07-231-5/+4
| | | | llvm-svn: 76885
* fix objc codegen to not have its own list of things that eventually get into ↵Chris Lattner2009-07-171-5/+1
| | | | | | | | llvm.used, just populate CGM's list directly. llvm-svn: 76266
* 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
* use CreateRuntimeVariable to get __CFConstantStringClassReferenceChris Lattner2009-07-161-11/+6
| | | | | | | instead of doing it manually (which might end up getting auto-renamed), fixing a FIXME. rdar://7065446 llvm-svn: 76079
* codegen string literals using private linkage now like llvm-gcc, eliminatingChris Lattner2009-07-161-15/+17
| | | | | | some target hooks. llvm-svn: 75895
* Update for LLVM API change, and contextify a bunch of related stuff.Owen Anderson2009-07-141-44/+47
| | | | llvm-svn: 75705
* Revert 75648 for now. It is causing test failures.Devang Patel2009-07-141-3/+1
| | | | llvm-svn: 75684
* Use LLVM mangler to get mangled name for debug info entry.Devang Patel2009-07-141-1/+3
| | | | llvm-svn: 75589
* Update for LLVM API change.Owen Anderson2009-07-131-3/+3
| | | | llvm-svn: 75446
* Update for LLVM API change.Owen Anderson2009-07-081-25/+20
| | | | llvm-svn: 75028
OpenPOWER on IntegriCloud