Index: lib/AsmParser/LLLexer.cpp =================================================================== --- lib/AsmParser/LLLexer.cpp +++ lib/AsmParser/LLLexer.cpp @@ -105,7 +105,7 @@ Pair[1] += hexDigitValue(*Buffer); } Pair[0] = 0; - for (int i=0; i<16; i++, Buffer++) { + for (int i = 0; i < 16 && Buffer != End; i++, Buffer++) { Pair[0] *= 16; Pair[0] += hexDigitValue(*Buffer); } Index: test/Assembler/invalid-fp80hex.ll =================================================================== --- /dev/null +++ test/Assembler/invalid-fp80hex.ll @@ -0,0 +1,6 @@ +; RUN: not llvm-as < %s 2>&1 | FileCheck %s + +; Tests bug: 24640 +; CHECK: expected '=' in global variable + +@- 0xKate potb8ed