summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2017-01-07 11:44:26 +0800
committerJohn Hodge <tpg@mutabah.net>2017-01-07 11:44:26 +0800
commit65e51dc6dc80523c0b2e043c42b6fc14631a043d (patch)
tree507ed168f28ef81eb6fcf331cb267d33c28a7a92
parenta0183f97c18fff7e02f9ee1a835fed5635310ddc (diff)
downloadmrust-65e51dc6dc80523c0b2e043c42b6fc14631a043d.tar.gz
Codegen C - Handle % for floats
-rw-r--r--src/trans/codegen_c.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/trans/codegen_c.cpp b/src/trans/codegen_c.cpp
index 07974631..976d5c73 100644
--- a/src/trans/codegen_c.cpp
+++ b/src/trans/codegen_c.cpp
@@ -1349,6 +1349,14 @@ namespace {
}
break;
}
+ else if( ve.op == ::MIR::eBinOp::MOD && (ty == ::HIR::CoreType::F32 || ty == ::HIR::CoreType::F64) ) {
+ if( ty == ::HIR::CoreType::F32 )
+ m_of << "remainderf";
+ else
+ m_of << "remainder";
+ m_of << "("; emit_lvalue(ve.val_l); m_of << ", "; emit_lvalue(ve.val_r); m_of << ")";
+ break;
+ }
else {
}