summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Use EmitStoreOfScalar when copying the scalar to the space allocated by 'new'.Anders Carlsson2009-11-221-2/+3
| | | | llvm-svn: 89613
* Support emitting aggregate class initializers. Fixes PR5581.Anders Carlsson2009-11-211-1/+1
| | | | llvm-svn: 89569
* This patch implements objective-c's 'SEL' type as a built-inFariborz Jahanian2009-11-212-0/+2
| | | | | | | | | | | | | | | | | | type and fixes a long-standing code gen. crash reported in at least two PRs and a radar. (radar 7405040 and pr5025). There are couple of remaining issues that I would like for Ted. and Doug to look at: Ted, please look at failure in Analysis/MissingDealloc.m. I have temporarily added an expected-warning to make the test pass. This tests has a declaration of 'SEL' type which may not co-exist with the new changes. Doug, please look at a FIXME in PCHWriter.cpp/PCHReader.cpp. I think the changes which I have ifdef'ed out are correct. They need be considered for in a few Indexer/PCH test cases. llvm-svn: 89561
* Mangler: Sketch mangling for TemplateArgument::Declaration kind.Daniel Dunbar2009-11-211-27/+32
| | | | | | - Several important FIXMEs related to whether arguments are expressions or external names, and the mangling of extern "C" names (c.f., PR5522). llvm-svn: 89556
* Mangler: Lift shouldMangleDeclName predicate out of CXXNameMangler::mangle.Daniel Dunbar2009-11-213-44/+49
| | | | | | | | - Sometimes we have to mangle things we wouldn't normally (e.g., because they appear in a template expression). - This also tidies up the predicate to be more obvious what is getting mangled. llvm-svn: 89555
* Mangler: Strengthen invariants, MangleContext::mangleName should only be ↵Daniel Dunbar2009-11-211-15/+12
| | | | | | called on var or function decls. llvm-svn: 89554
* Mangler: Inline a bunch of functions into their sole caller, not that I ↵Daniel Dunbar2009-11-211-106/+56
| | | | | | don't love typing for typings sake, but... llvm-svn: 89553
* Remove dead variable.Daniel Dunbar2009-11-211-1/+0
| | | | llvm-svn: 89551
* Mangler: Split isStdNamespace for when the caller already has a NamespaceDecl.Daniel Dunbar2009-11-211-5/+6
| | | | llvm-svn: 89550
* IRgen: Eliminate CXXNameMangler::mangleCXX{C,D}tor.Daniel Dunbar2009-11-211-24/+10
| | | | llvm-svn: 89549
* IRgen: Switch the C++ mangler interfaces to take the SmallVector to write into,Daniel Dunbar2009-11-216-96/+67
| | | | | | | instead of requiring clients to make a raw_svector_ostream, which is just an implementation detail. llvm-svn: 89548
* Sink free mangle* methods into MangleContext.Daniel Dunbar2009-11-216-239/+234
| | | | llvm-svn: 89547
* Delete trailing space.Daniel Dunbar2009-11-211-85/+85
| | | | llvm-svn: 89545
* Added rudimentary C++0x attribute support.Alexis Hunt2009-11-211-2/+6
| | | | | | | | | | | | | | The following attributes are currently supported in C++0x attribute lists (and in GNU ones as well): - align() - semantics believed to be conformant to n3000, except for redeclarations and what entities it may apply to - final - semantics believed to be conformant to CWG issue 817's proposed wording, except for redeclarations - noreturn - semantics believed to be conformant to n3000, except for redeclarations - carries_dependency - currently ignored (this is an optimization hint) llvm-svn: 89543
* Checkpoint current work. WIP.Mike Stump2009-11-202-8/+126
| | | | llvm-svn: 89513
* Fix lifetime of conditional temporaries. Patch by Victor Zverovich!Anders Carlsson2009-11-205-46/+31
| | | | llvm-svn: 89467
* Fixed crash when using undefined protocols (GNU runtime).David Chisnall2009-11-201-2/+7
| | | | llvm-svn: 89457
* Fix a couple minor memory leaks.Eli Friedman2009-11-201-1/+7
| | | | llvm-svn: 89450
* Implement throw d, where d is a class type that requires copyMike Stump2009-11-201-2/+22
| | | | | | construction. WIP. llvm-svn: 89442
* Handle throw d, where d is a class type but only has a trivial copyMike Stump2009-11-201-8/+9
| | | | | | constructor. WIP. llvm-svn: 89438
* Add suport for throw;. WIP.Mike Stump2009-11-201-4/+16
| | | | llvm-svn: 89424
* Fix rtti generation for throws. WIP.Mike Stump2009-11-201-9/+1
| | | | llvm-svn: 89420
* Simplify rtti building code a little. Prep for reuse for throw rttiMike Stump2009-11-203-13/+11
| | | | | | generation. llvm-svn: 89416
* Fixup key function calculations.Mike Stump2009-11-202-7/+5
| | | | llvm-svn: 89412
* Draw a brighter line between "unresolved" expressions, where we have done theJohn McCall2009-11-191-2/+2
| | | | | | | | appropriate lookup and simply can't resolve the referrent yet, and "dependent scope" expressions, where we can't do the lookup yet because the entity we need to look into is a dependent type. llvm-svn: 89402
* Fixup address point computations. WIP.Mike Stump2009-11-191-18/+26
| | | | llvm-svn: 89386
* Refine vtable, rtti and rtti name instantiation so that they followMike Stump2009-11-191-24/+78
| | | | | | | | | | | the key function. All the code is wired up, but won't work yet, as I had to turn off key function calculation as it doesn't work yet. Also, we refine visibility of the vtable, rtti and rtti name to match the class, as well as as arrange for all the symbols to be internal for anonymous namespace entities. llvm-svn: 89309
* This doesn't work yet.Mike Stump2009-11-191-0/+5
| | | | llvm-svn: 89307
* Improve instantiation control for rtti data and allow key functions toMike Stump2009-11-194-31/+96
| | | | | | instantiate a class. WIP. llvm-svn: 89289
* Refine linkage on thunks. WIP.Mike Stump2009-11-191-2/+1
| | | | llvm-svn: 89287
* Reflow to fit 80-col.Mike Stump2009-11-181-2/+2
| | | | llvm-svn: 89222
* Trim whitespace.Mike Stump2009-11-181-1/+0
| | | | llvm-svn: 89219
* Minor cleanup to member pointer handling.Eli Friedman2009-11-181-7/+3
| | | | llvm-svn: 89201
* Clean up EmitPointerToDataMemberBinaryExpr a bit.Eli Friedman2009-11-181-7/+5
| | | | llvm-svn: 89197
* Set up vtable visibility appropriately.Mike Stump2009-11-181-7/+12
| | | | llvm-svn: 89193
* Propagate hidden to the _ZTS symbols appropriately. WIP.Mike Stump2009-11-181-16/+26
| | | | llvm-svn: 89191
* Add an assertion to catch bad calls to EmitCallArgs.Eli Friedman2009-11-181-0/+1
| | | | llvm-svn: 89190
* Be sure to set visibility for ZTI symbols for classes from the class.Mike Stump2009-11-181-5/+8
| | | | llvm-svn: 89186
* Make _ZTI symbols hidden. This speeds up the dynamic linker.Mike Stump2009-11-181-0/+1
| | | | llvm-svn: 89185
* Missing piece of r89173.Eli Friedman2009-11-181-0/+3
| | | | llvm-svn: 89174
* Refactor emitting call to delete operator into common function EmitDeleteCall.Eli Friedman2009-11-182-46/+32
| | | | llvm-svn: 89173
* Fix one last gotcha with typeid.Mike Stump2009-11-181-0/+1
| | | | llvm-svn: 89172
* Cleanup.Mike Stump2009-11-171-3/+3
| | | | llvm-svn: 89166
* Add rtti support for arrays, functiond without prototypes, vectors andMike Stump2009-11-171-15/+13
| | | | | | enums. llvm-svn: 89165
* Add rtti info for function prototypes and refactor. This allowsMike Stump2009-11-171-47/+60
| | | | | | pointer to member functions to work. WIP. llvm-svn: 89161
* This patch finalizes implementatin of weak_importFariborz Jahanian2009-11-171-0/+6
| | | | | | objective-c2 classes (radar 6815425). llvm-svn: 89157
* Add rtti support for pointer to data members.Mike Stump2009-11-172-5/+10
| | | | llvm-svn: 89155
* More cases for weak_import objective-c2 classes.Fariborz Jahanian2009-11-171-0/+3
| | | | | | (still radar 6815425). llvm-svn: 89152
* Add rtti support for non-member pointers. WIP.Mike Stump2009-11-171-12/+81
| | | | llvm-svn: 89148
* More support for weak_import objective-c2 class.Fariborz Jahanian2009-11-171-0/+27
| | | | | | (radar 6815425). llvm-svn: 89146
OpenPOWER on IntegriCloud