summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/ItaniumMangle.cpp
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2015-04-13 20:03:03 +0000
committerNico Weber <nicolasweber@gmx.de>2015-04-13 20:03:03 +0000
commitf2a39a7b4e7028e4eefbffd6165a8e59d4df7c5d (patch)
treee9860c36153c06afef93abee62ef2921d37907e2 /clang/lib/AST/ItaniumMangle.cpp
parentb31abb05fbbdbefecc15a5b9f3c054d8a2ce1a9f (diff)
downloadbcm5719-llvm-f2a39a7b4e7028e4eefbffd6165a8e59d4df7c5d.tar.gz
bcm5719-llvm-f2a39a7b4e7028e4eefbffd6165a8e59d4df7c5d.zip
Revert r234786, it contained a bunch of stuff I did not mean to commit.
llvm-svn: 234787
Diffstat (limited to 'clang/lib/AST/ItaniumMangle.cpp')
-rw-r--r--clang/lib/AST/ItaniumMangle.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/AST/ItaniumMangle.cpp b/clang/lib/AST/ItaniumMangle.cpp
index f890719c209..6e55655d85b 100644
--- a/clang/lib/AST/ItaniumMangle.cpp
+++ b/clang/lib/AST/ItaniumMangle.cpp
@@ -166,6 +166,8 @@ public:
raw_ostream &Out) override;
void mangleSEHFilterExpression(const NamedDecl *EnclosingDecl,
raw_ostream &Out) override;
+ void mangleSEHFinallyBlock(const NamedDecl *EnclosingDecl,
+ raw_ostream &Out) override;
void mangleItaniumThreadLocalInit(const VarDecl *D, raw_ostream &) override;
void mangleItaniumThreadLocalWrapper(const VarDecl *D,
raw_ostream &) override;
@@ -3967,6 +3969,16 @@ void ItaniumMangleContextImpl::mangleSEHFilterExpression(
Mangler.getStream() << EnclosingDecl->getName();
}
+void ItaniumMangleContextImpl::mangleSEHFinallyBlock(
+ const NamedDecl *EnclosingDecl, raw_ostream &Out) {
+ CXXNameMangler Mangler(*this, Out);
+ Mangler.getStream() << "__fin_";
+ if (shouldMangleDeclName(EnclosingDecl))
+ Mangler.mangle(EnclosingDecl);
+ else
+ Mangler.getStream() << EnclosingDecl->getName();
+}
+
void ItaniumMangleContextImpl::mangleItaniumThreadLocalInit(const VarDecl *D,
raw_ostream &Out) {
// <special-name> ::= TH <object name>
OpenPOWER on IntegriCloud