aboutsummaryrefslogtreecommitdiff
path: root/backendC/CleanCompilerSources/instructions.c
diff options
context:
space:
mode:
authorclean2000-10-23 14:30:02 +0000
committerclean2000-10-23 14:30:02 +0000
commit9c909c88640836bbc3382c18042f1a1456c7b0d2 (patch)
tree20c764c61b6a9c1ae3360227f223b4f3e3ab5130 /backendC/CleanCompilerSources/instructions.c
parentbug fix in adjustArrayFunctions (diff)
no message
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@261 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'backendC/CleanCompilerSources/instructions.c')
-rw-r--r--backendC/CleanCompilerSources/instructions.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/backendC/CleanCompilerSources/instructions.c b/backendC/CleanCompilerSources/instructions.c
index 6f6577c..90406d9 100644
--- a/backendC/CleanCompilerSources/instructions.c
+++ b/backendC/CleanCompilerSources/instructions.c
@@ -1279,7 +1279,23 @@ void CallArrayFunction (SymbDef array_def,Bool is_jsr,StateP node_state_p)
StateP function_state_p;
fkind = (ArrayFunKind)array_def->sdef_arfun;
+/* RWS ...
function_state_p = array_def->sdef_rule_type->rule_type_state_p;
+*/
+ switch (array_def->sdef_kind)
+ {
+ case DEFRULE:
+ case SYSRULE:
+ function_state_p = array_def->sdef_rule_type->rule_type_state_p;
+ break;
+ case IMPRULE:
+ function_state_p = array_def->sdef_rule->rule_state_p;
+ break;
+ default:
+ error_in_function ("CallArrayFunction RWS");
+ break;
+ }
+/* RWS */
if (function_state_p[0].state_type==SimpleState && function_state_p[0].state_object==UnknownObj){
StateS elem_state;