From e81a5fe56f3177fc3c7040e2320ae083e3746eb7 Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 3 Aug 2022 12:08:37 -0700 Subject: Basic pointer usages. (#2342) --- source/slang/slang-emit-c-like.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'source/slang/slang-emit-c-like.cpp') diff --git a/source/slang/slang-emit-c-like.cpp b/source/slang/slang-emit-c-like.cpp index c3ae31894..b6540b5f1 100644 --- a/source/slang/slang-emit-c-like.cpp +++ b/source/slang/slang-emit-c-like.cpp @@ -1943,7 +1943,10 @@ void CLikeSourceEmitter::defaultEmitInstExpr(IRInst* inst, const EmitOpInfo& inO auto rightSidePrec = rightSide(outerPrec, info); auto postfixInfo = getInfo(EmitOp::Postfix); bool rightSideNeedClose = maybeEmitParens(rightSidePrec, postfixInfo); - emitDereferenceOperand(inst->getOperand(0), leftSide(rightSidePrec, postfixInfo)); + if (isPtrToArrayType(inst->getOperand(0)->getDataType())) + emitDereferenceOperand(inst->getOperand(0), leftSide(rightSidePrec, postfixInfo)); + else + emitOperand(inst->getOperand(0), leftSide(rightSidePrec, postfixInfo)); m_writer->emit("["); emitOperand(inst->getOperand(1), getInfo(EmitOp::General)); m_writer->emit("]"); @@ -2061,7 +2064,6 @@ void CLikeSourceEmitter::defaultEmitInstExpr(IRInst* inst, const EmitOpInfo& inO m_writer->emit(")"); } break; - case kIROp_GlobalConstant: case kIROp_GetValueFromBoundInterface: emitOperand(inst->getOperand(0), outerPrec); -- cgit v1.2.3