diff options
Diffstat (limited to 'src/trans/codegen_c.cpp')
-rw-r--r-- | src/trans/codegen_c.cpp | 18 |
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), |