summaryrefslogtreecommitdiff
path: root/src/trans/codegen_c.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/trans/codegen_c.cpp')
-rw-r--r--src/trans/codegen_c.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/trans/codegen_c.cpp b/src/trans/codegen_c.cpp
index a0215a32..6d331e65 100644
--- a/src/trans/codegen_c.cpp
+++ b/src/trans/codegen_c.cpp
@@ -279,13 +279,21 @@ namespace {
{
emit_ctype( params.monomorph(m_crate, item.m_return) );
m_of << " " << Trans_Mangle(p) << "(";
- for(unsigned int i = 0; i < item.m_args.size(); i ++)
+ if( item.m_args.size() == 0 )
{
- if( i != 0 ) m_of << ", ";
- emit_ctype( params.monomorph(m_crate, item.m_args[i].second) );
- m_of << " arg" << i;
+ m_of << "void)";
+ }
+ else
+ {
+ for(unsigned int i = 0; i < item.m_args.size(); i ++)
+ {
+ if( i != 0 ) m_of << ",";
+ m_of << "\n\t\t";
+ emit_ctype( params.monomorph(m_crate, item.m_args[i].second) );
+ m_of << " arg" << i;
+ }
+ m_of << "\n\t\t)";
}
- m_of << ")";
}
void emit_lvalue(const ::MIR::LValue& val) {
TU_MATCHA( (val), (e),