aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjohnvg2002-03-27 13:48:14 +0000
committerjohnvg2002-03-27 13:48:14 +0000
commitff7921d693cf6c084198d9661ec6a39c9bbfa4e3 (patch)
tree9018128dfaba020372da1b9ae0b9359f61ba0b30
parentremove debug output (diff)
don't try to add arguments to 'code' functions
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1068 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
-rw-r--r--backendC/CleanCompilerSources/statesgen.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/backendC/CleanCompilerSources/statesgen.c b/backendC/CleanCompilerSources/statesgen.c
index 5615e47..6672a5f 100644
--- a/backendC/CleanCompilerSources/statesgen.c
+++ b/backendC/CleanCompilerSources/statesgen.c
@@ -3312,8 +3312,10 @@ static int create_new_function_with_more_arguments (NodeP node_p,int determine_n
function_symbol_p=function_node_p->node_symbol;
if (function_symbol_p->symb_kind==definition){
- if (function_symbol_p->symb_def->sdef_kind==IMPRULE && !(function_symbol_p->symb_def->sdef_rule->rule_mark & RULE_CAF_MASK)){
- if (function_node_p->node_arity <= function_symbol_p->symb_def->sdef_arity){
+ if (function_symbol_p->symb_def->sdef_kind==IMPRULE){
+ if (!(function_symbol_p->symb_def->sdef_rule->rule_mark & RULE_CAF_MASK) && function_symbol_p->symb_def->sdef_rule->rule_alts->alt_kind==Contractum
+ && function_node_p->node_arity <= function_symbol_p->symb_def->sdef_arity)
+ {
struct type_node *rhs_type_node_p;
SymbolP new_function_symbol;
SymbDef rule_sdef;