diff -r 96d2efda3d8d -r 229eb3e29216 stage4/generate_c/generate_c_il.cc --- a/stage4/generate_c/generate_c_il.cc Thu Jul 07 10:49:08 2011 +0200 +++ b/stage4/generate_c/generate_c_il.cc Fri Jul 08 11:06:27 2011 +0200 @@ -893,9 +893,12 @@ if (function_type_prefix != NULL) { s4o.print("("); - function_type_prefix->accept(*this); + search_expression_type->default_literal_type(function_type_prefix)->accept(*this); s4o.print(")"); } + if (function_type_suffix != NULL) { + function_type_suffix = search_expression_type->default_literal_type(function_type_prefix); + } if (has_output_params) { fcall_number++; s4o.print("__"); @@ -1258,9 +1261,12 @@ if (function_type_prefix != NULL) { s4o.print("("); - function_type_prefix->accept(*this); + search_expression_type->default_literal_type(function_type_prefix)->accept(*this); s4o.print(")"); } + if (function_type_suffix != NULL) { + function_type_suffix = search_expression_type->default_literal_type(function_type_prefix); + } if (has_output_params) { fcall_number++; s4o.print("__");