summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Update for LLVM API change.Owen Anderson2009-07-081-10/+12
| | | | llvm-svn: 74986
* De-ASTContext-ify DeclContext.Argyrios Kyrtzidis2009-06-301-9/+6
| | | | | | | Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating". Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit. llvm-svn: 74506
* Remove the ASTContext parameter from the getBody() methods of Decl and ↵Argyrios Kyrtzidis2009-06-301-2/+2
| | | | | | | | subclasses. Timings showed no significant difference before and after the commit. llvm-svn: 74504
* Remove the ASTContext parameter from the attribute-related methods of Decl.Argyrios Kyrtzidis2009-06-301-29/+29
| | | | | | | | | The implementations of these methods can Use Decl::getASTContext() to get the ASTContext. This commit touches a lot of files since call sites for these methods are everywhere. I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it. llvm-svn: 74501
* Improve code generation for function template specializations:Douglas Gregor2009-06-291-4/+12
| | | | | | | | | | | | | | | | - Track implicit instantiations vs. the not-yet-supported explicit specializations - Give implicit instantiations of function templates (and member functions of class templates) linkonce_odr linkage. - Improve name mangling for function template specializations, including the template arguments of the instantiation and the return type of the function. Note that our name-mangling is improved, but not correct: we still don't mangle substitutions, although the manglings we produce can be demangled. llvm-svn: 74466
* Keep track of function template specializations, to eliminateDouglas Gregor2009-06-291-0/+2
| | | | | | | redundant, implicit instantiations of function templates and provide a place where we can hang function template specializations. llvm-svn: 74454
* Move FunctionDecl::TemplateSpecializationInfo out into its own class,Douglas Gregor2009-06-291-0/+10
| | | | | | FunctionTemplateSpecializationInfo, in DeclTemplate.h. No functionality change. llvm-svn: 74431
* Patch fixes an obscure bug when 'used' attribute is applied toFariborz Jahanian2009-06-231-2/+9
| | | | | | | | | variables in ObjC's Next runtime mode. Next runtime also implicitly applies 'used' attribute on some of its meta-data. This results in two 'llvm.used' arrays to be generated, and one of them is renamed to 'llvm.used1'. llvm-svn: 74008
* Parsing and AST support for using declarations, from John Thompson!Douglas Gregor2009-06-201-0/+3
| | | | llvm-svn: 73812
* Move the static DeclAttrs map into ASTContext. Fixes <rdar://problem/6983177>.Douglas Gregor2009-06-181-30/+35
| | | | llvm-svn: 73702
* Move CXXMethodDecl::OutOfLineDefinition into Decl::OutOfLine.Argyrios Kyrtzidis2009-06-171-1/+1
| | | | llvm-svn: 73651
* Sink the BuiltinInfo object from ASTContext into theChris Lattner2009-06-141-0/+1
| | | | | | | | preprocessor and initialize it early in clang-cc. This ensures that __has_builtin works in all modes, not just when ASTContext is around. llvm-svn: 73319
* move GetBuiltinType from Builtin::Context to ASTContext.Chris Lattner2009-06-141-3/+3
| | | | llvm-svn: 73316
* Don't assert when generating code with static_asserts.Anders Carlsson2009-06-111-1/+5
| | | | llvm-svn: 73208
* weak_import should not make definitions have weak linkage.Daniel Dunbar2009-06-051-2/+2
| | | | | | - <rdar://problem/6948703> clang treats weak_import like weak llvm-svn: 72967
* Make ReplaceUsesOfNonProtoTypeWithRealFunction verify that a call is *to* theChris Lattner2009-06-041-1/+2
| | | | | | function of interest, not an operand of it. llvm-svn: 72869
* Add code for emitting C++ destructors. Not used yet.Anders Carlsson2009-05-291-0/+2
| | | | llvm-svn: 72591
* Handle the edge case of a weak function with incomplete type correctly. Eli Friedman2009-05-261-6/+9
| | | | | | Found by code inspection; I haven't seen this in real-world code. llvm-svn: 72408
* extern "C" should preserve the 'extern' qualifier for VarDecls. Fixes 6853728.Anders Carlsson2009-05-161-2/+3
| | | | llvm-svn: 71957
* Reflow some comments.Mike Stump2009-05-161-14/+11
| | | | llvm-svn: 71937
* A C++ member function always has either weak linkage (if it's inline or ↵Anders Carlsson2009-05-151-0/+8
| | | | | | defined inline) or strong linkage (other cases). llvm-svn: 71873
* push GlobalDecl through enough of the CodeGenModule interfacesChris Lattner2009-05-121-23/+21
| | | | | | | | | to allow us to support generation of deferred ctors/dtors. It looks like codegen isn't emitting a call to the dtor in member-functions.cpp:test2, but when it does, its body should get emitted. llvm-svn: 71594
* add an initial stab at emitting deferred c++ inline functions. This handles ↵Chris Lattner2009-05-121-0/+9
| | | | | | | | | static functions and methods declared inline, but not ctors/dtors or methods not declared inline (apparently my previous patch wasn't good enough). llvm-svn: 71591
* cleanups, no functionality change.Chris Lattner2009-05-121-3/+5
| | | | llvm-svn: 71590
* revert my previous patch, I committed the wrong file.Chris Lattner2009-05-121-10/+2
| | | | llvm-svn: 71585
OpenPOWER on IntegriCloud