|
|
|
|
@ -137,7 +137,8 @@ std::any IRGenImpl::visitUnaryExp(SysYParser::UnaryExpContext* ctx) {
|
|
|
|
|
auto* arg_elem = arg->GetType()->GetElementType().get();
|
|
|
|
|
if (param_elem && arg_elem && arg_elem->IsArray() &&
|
|
|
|
|
arg_elem->GetElementType()->Equals(*param_elem)) {
|
|
|
|
|
std::vector<ir::Value*> idx = {builder_.CreateConstInt(0)};
|
|
|
|
|
std::vector<ir::Value*> idx = {builder_.CreateConstInt(0),
|
|
|
|
|
builder_.CreateConstInt(0)};
|
|
|
|
|
args[i] = builder_.CreateGep(arg, std::move(idx),
|
|
|
|
|
module_.GetContext().NextTemp());
|
|
|
|
|
arg = args[i];
|
|
|
|
|
|