aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backendC/CleanCompilerSources/cocl.c3
-rw-r--r--backendC/CleanCompilerSources/instructions.c6
-rw-r--r--backendC/CleanCompilerSources/settings.c1
-rw-r--r--backendC/CleanCompilerSources/settings.h1
4 files changed, 9 insertions, 2 deletions
diff --git a/backendC/CleanCompilerSources/cocl.c b/backendC/CleanCompilerSources/cocl.c
index c179262..f881fbc 100644
--- a/backendC/CleanCompilerSources/cocl.c
+++ b/backendC/CleanCompilerSources/cocl.c
@@ -131,6 +131,7 @@ Bool CallCompiler (int argc, char **argv)
DoDescriptors=False;
ExportLocalLabels=False;
AddStrictnessToExportedFunctionTypes=False;
+ Dynamics=False;
StrictDoAnnots = False;
StrictDepth = 10;/* 8; */
@@ -193,6 +194,8 @@ Bool CallCompiler (int argc, char **argv)
DoFusion=True;
else if (strcmp (argv_i,"-seft") == 0)
AddStrictnessToExportedFunctionTypes=True;
+ else if (strcmp (argv_i,"-dynamics") == 0)
+ Dynamics=True;
else if (strncmp (argv_i, "-sa", 3) == 0){
if (!SetStrictOption (argv[i]+3)){
CmdError ("unknown flag %s", argv[i]);
diff --git a/backendC/CleanCompilerSources/instructions.c b/backendC/CleanCompilerSources/instructions.c
index 3749dc8..62d0a6a 100644
--- a/backendC/CleanCompilerSources/instructions.c
+++ b/backendC/CleanCompilerSources/instructions.c
@@ -54,9 +54,10 @@ static void error_in_function (char *m)
#define N_System 8
#define N_DoFusion 9
#define N_Do64BitArch 10
+#define N_Dynamics 11
#define MINIMUM_N_OPTIONS 9
-#define N_OPTIONS 11
+#define N_OPTIONS 12
static void ConvertOptionsToString (char *optstring)
{
@@ -78,9 +79,10 @@ static void ConvertOptionsToString (char *optstring)
optstring[N_DoWarning] = DoWarning ? '1' : '0';
optstring[N_System] = '0';
- if (DoFusion || ObjectSizes[RealObj]!=2){
+ if (DoFusion || ObjectSizes[RealObj]!=2 || Dynamics){
optstring[N_DoFusion] = DoFusion ? '1' : '0';
optstring[N_Do64BitArch] = ObjectSizes[RealObj]!=2 ? '1' : '0';
+ optstring[N_Dynamics] = Dynamics ? '1' : '0';
optstring[N_OPTIONS]='\0';
} else
optstring[MINIMUM_N_OPTIONS]='\0';
diff --git a/backendC/CleanCompilerSources/settings.c b/backendC/CleanCompilerSources/settings.c
index edebddb..166b53e 100644
--- a/backendC/CleanCompilerSources/settings.c
+++ b/backendC/CleanCompilerSources/settings.c
@@ -24,6 +24,7 @@ Bool ListOptimizations = False;
Bool DoDescriptors = False;
Bool ExportLocalLabels = False;
Bool AddStrictnessToExportedFunctionTypes = False;
+Bool Dynamics = False;
Bool DoProfiling=False; /* no longer used by memory profiler */
Bool DoTimeProfiling=False;
diff --git a/backendC/CleanCompilerSources/settings.h b/backendC/CleanCompilerSources/settings.h
index 6fdd495..678106e 100644
--- a/backendC/CleanCompilerSources/settings.h
+++ b/backendC/CleanCompilerSources/settings.h
@@ -22,6 +22,7 @@ extern Bool ListOptimizations;
extern Bool ExportLocalLabels;
extern Bool AddStrictnessToExportedFunctionTypes;
+extern Bool Dynamics;
extern Bool DoProfiling;
extern Bool DoTimeProfiling;