From 1d050112f72c87bb1a53d2218c793ff44537dcef Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 28 Oct 2001 23:31:10 +0000 Subject: [PATCH] Initial checkin of name mangling code. Moved from Linker.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1017 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/NameMangling.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 include/llvm/Support/NameMangling.h diff --git a/include/llvm/Support/NameMangling.h b/include/llvm/Support/NameMangling.h new file mode 100644 index 00000000000..67e68c77380 --- /dev/null +++ b/include/llvm/Support/NameMangling.h @@ -0,0 +1,27 @@ +//===- llvm/Support/NameMangling.h - Name Mangling for LLVM ------*- C++ -*--=// +// +// This file implements a consistent scheme for name mangling symbols. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_SUPPORT_NAMEMANGLING_H +#define LLVM_SUPPORT_NAMEMANGLING_H + +#include +class Type; +class Value; + +// MangleTypeName - Implement a consistent name-mangling scheme for +// a given type. +// +string MangleTypeName(const Type *type); + +// 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); + +#endif +