[llvm] [AsmParser] Fix crash when hex literal exceeds 16-bit float range (PR #172669)

Miloš Poletanović via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 23 03:59:17 PST 2025


================
@@ -1129,16 +1129,26 @@ lltok::Kind LLLexer::Lex0x() {
     HexToIntPair(TokStart+3, CurPtr, Pair);
     APFloatVal = APFloat(APFloat::PPCDoubleDouble(), APInt(128, Pair));
     return lltok::APFloat;
-  case 'H':
-    APFloatVal = APFloat(APFloat::IEEEhalf(),
-                         APInt(16,HexIntToVal(TokStart+3, CurPtr)));
+  case 'H': {
+    uint64_t Val = HexIntToVal(TokStart + 3, CurPtr);
+    if (!llvm::isUIntN(16, Val)) {
----------------
milos1397 wrote:

sure

https://github.com/llvm/llvm-project/pull/172669


More information about the llvm-commits mailing list