summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Change GetAddressCXXOfBaseClass to use CXXBasePaths for calculating base ↵Anders Carlsson2009-10-063-66/+135
| | | | | | class offsets. Fix the code to handle virtual bases as well. llvm-svn: 83426
* When mangling names, always use the canonical decl. Fixes PR5144.Anders Carlsson2009-10-061-1/+1
| | | | llvm-svn: 83420
* InsertSubprogramStart if ATTACH_DEBUG_INFO_TO_AN_INSN is not defined.Devang Patel2009-10-061-1/+3
| | | | llvm-svn: 83419
* Add support to attach debug info to an instruction.Devang Patel2009-10-064-12/+46
| | | | | | This is not yet enabled. llvm-svn: 83399
* Emit the destructor epilogue in a cleanup block so a return from a ↵Anders Carlsson2009-10-061-1/+20
| | | | | | destructor body still calls the epilogue. llvm-svn: 83397
* Pass the right type to GetAddrOfFunction when getting functions for the ↵Anders Carlsson2009-10-061-4/+16
| | | | | | VTable. Fixes PR5021. llvm-svn: 83395
* Set appropriate context for a global variable while emitting debug info.Devang Patel2009-10-062-1/+21
| | | | llvm-svn: 83352
* 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-053-5/+4
| | | | llvm-svn: 83303
* Pass the canonical method decl to GetVtableIndex. Fixes PR5120.Anders Carlsson2009-10-032-2/+2
| | | | llvm-svn: 83272
* Implement code generation of member function pointer calls. Fixes PR5121.Anders Carlsson2009-10-034-1/+131
| | | | llvm-svn: 83271
* Teach AggExprEmitter about pointers to member functions.Anders Carlsson2009-10-031-0/+33
| | | | llvm-svn: 83266
* 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
* Move some functions from CodeGenFunctions to CodeGenModule so they can be ↵Anders Carlsson2009-10-035-18/+26
| | | | | | used by CGExprConstant. llvm-svn: 83263
* Don't update the struct alignment when adding fields to a packed struct. ↵Anders Carlsson2009-10-021-1/+6
| | | | | | Fixes PR5118. llvm-svn: 83235
* More magic pixie dust.Mike Stump2009-10-021-3/+3
| | | | llvm-svn: 83232
* Fix up debug information for block pointers a bit more.Mike Stump2009-10-021-1/+3
| | | | llvm-svn: 83231
* 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
* Implement a FIXME. This improves codegen just a tad.Mike Stump2009-10-012-11/+12
| | | | llvm-svn: 83221
* CodeGen may see out-of-line declarations of the various special memberDouglas Gregor2009-10-011-14/+23
| | | | | | | | | | | functions when they are explicitly declared, e.g., via a function template specialization or explicit template instantiation declaration. Don't try to synthesize bodies for the special member functions in this case; rather, check whether we have an implicit declaration and, if so, synthesize the appropriate function body. Fixes PR5084. llvm-svn: 83212
* Fix a lame regression in IR gen for C++ delete expressions. PR5102Douglas Gregor2009-10-011-0/+2
| | | | llvm-svn: 83195
* A couple of refinements for laying out debug information forMike Stump2009-10-011-12/+15
| | | | | | BlockDeclRefDecls. llvm-svn: 83185
* Anonymous namespaces, sema + codegen. A lot of semantics are still broken,John McCall2009-10-012-4/+19
| | | | | | apparently because using directives aren't quite working correctly. llvm-svn: 83184
* <rdar://problem/7263113> Make clang produce gcc's objc_assign_StrongCast as ↵Fariborz Jahanian2009-09-301-1/+11
| | | | | | a result of type-cast of an ivar in assignment. llvm-svn: 83150
* Improve debugging information for BlockDeclRefExpr. WIP. Given thisMike Stump2009-09-303-0/+246
| | | | | | | scheme, we can switch the previous scheme over to using this code path. There's a bit of simplifications yet to do as well. llvm-svn: 83138
* Handle C++ delete expressions when the overloaded delete operator is aDouglas Gregor2009-09-291-3/+11
| | | | | | | | | | | "usual deallocation function" with two arguments. CodeGen will have to handle this case specifically, since the value for the second argument (the size of the allocated object) may have to be computed at run time. Fixes the Sema part of PR4782. llvm-svn: 83080
* Handle CXXMemberCallExprs that point to a static method. Fixes PR5093.Anders Carlsson2009-09-291-0/+8
| | | | llvm-svn: 83045
* Handle CK_BaseToDerivedMemberPointer for member function pointers. Fixes PR5091.Anders Carlsson2009-09-293-11/+62
| | | | llvm-svn: 83041
* Improve support for member function pointers.Anders Carlsson2009-09-293-3/+26
| | | | llvm-svn: 83039
* Use a switch statement in VisitCastExpr.Anders Carlsson2009-09-291-12/+16
| | | | llvm-svn: 83038
* Make hasAggregateLLVMType use positive checks.Anders Carlsson2009-09-291-5/+1
| | | | llvm-svn: 83037
* Fix http://llvm.org/PR5090.Mike Stump2009-09-291-1/+2
| | | | llvm-svn: 83035
* Mangle dependent name expressions. Fixes PR5063.Anders Carlsson2009-09-271-0/+20
| | | | llvm-svn: 82915
* Use mangleTemplatePrefix when we know that we're mangling a nested template ↵Anders Carlsson2009-09-271-2/+4
| | | | | | name. llvm-svn: 82912
* CodeGen for try statements. (We just emit the body for now).Anders Carlsson2009-09-273-4/+16
| | | | llvm-svn: 82910
* Look for substitutions when mangling TypenameTypes.Anders Carlsson2009-09-271-3/+6
| | | | llvm-svn: 82885
* Better template parameter type mangling.Anders Carlsson2009-09-271-11/+18
| | | | llvm-svn: 82883
* Mangle std::basic_string<char, std::char_traits<char>, std::allocator<char> ↵Anders Carlsson2009-09-271-0/+63
| | | | | | > as Ss. llvm-svn: 82882
* Mangle ::std::basic_string as Sb.Anders Carlsson2009-09-261-0/+6
| | | | llvm-svn: 82881
* Mangle ::std::allocator as Sa.Anders Carlsson2009-09-261-11/+19
| | | | llvm-svn: 82880
* Handle substitutions in mangleTemplatePrefix.Anders Carlsson2009-09-261-1/+6
| | | | llvm-svn: 82879
* Substitute "::std::" as "St".Anders Carlsson2009-09-261-1/+22
| | | | llvm-svn: 82874
* Don't crash when trying to mangle function templates.Anders Carlsson2009-09-261-2/+2
| | | | llvm-svn: 82872
* mangleTemplatePrefix and mangleUnscopedTemplateName should take a TemplateDecl.Anders Carlsson2009-09-261-10/+9
| | | | llvm-svn: 82871
* Use the qualified name for tag types.Anders Carlsson2009-09-261-2/+9
| | | | llvm-svn: 82870
* Set alignment on static function level decls and VLAs. Fixes PR5060.Anders Carlsson2009-09-261-6/+11
| | | | llvm-svn: 82868
* Use ABIArgInfo::getDirect() for all types that have a pointer representation.Anders Carlsson2009-09-261-1/+1
| | | | llvm-svn: 82845
OpenPOWER on IntegriCloud