summaryrefslogtreecommitdiffstats
path: root/llvm/lib/AsmParser
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2007-09-12 03:30:33 +0000
committerDale Johannesen <dalej@apple.com>2007-09-12 03:30:33 +0000
commit028084efe5a297af30f17ab0f82d3bf86199372f (patch)
tree18f308de05f1332e6f12226bef3fd98a3b7a57c0 /llvm/lib/AsmParser
parent521988b604c42f28eca7910e428feb8f221f9314 (diff)
downloadbcm5719-llvm-028084efe5a297af30f17ab0f82d3bf86199372f.tar.gz
bcm5719-llvm-028084efe5a297af30f17ab0f82d3bf86199372f.zip
Revise previous patch per review comments.
Next round of x87 long double stuff. Getting close now, basically works. llvm-svn: 41875
Diffstat (limited to 'llvm/lib/AsmParser')
-rw-r--r--llvm/lib/AsmParser/Lexer.l12
-rw-r--r--llvm/lib/AsmParser/llvmAsmParser.y2
2 files changed, 7 insertions, 7 deletions
diff --git a/llvm/lib/AsmParser/Lexer.l b/llvm/lib/AsmParser/Lexer.l
index 5acbbacf60f..73e9c547712 100644
--- a/llvm/lib/AsmParser/Lexer.l
+++ b/llvm/lib/AsmParser/Lexer.l
@@ -284,8 +284,8 @@ void { RET_TY(Type::VoidTy, VOID); }
float { RET_TY(Type::FloatTy, FLOAT); }
double { RET_TY(Type::DoubleTy,DOUBLE);}
x86_fp80 { RET_TY(Type::X86_FP80Ty, X86_FP80);}
-fp128 { RET_TY(Type::FP128Ty, FP128);}
-ppc_fp128 { RET_TY(Type::PPC_FP128Ty, PPC_FP128);}
+fp128 { RET_TY(Type::FP128Ty, FP128);}
+ppc_fp128 { RET_TY(Type::PPC_FP128Ty, PPC_FP128);}
label { RET_TY(Type::LabelTy, LABEL); }
type { return TYPE; }
opaque { return OPAQUE; }
@@ -477,21 +477,21 @@ shufflevector { RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
}
{FPConstant} { llvmAsmlval.FPVal = new APFloat(atof(yytext)); return FPVAL; }
-{HexFPConstant} { llvmAsmlval.FPVal = new APFloat(HexToFP(yytext));
+{HexFPConstant} { llvmAsmlval.FPVal = new APFloat(HexToFP(yytext+2));
return FPVAL;
}
{HexFP80Constant} { uint64_t Pair[2];
- HexToIntPair(yytext, Pair);
+ HexToIntPair(yytext+3, Pair);
llvmAsmlval.FPVal = new APFloat(APInt(80, 2, Pair));
return FPVAL;
}
{HexFP128Constant} { uint64_t Pair[2];
- HexToIntPair(yytext, Pair);
+ HexToIntPair(yytext+3, Pair);
llvmAsmlval.FPVal = new APFloat(APInt(128, 2, Pair));
return FPVAL;
}
{HexPPC128Constant} { uint64_t Pair[2];
- HexToIntPair(yytext, Pair);
+ HexToIntPair(yytext+3, Pair);
llvmAsmlval.FPVal = new APFloat(APInt(128, 2, Pair));
return FPVAL;
}
diff --git a/llvm/lib/AsmParser/llvmAsmParser.y b/llvm/lib/AsmParser/llvmAsmParser.y
index c0374daf3f1..d2e5256de88 100644
--- a/llvm/lib/AsmParser/llvmAsmParser.y
+++ b/llvm/lib/AsmParser/llvmAsmParser.y
@@ -1866,7 +1866,7 @@ ConstVal: Types '[' ConstVector ']' { // Nonempty unsized arr
$$ = ConstantInt::getFalse();
CHECK_FOR_ERROR
}
- | FPType FPVAL { // Float & Double constants
+ | FPType FPVAL { // Floating point constants
if (!ConstantFP::isValueValidForType($1, *$2))
GEN_ERROR("Floating point constant invalid for type");
// Lexer has no type info, so builds all float and double FP constants
OpenPOWER on IntegriCloud