feat(sem)常量浮点类型隐式转换为整型

mxr 3 weeks ago
parent 8477ab4aca
commit 74f325c6fd

@ -620,11 +620,16 @@ std::vector<SymbolTable::ConstValue> SymbolTable::EvaluateConstInitVal(
if (base_type->IsInt32() && val.kind == ConstValue::FLOAT) {
throw std::runtime_error("整型常量不能使用浮点常量初始化");
}
*/
// 隐式类型转换
if (base_type->IsInt32() && val.kind == ConstValue::FLOAT) {
val.kind = ConstValue::INT;
val.float_val = static_cast<int>(val.int_val);
}
if (base_type->IsFloat() && val.kind == ConstValue::INT) {
val.kind = ConstValue::FLOAT;
val.float_val = static_cast<float>(val.int_val);
}
*/
return {val}; // 返回包含单个值的向量
}

Loading…
Cancel
Save