diff options
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; |