From de47dfab1d30fac77bc7c3e0cd0668321b88136a Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 11 Mar 2010 22:56:10 +0000 Subject: [PATCH] enhance MCContext::GetOrCreateTemporarySymbol() to create a new symbol with an arbitrary unique name. llvm-svn: 98294 --- lib/MC/MCContext.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/MC/MCContext.cpp b/lib/MC/MCContext.cpp index 46eb02f32cc..78d6a77dfb8 100644 --- a/lib/MC/MCContext.cpp +++ b/lib/MC/MCContext.cpp @@ -8,6 +8,7 @@ //===----------------------------------------------------------------------===// #include "llvm/MC/MCContext.h" +#include "llvm/MC/MCAsmInfo.h" #include "llvm/MC/MCSection.h" #include "llvm/MC/MCSymbol.h" #include "llvm/ADT/SmallString.h" @@ -38,6 +39,11 @@ MCSymbol *MCContext::GetOrCreateSymbol(const Twine &Name) { MCSymbol *MCContext::GetOrCreateTemporarySymbol(StringRef Name) { + // If there is no name, create a new anonymous symbol. + if (Name.empty()) + return GetOrCreateTemporarySymbol(Twine(MAI.getPrivateGlobalPrefix()) + + "tmp" + Twine(NextUniqueID++)); + // Otherwise create as usual. MCSymbol *&Entry = Symbols[Name]; if (Entry) return Entry;