diff options
| author | Yong He <yonghe@outlook.com> | 2022-06-21 14:55:59 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-21 14:55:59 -0700 |
| commit | e5a75563a1ba2e378353af8b937b8b7bb0fe2c2b (patch) | |
| tree | 0f31040b408a66f49dc5cd2354c8424e5ff2e279 /source/slang/slang-emit-c-like.cpp | |
| parent | ea3800e115d4ad1ce06ec07689152616f47a0e3d (diff) | |
Lower throwing COM interface method. (#2282)
* Lower throwing COM interface method.
* Fix.
* Fix warnings.
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-emit-c-like.cpp')
| -rw-r--r-- | source/slang/slang-emit-c-like.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/source/slang/slang-emit-c-like.cpp b/source/slang/slang-emit-c-like.cpp index e0b1a44f2..10ac2ca84 100644 --- a/source/slang/slang-emit-c-like.cpp +++ b/source/slang/slang-emit-c-like.cpp @@ -1810,6 +1810,22 @@ void CLikeSourceEmitter::defaultEmitInstExpr(IRInst* inst, const EmitOpInfo& inO m_writer->emit("GroupMemoryBarrierWithGroupSync()"); break; + case kIROp_getNativeStr: + { + auto prec = getInfo(EmitOp::Postfix); + needClose = maybeEmitParens(outerPrec, prec); + emitOperand(inst->getOperand(0), leftSide(outerPrec, prec)); + m_writer->emit("->getBuffer()"); + break; + } + case kIROp_makeString: + { + m_writer->emit("String("); + emitOperand(inst->getOperand(0), EmitOpInfo()); + m_writer->emit(")"); + break; + } + case kIROp_getElement: case kIROp_getElementPtr: case kIROp_ImageSubscript: |
