summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/Mangle.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Mangle std::basic_ostream<char, std::char_traits<char>> as So.Anders Carlsson2009-10-081-0/+18
| | | | llvm-svn: 83557
* Mangle anonymous structs/unions correctly. Fixes PR5139.Anders Carlsson2009-10-071-3/+34
| | | | llvm-svn: 83448
* Add a MangleContext and pass it to all mangle functions. It will be used for ↵Anders Carlsson2009-10-071-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 Carlsson2009-10-061-1/+1
| | | | llvm-svn: 83420
* Anonymous namespaces, sema + codegen. A lot of semantics are still broken,John McCall2009-10-011-3/+11
| | | | | | apparently because using directives aren't quite working correctly. llvm-svn: 83184
* 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
* 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
* Mangle record types as decls.Anders Carlsson2009-09-261-1/+17
| | | | llvm-svn: 82843
* Change isTemplate to return the actual template declaration.Anders Carlsson2009-09-261-5/+5
| | | | llvm-svn: 82839
* Improve mangling of typename types.Anders Carlsson2009-09-261-1/+16
| | | | llvm-svn: 82833
* Refactor the representation of qualifiers to bring ExtQualType out of theJohn McCall2009-09-241-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 Carlsson2009-09-221-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 Carlsson2009-09-221-4/+1
| | | | llvm-svn: 82557
* Change all the Type::getAsFoo() methods to specializations of Type::getAs().John McCall2009-09-211-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 Carlsson2009-09-211-3/+41
| | | | llvm-svn: 82423
* More mangling work.Anders Carlsson2009-09-181-7/+9
| | | | llvm-svn: 82265
* Make the mangler conform even better to the grammar.Anders Carlsson2009-09-181-12/+8
| | | | llvm-svn: 82262
* More mangler mangling.Anders Carlsson2009-09-181-12/+26
| | | | llvm-svn: 82250
* Call mangleTemplatePrefix.Anders Carlsson2009-09-181-5/+7
| | | | llvm-svn: 82247
* Change manglePrefix to return early if the DC is the translation unit.Anders Carlsson2009-09-181-2/+4
| | | | llvm-svn: 82246
* More mangling goodness.Anders Carlsson2009-09-181-20/+42
| | | | llvm-svn: 82193
* Handle mangling of TemplateSpecializationType.Anders Carlsson2009-09-181-7/+58
| | | | llvm-svn: 82189
* Ignore extern "C++" { } when mangling.Anders Carlsson2009-09-171-3/+9
| | | | llvm-svn: 82146
* Revert r82123 for now.Anders Carlsson2009-09-171-21/+14
| | | | llvm-svn: 82125
* Treat an unqualified RecordType as a RecordDecl when substituting.Anders Carlsson2009-09-171-14/+21
| | | | llvm-svn: 82123
* Substitution for prefixes.Anders Carlsson2009-09-171-3/+12
| | | | llvm-svn: 82122
* Substitute unscoped template names.Anders Carlsson2009-09-171-0/+4
| | | | llvm-svn: 82119
* Add mangleSubstitution/addSubstitution variants that take a NamedDecl.Anders Carlsson2009-09-171-3/+20
| | | | llvm-svn: 82116
* When mangling function template specialization, mangle the type encoding of ↵Anders Carlsson2009-09-171-5/+9
| | | | | | the original function template. Also, port mangle.cpp and function-template-specialization.cpp over to using FileCheck. llvm-svn: 82114
* Add new functions to the mangler for the <unscoped-name> and ↵Anders Carlsson2009-09-171-8/+25
| | | | | | <unscoped-template-name> productions. llvm-svn: 82113
* Add basic substitution to the C++ mangler. It currently only looks at types.Anders Carlsson2009-09-171-8/+72
| | | | llvm-svn: 82102
* We can't have ctors in the vtable (right Doug?) :-)Mike Stump2009-09-121-4/+0
| | | | llvm-svn: 81619
* Remove unnecessary ASTContext parameters from isMain and isExternCDouglas Gregor2009-09-121-1/+1
| | | | llvm-svn: 81589
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-61/+60
| | | | llvm-svn: 81346
* Refine vcall offsets. Cleanups. WIP.Mike Stump2009-09-071-16/+17
| | | | llvm-svn: 81143
* Overhaul the mangler to use a visitor pattern, at least for types. We can ↵John McCall2009-09-051-96/+134
| | | | | | | | | | | safely ignore non-canonical type classes, but apparently we need to know how to mangle dependent names. The missing cases are much more obvious now. llvm-svn: 81070
* Install thunks later to fixup overrides. Track space taken by vbaseMike Stump2009-09-051-21/+16
| | | | | | offsets better for thunk refinements. Cleanups. WIP. llvm-svn: 81067
* Start emitting ElaboratedTypes in C++ mode. Support the effort in variousJohn McCall2009-09-051-0/+3
| | | | | | | | ways: remove elab types during desugaring, enhance pretty-printing to allow tags to be suppressed without suppressing scopes, look through elab types when associating a typedef name with an anonymous record type. llvm-svn: 81065
* Add mangling for covariant thunks.Mike Stump2009-09-021-6/+48
| | | | llvm-svn: 80747
* Shorten name.Mike Stump2009-09-021-7/+6
| | | | llvm-svn: 80744
* Add mangling for thunks.Mike Stump2009-09-021-22/+72
| | | | llvm-svn: 80743
OpenPOWER on IntegriCloud