Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Finish off mangling for the VTT. | Mike Stump | 2009-11-10 | 1 | -0/+8 |
| | | | | llvm-svn: 86647 | ||||
* | Add mangling for the construction vtable. | Mike Stump | 2009-11-10 | 1 | -0/+22 |
| | | | | llvm-svn: 86643 | ||||
* | Always mangle functions with special names. Fixes PR5420. | Anders Carlsson | 2009-11-07 | 1 | -3/+5 |
| | | | | llvm-svn: 86350 | ||||
* | When looking up and adding substitutions to the substitution table, make ↵ | Anders Carlsson | 2009-11-07 | 1 | -0/+3 |
| | | | | | | sure to always use the canonical declaration. With tihs change, FileCheck compiles and links but crashes during startup. llvm-svn: 86339 | ||||
* | Handle ParenExprs in mangleExpression. | Anders Carlsson | 2009-11-06 | 1 | -0/+5 |
| | | | | llvm-svn: 86218 | ||||
* | Fix thinko, mangleCXXRtti should obviously take a QualType! | Anders Carlsson | 2009-10-30 | 1 | -5/+4 |
| | | | | llvm-svn: 85565 | ||||
* | mangleCXXRtti obviously needs to take a type, what was I thinking... | Anders Carlsson | 2009-10-30 | 1 | -5/+7 |
| | | | | llvm-svn: 85555 | ||||
* | Mangle based on the declaration we're given, not the canonical | Douglas Gregor | 2009-10-28 | 1 | -1/+2 |
| | | | | | | | | declaration, since attributes that affect mangling may have been added to subsequent declarations. However, to determine the linkage of the declaration, we need to look at the canonical declaration. Fixes PR4412. llvm-svn: 85400 | ||||
* | Add mangling for VTTs. | Mike Stump | 2009-10-28 | 1 | -0/+7 |
| | | | | llvm-svn: 85363 | ||||
* | When building types from declarators, instead of building two types (one for | John McCall | 2009-10-22 | 1 | -1/+6 |
| | | | | | | | | | | | | | | | | | | | | | the DeclaratorInfo, one for semantic analysis), just build a single type whose canonical type will reflect the semantic analysis (assuming the type is well-formed, of course). To make that work, make a few changes to the type system: * allow the nominal pointee type of a reference type to be a (possibly sugared) reference type. Also, preserve the original spelling of the reference type. Both of these can be ignored on canonical reference types. * Remove ObjCProtocolListType and preserve the associated source information on the various ObjC TypeLocs. Preserve the spelling of protocol lists except in the canonical form. * Preserve some level of source type structure on parameter types, but canonicalize on the canonical function type. This is still a WIP. Drops code size, makes strides towards accurate source location representation, slight (~1.7%) progression on Cocoa.h because of complexity drop. llvm-svn: 84907 | ||||
* | PR5218: Replace IdentifierInfo::getName with StringRef version, now that clients | Daniel Dunbar | 2009-10-18 | 1 | -1/+1 |
| | | | | | | are updated. llvm-svn: 84447 | ||||
* | Move misc clients to IdentifierInfo StringRef API. | Daniel Dunbar | 2009-10-18 | 1 | -4/+1 |
| | | | | | | | | | - strcmp -> == - OS.write(II->getName() ...) -> OS << II->getNameStr() - Avoid std::string concatenation - Use getNameStr().str() when an std::string is really needed. llvm-svn: 84437 | ||||
* | Builtin types are subsitutable if they are qualified. Fixes PR5196. | Anders Carlsson | 2009-10-16 | 1 | -1/+1 |
| | | | | llvm-svn: 84237 | ||||
* | Change mangleCXXVtable and mangleCXXRtti to take CXXRecordDecls instead of ↵ | Anders Carlsson | 2009-10-11 | 1 | -10/+10 |
| | | | | | | QualTypes. llvm-svn: 83793 | ||||
* | Mangle std::basic_ostream<char, std::char_traits<char>> as So. | Anders Carlsson | 2009-10-08 | 1 | -0/+18 |
| | | | | llvm-svn: 83557 | ||||
* | Mangle anonymous structs/unions correctly. Fixes PR5139. | Anders Carlsson | 2009-10-07 | 1 | -3/+34 |
| | | | | llvm-svn: 83448 | ||||
* | Add a MangleContext and pass it to all mangle functions. It will be used for ↵ | Anders Carlsson | 2009-10-07 | 1 | -20/+22 |
| | | | | | | keeping state, such as identifiers assigned to anonymous structs as well as scope encoding. llvm-svn: 83442 | ||||
* | When mangling names, always use the canonical decl. Fixes PR5144. | Anders Carlsson | 2009-10-06 | 1 | -1/+1 |
| | | | | llvm-svn: 83420 | ||||
* | Anonymous namespaces, sema + codegen. A lot of semantics are still broken, | John McCall | 2009-10-01 | 1 | -3/+11 |
| | | | | | | apparently because using directives aren't quite working correctly. llvm-svn: 83184 | ||||
* | Mangle dependent name expressions. Fixes PR5063. | Anders Carlsson | 2009-09-27 | 1 | -0/+20 |
| | | | | llvm-svn: 82915 | ||||
* | Use mangleTemplatePrefix when we know that we're mangling a nested template ↵ | Anders Carlsson | 2009-09-27 | 1 | -2/+4 |
| | | | | | | name. llvm-svn: 82912 | ||||
* | Look for substitutions when mangling TypenameTypes. | Anders Carlsson | 2009-09-27 | 1 | -3/+6 |
| | | | | llvm-svn: 82885 | ||||
* | Better template parameter type mangling. | Anders Carlsson | 2009-09-27 | 1 | -11/+18 |
| | | | | llvm-svn: 82883 | ||||
* | Mangle std::basic_string<char, std::char_traits<char>, std::allocator<char> ↵ | Anders Carlsson | 2009-09-27 | 1 | -0/+63 |
| | | | | | | > as Ss. llvm-svn: 82882 | ||||
* | Mangle ::std::basic_string as Sb. | Anders Carlsson | 2009-09-26 | 1 | -0/+6 |
| | | | | llvm-svn: 82881 | ||||
* | Mangle ::std::allocator as Sa. | Anders Carlsson | 2009-09-26 | 1 | -11/+19 |
| | | | | llvm-svn: 82880 | ||||
* | Handle substitutions in mangleTemplatePrefix. | Anders Carlsson | 2009-09-26 | 1 | -1/+6 |
| | | | | llvm-svn: 82879 | ||||
* | Substitute "::std::" as "St". | Anders Carlsson | 2009-09-26 | 1 | -1/+22 |
| | | | | llvm-svn: 82874 | ||||
* | Don't crash when trying to mangle function templates. | Anders Carlsson | 2009-09-26 | 1 | -2/+2 |
| | | | | llvm-svn: 82872 | ||||
* | mangleTemplatePrefix and mangleUnscopedTemplateName should take a TemplateDecl. | Anders Carlsson | 2009-09-26 | 1 | -10/+9 |
| | | | | llvm-svn: 82871 | ||||
* | Mangle record types as decls. | Anders Carlsson | 2009-09-26 | 1 | -1/+17 |
| | | | | llvm-svn: 82843 | ||||
* | Change isTemplate to return the actual template declaration. | Anders Carlsson | 2009-09-26 | 1 | -5/+5 |
| | | | | llvm-svn: 82839 | ||||
* | Improve mangling of typename types. | Anders Carlsson | 2009-09-26 | 1 | -1/+16 |
| | | | | llvm-svn: 82833 | ||||
* | Refactor the representation of qualifiers to bring ExtQualType out of the | John McCall | 2009-09-24 | 1 | -17/+14 |
| | | | | | | | | Type hierarchy. Demote 'volatile' to extended-qualifier status. Audit our use of qualifiers and fix a few places that weren't dealing with qualifiers quite right; many more remain. llvm-svn: 82705 | ||||
* | CXXMethodDecls should always be mangled, even if they are inside an extern ↵ | Anders Carlsson | 2009-09-22 | 1 | -1/+4 |
| | | | | | | "C" block. Fixes PR5017. llvm-svn: 82567 | ||||
* | Don't assert that linkage decls are always C++, it's not true. Fixes PR5019. | Anders Carlsson | 2009-09-22 | 1 | -4/+1 |
| | | | | llvm-svn: 82557 | ||||
* | Change all the Type::getAsFoo() methods to specializations of Type::getAs(). | John McCall | 2009-09-21 | 1 | -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 | ||||
* | Start mangling expressions. | Anders Carlsson | 2009-09-21 | 1 | -3/+41 |
| | | | | llvm-svn: 82423 | ||||
* | More mangling work. | Anders Carlsson | 2009-09-18 | 1 | -7/+9 |
| | | | | llvm-svn: 82265 | ||||
* | Make the mangler conform even better to the grammar. | Anders Carlsson | 2009-09-18 | 1 | -12/+8 |
| | | | | llvm-svn: 82262 | ||||
* | More mangler mangling. | Anders Carlsson | 2009-09-18 | 1 | -12/+26 |
| | | | | llvm-svn: 82250 | ||||
* | Call mangleTemplatePrefix. | Anders Carlsson | 2009-09-18 | 1 | -5/+7 |
| | | | | llvm-svn: 82247 | ||||
* | Change manglePrefix to return early if the DC is the translation unit. | Anders Carlsson | 2009-09-18 | 1 | -2/+4 |
| | | | | llvm-svn: 82246 | ||||
* | More mangling goodness. | Anders Carlsson | 2009-09-18 | 1 | -20/+42 |
| | | | | llvm-svn: 82193 | ||||
* | Handle mangling of TemplateSpecializationType. | Anders Carlsson | 2009-09-18 | 1 | -7/+58 |
| | | | | llvm-svn: 82189 | ||||
* | Ignore extern "C++" { } when mangling. | Anders Carlsson | 2009-09-17 | 1 | -3/+9 |
| | | | | llvm-svn: 82146 | ||||
* | Revert r82123 for now. | Anders Carlsson | 2009-09-17 | 1 | -21/+14 |
| | | | | llvm-svn: 82125 | ||||
* | Treat an unqualified RecordType as a RecordDecl when substituting. | Anders Carlsson | 2009-09-17 | 1 | -14/+21 |
| | | | | llvm-svn: 82123 | ||||
* | Substitution for prefixes. | Anders Carlsson | 2009-09-17 | 1 | -3/+12 |
| | | | | llvm-svn: 82122 | ||||
* | Substitute unscoped template names. | Anders Carlsson | 2009-09-17 | 1 | -0/+4 |
| | | | | llvm-svn: 82119 |