summaryrefslogtreecommitdiff
path: root/source/slang/slang-emit-cpp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-emit-cpp.cpp')
-rw-r--r--source/slang/slang-emit-cpp.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/source/slang/slang-emit-cpp.cpp b/source/slang/slang-emit-cpp.cpp
index 49edec92b..ef9b7f54e 100644
--- a/source/slang/slang-emit-cpp.cpp
+++ b/source/slang/slang-emit-cpp.cpp
@@ -1200,6 +1200,20 @@ bool CPPSourceEmitter::tryEmitInstExprImpl(IRInst* inst, const EmitOpInfo& inOut
{
return false;
}
+
+ case kIROp_InOutImplicitCast:
+ case kIROp_OutImplicitCast:
+ {
+ // We'll just the LValue to be the desired type
+ m_writer->emit("reinterpret_cast<");
+ emitType(inst->getDataType());
+ m_writer->emit(">(");
+
+ emitOperand(inst->getOperand(0), getInfo(EmitOp::General));
+
+ m_writer->emit(")");
+ return true;
+ }
case kIROp_MakeVector:
{
IRType* retType = inst->getFullType();