diff -r 599e88d12f9a -r b2604fc6d25c stage4/generate_c/generate_c_inlinefcall.cc --- a/stage4/generate_c/generate_c_inlinefcall.cc Wed Mar 19 12:13:43 2014 +0000 +++ b/stage4/generate_c/generate_c_inlinefcall.cc Sat Mar 29 22:46:09 2014 +0000 @@ -281,7 +281,7 @@ else s4o.print(SET_VAR); s4o.print("(,"); - +/* wanted_variablegeneration = complextype_base_vg; symbol->accept(*this); s4o.print(","); @@ -295,6 +295,20 @@ s4o.print(")"); wanted_variablegeneration = expression_vg; return NULL; +*/ + wanted_variablegeneration = complextype_base_vg; + symbol->accept(*this); + s4o.print(","); + if (analyse_variable_c::contains_complex_type(symbol)) { + wanted_variablegeneration = complextype_suffix_vg; + symbol->accept(*this); + } + s4o.print(","); + wanted_variablegeneration = expression_vg; + print_check_function(type, value, NULL, true); + s4o.print(")"); + wanted_variablegeneration = expression_vg; + return NULL; } /*********************/