Fix PR3372

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63501 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2009-02-02 07:24:28 +00:00
parent f5db1fbf7a
commit 91dad87ddc
2 changed files with 9 additions and 2 deletions

View File

@ -471,8 +471,9 @@ bool LLParser::ParseGlobal(const std::string &Name, LocTy NameLoc,
GlobalVariable *GV = 0;
// See if the global was forward referenced, if so, use the global.
if (!Name.empty() && (GV = M->getGlobalVariable(Name, true))) {
if (!ForwardRefVals.erase(Name))
if (!Name.empty()) {
if ((GV = M->getGlobalVariable(Name, true)) &&
!ForwardRefVals.erase(Name))
return Error(NameLoc, "redefinition of global '@" + Name + "'");
} else {
std::map<unsigned, std::pair<GlobalValue*, LocTy> >::iterator

View File

@ -0,0 +1,6 @@
; RUN: llvm-as < %s | llvm-dis
; PR3372
@X = global i32* @0
global i32 4