little fix for floatType::fixup
MODIFY
ir/type.cpp
ir/type.cpp
@@ -272,9 +272,11 @@ expr FloatType::sameType(const FloatType &rhs) const {
}
void FloatType::fixup(const Model &m) {
+ if (defined)
+ return;
+
unsigned fp_typ = m.getUInt(sizeVar());
assert(fp_typ >= Quarter && fp_typ <= FP128);
- if (!defined)
fpType = FpType(fp_typ);
}

MODIFY
tools/alive_lexer.re
tools/alive_lexer.re
@@ -105,7 +105,7 @@ re2c:yyfill:check = 0;
}
[-+]? [0-9]* "." [0-9]+ ([eE] [-+]? [0-9]+)? {
- yylval.fp_num = strtof((char*)YYTEXT, nullptr);
+ yylval.fp_num = strtod((char*)YYTEXT, nullptr);
return FP_NUM;
}

little fix for floatType::fixup