aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Linker/LinkModules.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Linker/LinkModules.cpp')
-rw-r--r--lib/Linker/LinkModules.cpp58
1 files changed, 0 insertions, 58 deletions
diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp
index 2be5698..3e8a35c 100644
--- a/lib/Linker/LinkModules.cpp
+++ b/lib/Linker/LinkModules.cpp
@@ -16,8 +16,6 @@
#include "llvm/SymbolTable.h"
#include "llvm/DerivedTypes.h"
#include "llvm/iOther.h"
-#include "string"
-
// Error - Simple wrapper function to conditionally assign to E and return true.
// This just makes error return conditions a little bit simpler...
@@ -353,59 +351,3 @@ bool LinkModules(Module *Dest, const Module *Src, string *ErrorMsg = 0) {
return false;
}
-
-// MangleTypeName - Implement a consistent name-mangling scheme for
-// a given type.
-//
-string
-MangleTypeName(const Type* type)
-{
- string mangledName;
-
- if (type->isPrimitiveType())
- {
- const string& longName = type->getDescription();
- mangledName = string(longName.c_str(), (longName.length() < 2)? 1 : 2);
- }
- else if (type->getPrimitiveID() == Type::PointerTyID)
- {
- PointerType* ptype = (PointerType*) type;
- mangledName = string("P_" + MangleTypeName(ptype->getValueType()));
- }
- else if (type->getPrimitiveID() == Type::StructTyID)
- {
- StructType* stype = (StructType*) type;
- mangledName = string("S_");
- for (unsigned i=0; i < stype->getNumContainedTypes(); ++i)
- mangledName += string(MangleTypeName(stype->getContainedType(i)));
- }
- else if (type->getPrimitiveID() == Type::ArrayTyID)
- {
- ArrayType* atype = (ArrayType*) type;
- mangledName = string("A_" +MangleTypeName(atype->getElementType()));
- }
- else if (type->getPrimitiveID() == Type::MethodTyID)
- {
- MethodType* mtype = (MethodType*) type;
- mangledName = string("M_") + MangleTypeName(mtype->getReturnType());
- for (unsigned i=1; i < mtype->getNumContainedTypes(); ++i)
- mangledName += string(MangleTypeName(mtype->getContainedType(i)));
- }
-
- return mangledName;
-}
-
-
-// mangleName - implement a consistent name-mangling scheme for all
-// externally visible (i.e., global) objects.
-// privateName should be unique within the module.
-//
-string
-MangleName(const string& privateName, const Value* V)
-{
- // Lets drop the P_ before every global name since all globals are ptrs
- return privateName + "_" +
- MangleTypeName((isa<GlobalValue>(V)
- ? cast<GlobalValue>(V)->getType()->getValueType()
- : V->getType()));
-}