aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjohnvg2004-03-05 11:14:27 +0000
committerjohnvg2004-03-05 11:14:27 +0000
commit1c585fa30a8c3af1544e3680e1b750e497659881 (patch)
tree0759e495caa83b22bf9cac244d46f4dafc0ad2cb
parentremove includes of typechecker.h and tctypes.t (diff)
implement tuple result for foreign export / centry
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1462 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
-rw-r--r--backendC/CleanCompilerSources/instructions.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/backendC/CleanCompilerSources/instructions.c b/backendC/CleanCompilerSources/instructions.c
index d13edbb..2daa27f 100644
--- a/backendC/CleanCompilerSources/instructions.c
+++ b/backendC/CleanCompilerSources/instructions.c
@@ -3547,6 +3547,14 @@ static void print_foreign_export_type (TypeNode type)
error_in_function ("print_foreign_export_type");
}
+static void print_foreign_export_result_type (TypeNode type)
+{
+ if (!type->type_node_is_var && type->type_node_symbol->symb_kind==tuple_type)
+ FPrintF (OutFile,"V");
+
+ print_foreign_export_type (type);
+}
+
void GenerateForeignExports (struct foreign_export_list *foreign_export_list)
{
struct foreign_export_list *foreign_export_p;
@@ -3567,7 +3575,7 @@ void GenerateForeignExports (struct foreign_export_list *foreign_export_list)
FPrintF (OutFile,":");
- print_foreign_export_type (rule_type_p->type_alt_rhs);
+ print_foreign_export_result_type (rule_type_p->type_alt_rhs);
FPrintF (OutFile,"\"");
}