summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Anonymous namespaces, sema + codegen. A lot of semantics are still broken,John McCall2009-10-011-1/+8
| | | | | | apparently because using directives aren't quite working correctly. llvm-svn: 83184
* Handle namespace aliases.Anders Carlsson2009-09-231-0/+1
| | | | llvm-svn: 82644
* Revert "Switch a few clients over to StringLiteral::getString.", this is ↵Daniel Dunbar2009-09-221-5/+10
| | | | | | breaking some projects, but I don't have a test case yet. llvm-svn: 82539
* Switch a few clients over to StringLiteral::getString.Daniel Dunbar2009-09-221-10/+5
| | | | | | - Switching all of them out-of-my-current-scope-of-interest, sorry. llvm-svn: 82515
* Change all the Type::getAsFoo() methods to specializations of Type::getAs().John McCall2009-09-211-1/+1
| | | | | | | | | | | 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
* Fix subtle bug in generating LLVM function declarations for builtin functions.Daniel Dunbar2009-09-141-3/+3
| | | | | | | | | | The decl wasn't being passed down, which meant that function attributes were not being set correctly. This is particularly important for ARM, since it wants to override the calling convention. Instead we would emit the builtin with the wrong calling convention, and instcombine would come along and merrily shred all the calls to it. :) llvm-svn: 81756
* Rework the way we determine whether an externally visible symbol isDouglas Gregor2009-09-131-25/+10
| | | | | | | | generated for an inline function definition, taking into account C99 and GNU inline/extern inline semantics. This solution is simpler, cleaner, and fixes PR4536. llvm-svn: 81670
* Change CodeGenModule::ConstructTypeAttributes to return the calling conventionDaniel Dunbar2009-09-121-8/+5
| | | | | | to use, and allow the ABI implementation to override the calling convention. llvm-svn: 81593
* Remove unnecessary ASTContext parameters from isMain and isExternCDouglas Gregor2009-09-121-1/+1
| | | | llvm-svn: 81589
* Set the calling convention based on the CGFunctionInfo.Daniel Dunbar2009-09-111-6/+3
| | | | llvm-svn: 81582
* 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
OpenPOWER on IntegriCloud