summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Give explicit and implicit instantiations of static data members ofDouglas Gregor2009-10-141-3/+42
| | | | | | | | class templates the proper linkage. Daniel, please look over the CodeGenModule bits. llvm-svn: 84140
* Copy metadata associated with CIDevang Patel2009-10-141-0/+4
| | | | llvm-svn: 84114
* fix some cfstring related issues: Chris Lattner2009-10-141-13/+10
| | | | | | | | | | | | | 1) -fwritable-string does affect the non-utf16 version of cfstrings just not the utf16 ones. 2) utf16 strings should always be marked constant, as the __TEXT segment is readonly. 3) The name of the global doesn't matter, remove it from TargetInfo. 4) Trust the asmprinter to drop cstrings into the right section, like llvmgcc does now. This fixes rdar://7115750 llvm-svn: 84077
* unbreak test/CodeGen/builtins.c, reverting Devang's change.Chris Lattner2009-10-141-2/+2
| | | | llvm-svn: 84075
* Check void type before using replaceAllUsesWith().Devang Patel2009-10-131-1/+2
| | | | llvm-svn: 84050
* Remove extra white space line.Devang Patel2009-10-131-1/+0
| | | | llvm-svn: 83979
* Do not check use_empty() before invoking replaceAllUsesWith().Devang Patel2009-10-131-2/+3
| | | | | | Let replaceAllUsesWith() adjust VHs even though there are no uses. llvm-svn: 83978
* Simplify pointer creation with the new Type::getInt*Ptr methods.Benjamin Kramer2009-10-131-4/+2
| | | | llvm-svn: 83964
* Move the vtable builder to CGVtable.cpp, general cleanup.Anders Carlsson2009-10-111-1/+2
| | | | llvm-svn: 83798
* If a global initializer has a non-trivial constructor or destructor, we ↵Anders Carlsson2009-10-081-0/+11
| | | | | | | | | | | | | | | | | | | never want to defer generation of it, even if it is declared static. With this change we're finally able to compile and run the (infamous) #include <string> #include <iostream> int main(int argc, char **argv) { std::cout << "Hello, World" << std::endl; } $ clang hello.cpp -lstdc++ -o hello $ ./hello Hello, World llvm-svn: 83559
* Add a MangleContext and pass it to all mangle functions. It will be used for ↵Anders Carlsson2009-10-071-2/+2
| | | | | | keeping state, such as identifiers assigned to anonymous structs as well as scope encoding. llvm-svn: 83442
* Fix thinko and simplify.Mike Stump2009-10-051-2/+2
| | | | llvm-svn: 83342
* Ensure we have atleast 2-byte alignment for member functions.Mike Stump2009-10-051-0/+3
| | | | llvm-svn: 83337
* Respect alignments better.Mike Stump2009-10-051-0/+3
| | | | llvm-svn: 83328
* Use new predicates for some type equality tests.Benjamin Kramer2009-10-051-1/+1
| | | | llvm-svn: 83303
* 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
OpenPOWER on IntegriCloud