From 268b576b723810d06e971f7f49b6723da256d429 Mon Sep 17 00:00:00 2001 From: John McCall Date: Sat, 24 Jul 2010 01:17:35 +0000 Subject: Mangle enum constant expressions. Fixes rdar://problem/8204122 llvm-svn: 109315 --- clang/lib/CodeGen/Mangle.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'clang/lib/CodeGen/Mangle.cpp') diff --git a/clang/lib/CodeGen/Mangle.cpp b/clang/lib/CodeGen/Mangle.cpp index f408849e95e..b5f629aeb54 100644 --- a/clang/lib/CodeGen/Mangle.cpp +++ b/clang/lib/CodeGen/Mangle.cpp @@ -1873,6 +1873,12 @@ void CXXNameMangler::mangleExpression(const Expr *E) { Out << 'E'; break; + case Decl::EnumConstant: { + const EnumConstantDecl *ED = cast(D); + mangleIntegerLiteral(ED->getType(), ED->getInitVal()); + break; + } + case Decl::NonTypeTemplateParm: { const NonTypeTemplateParmDecl *PD = cast(D); mangleTemplateParameter(PD->getIndex()); -- cgit v1.2.3