From a59cf64607f6a092a6f81cfacfc7b1ad4eea0924 Mon Sep 17 00:00:00 2001 From: wqz <1197460504@qq.com> Date: Fri, 16 Jun 2023 12:58:15 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E4=BA=86=E4=B8=BA=E5=BD=A2?= =?UTF-8?q?=E5=BC=8F=E5=8F=82=E6=95=B0=E7=94=9F=E6=88=90load=E6=8C=87?= =?UTF-8?q?=E4=BB=A4=E7=9A=84=E5=8A=9F=E8=83=BD;2.=E5=B0=86=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E5=BD=A2=E5=BC=8F=E5=8F=82=E6=95=B0=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E6=8C=87=E9=92=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/SysYIRGenerator.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/SysYIRGenerator.cpp b/src/SysYIRGenerator.cpp index a031008..4318bd8 100644 --- a/src/SysYIRGenerator.cpp +++ b/src/SysYIRGenerator.cpp @@ -53,9 +53,9 @@ namespace sysy auto init = varDef->ASSIGN() ? any_cast(visitInitValue(varDef->initValue())) : nullptr; - //******************Revised by lyq BEGIN*************************************** + //******************Revised by lyq BEGIN*************************************** auto global_value = module->createGlobalValue(name, type, dims, init, isConst); -//******************Revised by lyq END***************************************** + //******************Revised by lyq END***************************************** symbols.insert(name, global_value); values.push_back(global_value); } @@ -101,7 +101,7 @@ namespace sysy auto params = ctx->funcFParams()->funcFParam(); for (auto param : params) { - paramTypes.push_back(any_cast(visitBtype(param->btype()))); + paramTypes.push_back(Type::getPointerType(any_cast(visitBtype(param->btype())))); paramNames.push_back(param->ID()->getText()); } } @@ -198,7 +198,7 @@ namespace sysy Value *value = symbols.lookup(name); if (not value) error(ctx, "undefined variable"); - if (isa(value) or isa(value)) + if (isa(value) or isa(value) or isa(value)) value = builder.createLoadInst(value); return value; }