From fc4aefb129162a708ebd9a99cc166876613ef8d1 Mon Sep 17 00:00:00 2001 From: Victor Hernandez Date: Tue, 12 Jan 2010 23:37:59 +0000 Subject: Make WriteConstants() more robust against stray values in ValueEnumerator's ValueList llvm-svn: 93270 --- llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp') diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp index 26c922a7810c..fd1bade8f15d 100644 --- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -688,6 +688,11 @@ static void WriteConstants(unsigned FirstVal, unsigned LastVal, Record.clear(); continue; } + + // Ignore all values in ValueList except for Constants. + if (V && (isa(V) || isa(V))) + continue; + const Constant *C = cast(V); unsigned Code = -1U; unsigned AbbrevToUse = 0; -- cgit v1.2.3