aboutsummaryrefslogtreecommitdiff
path: root/include/clang/AST
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-10-16 01:40:34 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-10-16 01:40:34 +0000
commitd6be277ba4bf271c6de8ffcc8c46f060c8cbd4d5 (patch)
treef9ab0a0466e03f7f692bbf76ccd2f73bcb4982fc /include/clang/AST
parent7a3dfcdfb32c08f2f6f4a90a097bb240fdc1a94c (diff)
downloadclang-d6be277ba4bf271c6de8ffcc8c46f060c8cbd4d5.tar.gz
On 32 bit windows, mangle stdcall and fastcall decls in clang.
This removes the dependency on the llvm mangler doing it for us. In isolation, the benefit is that the testing of what mangling is applied is all in one place: (C, C++) X (Itanium, Microsoft) are all handled by clang. This also gives me hope that in the future the llvm mangler (and llvm-ar) will not depend on TargetMachine. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192762 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/AST')
-rw-r--r--include/clang/AST/Mangle.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/clang/AST/Mangle.h b/include/clang/AST/Mangle.h
index 76d099f938..d2e5325447 100644
--- a/include/clang/AST/Mangle.h
+++ b/include/clang/AST/Mangle.h
@@ -108,10 +108,12 @@ public:
/// @name Mangler Entry Points
/// @{
- virtual bool shouldMangleDeclName(const NamedDecl *D) = 0;
+ bool shouldMangleDeclName(const NamedDecl *D);
+ virtual bool shouldMangleCXXName(const NamedDecl *D) = 0;
// FIXME: consider replacing raw_ostream & with something like SmallString &.
- virtual void mangleName(const NamedDecl *D, raw_ostream &) = 0;
+ void mangleName(const NamedDecl *D, raw_ostream &);
+ virtual void mangleCXXName(const NamedDecl *D, raw_ostream &) = 0;
virtual void mangleThunk(const CXXMethodDecl *MD,
const ThunkInfo &Thunk,
raw_ostream &) = 0;