summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/Mangle.h
Commit message (Collapse)AuthorAgeFilesLines
* Work-in-progress: teach mangler how to mangle thunks for destructors.Eli Friedman2009-12-031-0/+3
| | | | llvm-svn: 90360
* Change rtti/Rtti to RTTI, as it is an acronym.Mike Stump2009-12-021-2/+2
| | | | llvm-svn: 90334
* Add a CovariantThunkAdjustment struct that represents the adjustments needed ↵Anders Carlsson2009-11-261-2/+3
| | | | | | for a covariant thunk. llvm-svn: 89933
* Move the mangler into the CodeGen namespace. Change mangleThunk to take a ↵Anders Carlsson2009-11-261-9/+13
| | | | | | ThunkAdjustment. llvm-svn: 89930
* Add a ThunkAdjustment struct which holds a non-virtual and a virtual ↵Anders Carlsson2009-11-261-1/+2
| | | | | | adjustment offset. Start using it. General cleanup in Mangle.cpp. llvm-svn: 89925
* Mangler: Lift shouldMangleDeclName predicate out of CXXNameMangler::mangle.Daniel Dunbar2009-11-211-1/+3
| | | | | | | | - 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
* IRgen: Switch the C++ mangler interfaces to take the SmallVector to write into,Daniel Dunbar2009-11-211-12/+15
| | | | | | | 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-211-46/+44
| | | | llvm-svn: 89547
* Mangling support for typeinfo names.Mike Stump2009-11-141-0/+2
| | | | llvm-svn: 88726
* Add mangling for the construction vtable.Mike Stump2009-11-101-0/+3
| | | | llvm-svn: 86643
* Fix thinko, mangleCXXRtti should obviously take a QualType!Anders Carlsson2009-10-301-1/+1
| | | | llvm-svn: 85565
* mangleCXXRtti obviously needs to take a type, what was I thinking...Anders Carlsson2009-10-301-1/+1
| | | | llvm-svn: 85555
* Add mangling for VTTs.Mike Stump2009-10-281-0/+2
| | | | llvm-svn: 85363
* Change mangleCXXVtable and mangleCXXRtti to take CXXRecordDecls instead of ↵Anders Carlsson2009-10-111-2/+4
| | | | | | QualTypes. llvm-svn: 83793
* Mangle anonymous structs/unions correctly. Fixes PR5139.Anders Carlsson2009-10-071-0/+11
| | | | llvm-svn: 83448
* Add a MangleContext and pass it to all mangle functions. It will be used for ↵Anders Carlsson2009-10-071-12/+22
| | | | | | keeping state, such as identifiers assigned to anonymous structs as well as scope encoding. llvm-svn: 83442
* Add basic covariant thunk generation support. WIP.Mike Stump2009-09-111-4/+3
| | | | llvm-svn: 81585
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-3/+3
| | | | llvm-svn: 81346
* Refine vcall offsets. Cleanups. WIP.Mike Stump2009-09-071-1/+2
| | | | llvm-svn: 81143
* Install thunks later to fixup overrides. Track space taken by vbaseMike Stump2009-09-051-1/+1
| | | | | | offsets better for thunk refinements. Cleanups. WIP. llvm-svn: 81067
* Add mangling for covariant thunks.Mike Stump2009-09-021-0/+4
| | | | llvm-svn: 80747
* Shorten name.Mike Stump2009-09-021-2/+2
| | | | llvm-svn: 80744
* Add mangling for thunks.Mike Stump2009-09-021-0/+2
| | | | llvm-svn: 80743
* Add beginnigs of rtti generation, wire up more of -fno-exceptions.Mike Stump2009-07-311-0/+1
| | | | llvm-svn: 77751
* Add code to setup the vtable pointer in the constructor. Work in progress.Mike Stump2009-07-311-0/+2
| | | | llvm-svn: 77699
* Add support for generating (very basic) C++ destructors. These aren't called ↵Anders Carlsson2009-04-171-0/+3
| | | | | | by anything yet. llvm-svn: 69343
* Add support for mangling C++ constructors. Review appreciated (I'm looking ↵Anders Carlsson2009-04-151-0/+5
| | | | | | at you, Doug) llvm-svn: 69150
* Add support for mangling guard variables.Anders Carlsson2009-04-131-1/+4
| | | | llvm-svn: 68969
* fix several problems with asm renaming, by pulling it into the mangling code:Chris Lattner2009-03-211-0/+1
| | | | | | | | 1. it wasn't applying to definitions, only declarations, e.g. int x __asm("foo") 2. multiple definitions were conflicting, they weren't getting merged. 3. the code was duplicated in several places. llvm-svn: 67442
* Address Chris's comments regarding C++ name mangling.Douglas Gregor2009-02-181-1/+1
| | | | llvm-svn: 64984
* Add basic support for C++ name mangling according to the Itanium C++Douglas Gregor2009-02-131-0/+32
ABI to the CodeGen library. Since C++ code-generation is so incomplete, we can't exercise much of this mangling code. However, a few smoke tests show that it's doing the same thing as GCC. When C++ codegen matures, we'll extend the ABI tester to verify name-mangling as well, and complete the implementation here. At this point, the major client of name mangling is in the uses of the new "overloadable" attribute in C, which allows overloading. Any "overloadable" function in C (or in an extern "C" block in C++) will be mangled the same way that the corresponding C++ function would be mangled. llvm-svn: 64413
OpenPOWER on IntegriCloud