Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fix rtti generation for throws. WIP. | Mike Stump | 2009-11-20 | 1 | -9/+1 | |
| | | | | llvm-svn: 89420 | |||||
* | Simplify rtti building code a little. Prep for reuse for throw rtti | Mike Stump | 2009-11-20 | 3 | -13/+11 | |
| | | | | | | generation. llvm-svn: 89416 | |||||
* | Fixup key function calculations. | Mike Stump | 2009-11-20 | 2 | -7/+5 | |
| | | | | llvm-svn: 89412 | |||||
* | Draw a brighter line between "unresolved" expressions, where we have done the | John McCall | 2009-11-19 | 1 | -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 Stump | 2009-11-19 | 1 | -18/+26 | |
| | | | | llvm-svn: 89386 | |||||
* | Refine vtable, rtti and rtti name instantiation so that they follow | Mike Stump | 2009-11-19 | 1 | -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 Stump | 2009-11-19 | 1 | -0/+5 | |
| | | | | llvm-svn: 89307 | |||||
* | Improve instantiation control for rtti data and allow key functions to | Mike Stump | 2009-11-19 | 4 | -31/+96 | |
| | | | | | | instantiate a class. WIP. llvm-svn: 89289 | |||||
* | Refine linkage on thunks. WIP. | Mike Stump | 2009-11-19 | 1 | -2/+1 | |
| | | | | llvm-svn: 89287 | |||||
* | Reflow to fit 80-col. | Mike Stump | 2009-11-18 | 1 | -2/+2 | |
| | | | | llvm-svn: 89222 | |||||
* | Trim whitespace. | Mike Stump | 2009-11-18 | 1 | -1/+0 | |
| | | | | llvm-svn: 89219 | |||||
* | Minor cleanup to member pointer handling. | Eli Friedman | 2009-11-18 | 1 | -7/+3 | |
| | | | | llvm-svn: 89201 | |||||
* | Clean up EmitPointerToDataMemberBinaryExpr a bit. | Eli Friedman | 2009-11-18 | 1 | -7/+5 | |
| | | | | llvm-svn: 89197 | |||||
* | Set up vtable visibility appropriately. | Mike Stump | 2009-11-18 | 1 | -7/+12 | |
| | | | | llvm-svn: 89193 | |||||
* | Propagate hidden to the _ZTS symbols appropriately. WIP. | Mike Stump | 2009-11-18 | 1 | -16/+26 | |
| | | | | llvm-svn: 89191 | |||||
* | Add an assertion to catch bad calls to EmitCallArgs. | Eli Friedman | 2009-11-18 | 1 | -0/+1 | |
| | | | | llvm-svn: 89190 | |||||
* | Be sure to set visibility for ZTI symbols for classes from the class. | Mike Stump | 2009-11-18 | 1 | -5/+8 | |
| | | | | llvm-svn: 89186 | |||||
* | Make _ZTI symbols hidden. This speeds up the dynamic linker. | Mike Stump | 2009-11-18 | 1 | -0/+1 | |
| | | | | llvm-svn: 89185 | |||||
* | Missing piece of r89173. | Eli Friedman | 2009-11-18 | 1 | -0/+3 | |
| | | | | llvm-svn: 89174 | |||||
* | Refactor emitting call to delete operator into common function EmitDeleteCall. | Eli Friedman | 2009-11-18 | 2 | -46/+32 | |
| | | | | llvm-svn: 89173 | |||||
* | Fix one last gotcha with typeid. | Mike Stump | 2009-11-18 | 1 | -0/+1 | |
| | | | | llvm-svn: 89172 | |||||
* | Cleanup. | Mike Stump | 2009-11-17 | 1 | -3/+3 | |
| | | | | llvm-svn: 89166 | |||||
* | Add rtti support for arrays, functiond without prototypes, vectors and | Mike Stump | 2009-11-17 | 1 | -15/+13 | |
| | | | | | | enums. llvm-svn: 89165 | |||||
* | Add rtti info for function prototypes and refactor. This allows | Mike Stump | 2009-11-17 | 1 | -47/+60 | |
| | | | | | | pointer to member functions to work. WIP. llvm-svn: 89161 | |||||
* | This patch finalizes implementatin of weak_import | Fariborz Jahanian | 2009-11-17 | 1 | -0/+6 | |
| | | | | | | objective-c2 classes (radar 6815425). llvm-svn: 89157 | |||||
* | Add rtti support for pointer to data members. | Mike Stump | 2009-11-17 | 2 | -5/+10 | |
| | | | | llvm-svn: 89155 | |||||
* | More cases for weak_import objective-c2 classes. | Fariborz Jahanian | 2009-11-17 | 1 | -0/+3 | |
| | | | | | | (still radar 6815425). llvm-svn: 89152 | |||||
* | Add rtti support for non-member pointers. WIP. | Mike Stump | 2009-11-17 | 1 | -12/+81 | |
| | | | | llvm-svn: 89148 | |||||
* | More support for weak_import objective-c2 class. | Fariborz Jahanian | 2009-11-17 | 1 | -0/+27 | |
| | | | | | | (radar 6815425). llvm-svn: 89146 | |||||
* | Added block type introspection support. | David Chisnall | 2009-11-17 | 2 | -11/+61 | |
| | | | | | | As per Fariborz's suggestion, committed now but can be reverted later if the used flag is problematic for Apple. llvm-svn: 89134 | |||||
* | Fixed bug where ivar offsets were being initialized as 0 with the fragile ↵ | David Chisnall | 2009-11-17 | 1 | -1/+1 | |
| | | | | | | GNU ABI. llvm-svn: 89133 | |||||
* | Skip over shadow using decls during codegen. | John McCall | 2009-11-17 | 1 | -0/+1 | |
| | | | | llvm-svn: 89079 | |||||
* | Unify the way destructor epilogues are generated for synthesized and regular ↵ | Anders Carlsson | 2009-11-17 | 1 | -103/+79 | |
| | | | | | | destructors. Also fix PR5529. llvm-svn: 89034 | |||||
* | More const is always good. | Anders Carlsson | 2009-11-17 | 2 | -6/+6 | |
| | | | | llvm-svn: 89033 | |||||
* | Fix typo. Thanks Ted. | Mike Stump | 2009-11-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 89031 | |||||
* | Add typeinfo support for T* and const T* for all builtin types T. | Mike Stump | 2009-11-17 | 1 | -0/+13 | |
| | | | | llvm-svn: 89030 | |||||
* | Add typeid for the builtin types. WIP. | Mike Stump | 2009-11-17 | 3 | -11/+40 | |
| | | | | llvm-svn: 89028 | |||||
* | Ensure we peer through () when handling typeid(*p). | Mike Stump | 2009-11-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 89015 | |||||
* | Since we always have 2 edges, we don't need to reserve 3 slot for the | Mike Stump | 2009-11-17 | 1 | -1/+1 | |
| | | | | | | PHI node. llvm-svn: 89005 | |||||
* | Minor CFG refinements for typeid and dynamic_cast. | Mike Stump | 2009-11-17 | 1 | -4/+1 | |
| | | | | llvm-svn: 89004 | |||||
* | Fix up EmitMemberInitializer to handle many more cases. | Eli Friedman | 2009-11-16 | 1 | -11/+24 | |
| | | | | llvm-svn: 88999 | |||||
* | Reorganize EmitMemberInitializer to put anonymous unions on the common codepath. | Eli Friedman | 2009-11-16 | 1 | -29/+31 | |
| | | | | llvm-svn: 88995 | |||||
* | Make member initializers for union members work correctly. | Eli Friedman | 2009-11-16 | 1 | -1/+1 | |
| | | | | llvm-svn: 88989 | |||||
* | Implement dynamic_cast<void*>(E). | Mike Stump | 2009-11-16 | 1 | -51/+64 | |
| | | | | llvm-svn: 88988 | |||||
* | Implement a few more cases for copy constructor synthesis. | Eli Friedman | 2009-11-16 | 1 | -2/+10 | |
| | | | | llvm-svn: 88971 | |||||
* | First part of changes to eliminate problems with cv-qualifiers and | Douglas Gregor | 2009-11-16 | 2 | -4/+4 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sugared types. The basic problem is that our qualifier accessors (getQualifiers, getCVRQualifiers, isConstQualified, etc.) only look at the current QualType and not at any qualifiers that come from sugared types, meaning that we won't see these qualifiers through, e.g., typedefs: typedef const int CInt; typedef CInt Self; Self.isConstQualified() currently returns false! Various bugs (e.g., PR5383) have cropped up all over the front end due to such problems. I'm addressing this problem by splitting each qualifier accessor into two versions: - the "local" version only returns qualifiers on this particular QualType instance - the "normal" version that will eventually combine qualifiers from this QualType instance with the qualifiers on the canonical type to produce the full set of qualifiers. This commit adds the local versions and switches a few callers from the "normal" version (e.g., isConstQualified) over to the "local" version (e.g., isLocalConstQualified) when that is the right thing to do, e.g., because we're printing or serializing the qualifiers. Also, switch a bunch of Context.getCanonicalType(T1).getUnqualifiedType() == Context.getCanonicalType(T2).getQualifiedType() expressions over to Context.hasSameUnqualifiedType(T1, T2) llvm-svn: 88969 | |||||
* | Clean up scalar cast kind handling; make cast kind handling explicitly handle | Eli Friedman | 2009-11-16 | 1 | -36/+61 | |
| | | | | | | more cases. No intended visible change. llvm-svn: 88968 | |||||
* | Audit done, all the required casts are already done. | Mike Stump | 2009-11-16 | 1 | -2/+0 | |
| | | | | llvm-svn: 88966 | |||||
* | revert r88963. | Devang Patel | 2009-11-16 | 1 | -1/+0 | |
| | | | | llvm-svn: 88965 | |||||
* | Use TrackingVH to hold forward decl. This one is for RecordType. | Devang Patel | 2009-11-16 | 1 | -0/+1 | |
| | | | | llvm-svn: 88963 |