From 8b1b4136a0cce28ab2740473be215d22e3b005a9 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Fri, 26 Oct 2012 09:14:38 +0000 Subject: Fix CPP backend for method attributes by creating a block where a new AttrBuilder is defined for each attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166762 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/CppBackend/CPPBackend.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'lib/Target/CppBackend') diff --git a/lib/Target/CppBackend/CPPBackend.cpp b/lib/Target/CppBackend/CPPBackend.cpp index 61fb4e98ec..dd00b7d48b 100644 --- a/lib/Target/CppBackend/CPPBackend.cpp +++ b/lib/Target/CppBackend/CPPBackend.cpp @@ -476,11 +476,11 @@ void CppWriter::printAttributes(const AttrListPtr &PAL, unsigned index = PAL.getSlot(i).Index; AttrBuilder attrs(PAL.getSlot(i).Attrs); Out << "PAWI.Index = " << index << "U;\n"; - Out << " AttrBuilder B;\n"; + Out << " {\n AttrBuilder B;\n"; #define HANDLE_ATTR(X) \ if (attrs.hasAttribute(Attributes::X)) \ - Out << " B.addAttribute(Attributes::" #X ");\n"; \ + Out << " B.addAttribute(Attributes::" #X ");\n"; \ attrs.removeAttribute(Attributes::X); HANDLE_ATTR(SExt); @@ -509,11 +509,10 @@ void CppWriter::printAttributes(const AttrListPtr &PAL, HANDLE_ATTR(NonLazyBind); #undef HANDLE_ATTR if (attrs.hasAttribute(Attributes::StackAlignment)) - Out << "B.addStackAlignmentAttr(" << attrs.getStackAlignment() << ")"; - nl(Out); + Out << " B.addStackAlignmentAttr(" << attrs.getStackAlignment() << ")\n"; attrs.removeAttribute(Attributes::StackAlignment); assert(!attrs.hasAttributes() && "Unhandled attribute!"); - Out << "PAWI.Attrs = Attributes::get(mod->getContext(), B);"; + Out << " PAWI.Attrs = Attributes::get(mod->getContext(), B);\n }"; nl(Out); Out << "Attrs.push_back(PAWI);"; nl(Out); -- cgit v1.2.3