aboutsummaryrefslogtreecommitdiff
path: root/backendC
diff options
context:
space:
mode:
Diffstat (limited to 'backendC')
-rw-r--r--backendC/CleanCompilerSources/backend.c27
1 files changed, 18 insertions, 9 deletions
diff --git a/backendC/CleanCompilerSources/backend.c b/backendC/CleanCompilerSources/backend.c
index 1c979d1..6e30dcd 100644
--- a/backendC/CleanCompilerSources/backend.c
+++ b/backendC/CleanCompilerSources/backend.c
@@ -2027,8 +2027,11 @@ BEUpdateNode (BEArgP args)
{
NodeP node;
SymbolP recordSymbol;
+ int n_args;
+
+ n_args = CountArgs (args);
- Assert (CountArgs (args) == 2);
+ Assert (n_args >= 2);
Assert (args->arg_next->arg_node->node_kind == SelectorNode);
Assert (args->arg_next->arg_node->node_arity == BESelector);
@@ -2039,7 +2042,7 @@ BEUpdateNode (BEArgP args)
node->node_annotation = NoAnnot;
node->node_kind = UpdateNode;
node->node_symbol = recordSymbol;
- node->node_arity = 2;
+ node->node_arity = n_args;
node->node_arguments = args;
node->node_number=0;
@@ -3190,6 +3193,10 @@ RemoveSpecialArrayFunctionsFromSymbolList (SymbolP *symbolH)
}
} /* RemoveSpecialArrayFunctionsFromSymbolList */
+#if 0
+File rules_file;
+#endif
int
BEGenerateCode (CleanString outputFile)
{
@@ -3214,25 +3221,27 @@ BEGenerateCode (CleanString outputFile)
#if 0
{
- File f;
-
- f=fopen ("Rules","w");
- if (f){
+ rules_file=fopen ("Rules","w");
+ if (rules_file){
ImpRuleS *rule;
for (rule=gBEState.be_icl.beicl_module->im_rules; rule!=NULL; rule=rule->rule_next){
- PrintImpRule (rule,4,f);
+ PrintImpRule (rule,4,rules_file);
if (rule->rule_next!=NULL)
- FPutC ('\n',f);
+ FPutC ('\n',rules_file);
}
- fclose (f);
}
}
#endif
CodeGeneration (gBEState.be_icl.beicl_module, outputFileName);
+#if 0
+ if (rules_file)
+ fclose (rules_file);
+#endif
+
return (!CompilerError);
} /* BEGenerateCode */