aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backendC/CleanCompilerSources/backend.c21
-rw-r--r--backendC/CleanCompilerSources/backend.icl16
-rw-r--r--backendC/backend.rc2
-rw-r--r--coclmaindll/backend.dllbin1408796 -> 1409444 bytes
4 files changed, 36 insertions, 3 deletions
diff --git a/backendC/CleanCompilerSources/backend.c b/backendC/CleanCompilerSources/backend.c
index f2023a6..b7a7785 100644
--- a/backendC/CleanCompilerSources/backend.c
+++ b/backendC/CleanCompilerSources/backend.c
@@ -133,6 +133,10 @@ STRUCT (be_state, BEState)
SymbolP be_dontCareSymbol;
SymbolP be_dictionarySelectFunSymbol;
SymbolP be_dictionaryUpdateFunSymbol;
+
+ // temporary hack
+ int be_dynamicTypeIndex;
+ int be_dynamicModuleIndex;
};
static BEStateS gBEState = {False /* ... */};
@@ -2708,3 +2712,20 @@ BEFree (BackEnd backEnd)
if (StdOutReopened)
fclose (StdOut);
} /* BEFree */
+
+
+// temporary hack
+
+void
+BEDeclareDynamicTypeSymbol (int typeIndex, int moduleIndex)
+{
+ gBEState.be_dynamicTypeIndex = moduleIndex;
+ gBEState.be_dynamicModuleIndex = typeIndex;
+} /* BEDeclareDynamicTypeSymbol */
+
+
+BESymbolP
+BEDynamicTempTypeSymbol (void)
+{
+ return (BETypeSymbol (gBEState.be_dynamicTypeIndex, gBEState.be_dynamicModuleIndex));
+} /* BEDynamicTemp */
diff --git a/backendC/CleanCompilerSources/backend.icl b/backendC/CleanCompilerSources/backend.icl
index b4c86f4..67c4c87 100644
--- a/backendC/CleanCompilerSources/backend.icl
+++ b/backendC/CleanCompilerSources/backend.icl
@@ -596,9 +596,21 @@ BESetMainDclModuleN a0 a1 = code {
ccall BESetMainDclModuleN "I:V:I"
};
// void BESetMainDclModuleN(int main_dcl_module_n_parameter);
-kBEVersionCurrent:==0x02000204;
+
+BEDeclareDynamicTypeSymbol :: !Int !Int !BackEnd -> BackEnd;
+BEDeclareDynamicTypeSymbol a0 a1 a2 = code {
+ ccall BEDeclareDynamicTypeSymbol "II:V:I"
+};
+// void BEDeclareDynamicTypeSymbol(int typeIndex,int moduleIndex);
+
+BEDynamicTempTypeSymbol :: !BackEnd -> (!BESymbolP,!BackEnd);
+BEDynamicTempTypeSymbol a0 = code {
+ ccall BEDynamicTempTypeSymbol ":I:I"
+};
+// BESymbolP BEDynamicTempTypeSymbol();
+kBEVersionCurrent:==0x02000206;
kBEVersionOldestDefinition:==0x02000204;
-kBEVersionOldestImplementation:==0x02000204;
+kBEVersionOldestImplementation:==0x02000206;
kBEDebug:==1;
kPredefinedModuleIndex:==1;
BENoAnnot:==0;
diff --git a/backendC/backend.rc b/backendC/backend.rc
index 5d58005..9b79901 100644
--- a/backendC/backend.rc
+++ b/backendC/backend.rc
@@ -14,7 +14,7 @@
# define kFileFlags VS_FF_DEBUG | VS_FF_PRERELEASE
# define kFileFlagsMask VS_FF_DEBUG | VS_FF_PRERELEASE
-# define kFileVersionString "2.0.d.2"
+# define kFileVersionString "2.0.d.6"
VS_VERSION_INFO VERSIONINFO
FILEVERSION kFileVersion
diff --git a/coclmaindll/backend.dll b/coclmaindll/backend.dll
index 426c589..e638682 100644
--- a/coclmaindll/backend.dll
+++ b/coclmaindll/backend.dll
Binary files differ