From bb3e5d4f6e749c5ebd539a437f5ed4380635bcd4 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 2 Feb 2003 16:40:20 +0000 Subject: [PATCH] Fix bug: Assembler/2003-02-02-ConstGlobal.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5467 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/AsmParser/llvmAsmParser.y | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 1189bb3706d..fd86d50ead8 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -510,16 +510,16 @@ static bool setValueName(Value *V, char *NameStr) { // 1. If at least one of the globals is uninitialized or // 2. If both initializers have the same value. // - // This can only be done if the const'ness of the vars is the same. - // if (GlobalVariable *GV = dyn_cast(V)) { - if (EGV->isConstant() == GV->isConstant() && - (!EGV->hasInitializer() || !GV->hasInitializer() || - EGV->getInitializer() == GV->getInitializer())) { + if (!EGV->hasInitializer() || !GV->hasInitializer() || + EGV->getInitializer() == GV->getInitializer()) { - // Make sure the existing global version gets the initializer! + // Make sure the existing global version gets the initializer! Make + // sure that it also gets marked const if the new version is. if (GV->hasInitializer() && !EGV->hasInitializer()) EGV->setInitializer(GV->getInitializer()); + if (GV->isConstant()) + EGV->setConstant(true); delete GV; // Destroy the duplicate! return true; // They are equivalent!