diff options
author | johnvg | 2007-02-27 14:36:22 +0000 |
---|---|---|
committer | johnvg | 2007-02-27 14:36:22 +0000 |
commit | 6964e13ee2f1c42034ae3cec1c1bf2f39a7d33aa (patch) | |
tree | cd26de18bb32401e45fa536e9a1aeb5e7089e8fc /backendC/CleanCompilerSources/instructions.c | |
parent | fix BEStartFunction type (diff) |
add {#Int} and {#Real} for foreign export
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1652 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'backendC/CleanCompilerSources/instructions.c')
-rw-r--r-- | backendC/CleanCompilerSources/instructions.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/backendC/CleanCompilerSources/instructions.c b/backendC/CleanCompilerSources/instructions.c index b3a5f23..faf4409 100644 --- a/backendC/CleanCompilerSources/instructions.c +++ b/backendC/CleanCompilerSources/instructions.c @@ -3683,9 +3683,18 @@ static void print_foreign_export_type (TypeNode type) TypeNode type_node_p; type_node_p=type->type_node_arguments->type_arg_node; - if (!type_node_p->type_node_is_var && type_node_p->type_node_symbol->symb_kind==char_type){ - FPrintF (OutFile,"S"); - return; + if (!type_node_p->type_node_is_var){ + switch (type_node_p->type_node_symbol->symb_kind){ + case char_type: + FPrintF (OutFile,"S"); + return; + case int_type: + FPrintF (OutFile,"Ai"); + return; + case real_type: + FPrintF (OutFile,"Ar"); + return; + } } } else if (symbol_p->symb_kind==tuple_type){ TypeArgs type_arg_p; |