aboutsummaryrefslogtreecommitdiff
path: root/backendC/CleanCompilerSources
diff options
context:
space:
mode:
authorjohnvg2002-12-10 10:37:03 +0000
committerjohnvg2002-12-10 10:37:03 +0000
commit46a5afaffeec14cecaaa6859067737546f0bff47 (patch)
tree54078230e5edffdf277f05868ebddd2a38bc2f5e /backendC/CleanCompilerSources
parentadd strictness annotations (diff)
set im_def_module field so that the bit in .comp that
indicates a system module will be set git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1298 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'backendC/CleanCompilerSources')
-rw-r--r--backendC/CleanCompilerSources/backend.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/backendC/CleanCompilerSources/backend.c b/backendC/CleanCompilerSources/backend.c
index c3202ac..6491ce2 100644
--- a/backendC/CleanCompilerSources/backend.c
+++ b/backendC/CleanCompilerSources/backend.c
@@ -369,6 +369,8 @@ BESetMainDclModuleN (int main_dcl_module_n_parameter)
main_dcl_module_n=main_dcl_module_n_parameter;
}
+static DefMod im_def_module;
+
void
BEDeclareIclModule (CleanString name, CleanString modificationTime, int nFunctions, int nTypes, int nConstructors, int nFields)
{
@@ -403,7 +405,7 @@ BEDeclareIclModule (CleanString name, CleanString modificationTime, int nFunctio
iclModule = icl->beicl_module;
iclModule->im_name = moduleNameSymbol;
iclModule->im_modification_time = ConvertCleanString (modificationTime);
- iclModule->im_def_module = NULL;
+ iclModule->im_def_module = im_def_module;
iclModule->im_rules = NULL;
iclModule->im_start = NULL;
iclModule->im_symbols = gBEState.be_allSymbols;
@@ -463,8 +465,10 @@ BEDeclareDclModule (int moduleIndex, CleanString name, CleanString modificationT
AddOpenDefinitionModule (moduleNameSymbol, dclModule);
- if (moduleIndex == main_dcl_module_n)
+ if (moduleIndex == main_dcl_module_n){
gBEState.be_allSymbols = saveSymbols;
+ im_def_module=dclModule;
+ }
} /* BEDeclareDclModule */
void
@@ -3749,6 +3753,8 @@ BEInit (int argc)
gBEState.be_initialised = True;
+ im_def_module = NULL;
+
return ((BackEnd) &gBEState);
} /* BEInit */