diff options
| author | Dale Johannesen <dalej@apple.com> | 2007-09-12 03:30:33 +0000 |
|---|---|---|
| committer | Dale Johannesen <dalej@apple.com> | 2007-09-12 03:30:33 +0000 |
| commit | 028084efe5a297af30f17ab0f82d3bf86199372f (patch) | |
| tree | 18f308de05f1332e6f12226bef3fd98a3b7a57c0 /llvm/lib/AsmParser | |
| parent | 521988b604c42f28eca7910e428feb8f221f9314 (diff) | |
| download | bcm5719-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.l | 12 | ||||
| -rw-r--r-- | llvm/lib/AsmParser/llvmAsmParser.y | 2 |
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 |

