Commit b28ee8f9 authored by John van Groningen's avatar John van Groningen
Browse files

add a bit in the .comp directive indicating whether -dynamics was passed

(to make it possible for the IDE to recompile if necessary)
parent 9703f10f
...@@ -131,6 +131,7 @@ Bool CallCompiler (int argc, char **argv) ...@@ -131,6 +131,7 @@ Bool CallCompiler (int argc, char **argv)
DoDescriptors=False; DoDescriptors=False;
ExportLocalLabels=False; ExportLocalLabels=False;
AddStrictnessToExportedFunctionTypes=False; AddStrictnessToExportedFunctionTypes=False;
Dynamics=False;
StrictDoAnnots = False; StrictDoAnnots = False;
StrictDepth = 10;/* 8; */ StrictDepth = 10;/* 8; */
...@@ -193,6 +194,8 @@ Bool CallCompiler (int argc, char **argv) ...@@ -193,6 +194,8 @@ Bool CallCompiler (int argc, char **argv)
DoFusion=True; DoFusion=True;
else if (strcmp (argv_i,"-seft") == 0) else if (strcmp (argv_i,"-seft") == 0)
AddStrictnessToExportedFunctionTypes=True; AddStrictnessToExportedFunctionTypes=True;
else if (strcmp (argv_i,"-dynamics") == 0)
Dynamics=True;
else if (strncmp (argv_i, "-sa", 3) == 0){ else if (strncmp (argv_i, "-sa", 3) == 0){
if (!SetStrictOption (argv[i]+3)){ if (!SetStrictOption (argv[i]+3)){
CmdError ("unknown flag %s", argv[i]); CmdError ("unknown flag %s", argv[i]);
......
...@@ -54,9 +54,10 @@ static void error_in_function (char *m) ...@@ -54,9 +54,10 @@ static void error_in_function (char *m)
#define N_System 8 #define N_System 8
#define N_DoFusion 9 #define N_DoFusion 9
#define N_Do64BitArch 10 #define N_Do64BitArch 10
#define N_Dynamics 11
#define MINIMUM_N_OPTIONS 9 #define MINIMUM_N_OPTIONS 9
#define N_OPTIONS 11 #define N_OPTIONS 12
static void ConvertOptionsToString (char *optstring) static void ConvertOptionsToString (char *optstring)
{ {
...@@ -78,9 +79,10 @@ static void ConvertOptionsToString (char *optstring) ...@@ -78,9 +79,10 @@ static void ConvertOptionsToString (char *optstring)
optstring[N_DoWarning] = DoWarning ? '1' : '0'; optstring[N_DoWarning] = DoWarning ? '1' : '0';
optstring[N_System] = '0'; optstring[N_System] = '0';
if (DoFusion || ObjectSizes[RealObj]!=2){ if (DoFusion || ObjectSizes[RealObj]!=2 || Dynamics){
optstring[N_DoFusion] = DoFusion ? '1' : '0'; optstring[N_DoFusion] = DoFusion ? '1' : '0';
optstring[N_Do64BitArch] = ObjectSizes[RealObj]!=2 ? '1' : '0'; optstring[N_Do64BitArch] = ObjectSizes[RealObj]!=2 ? '1' : '0';
optstring[N_Dynamics] = Dynamics ? '1' : '0';
optstring[N_OPTIONS]='\0'; optstring[N_OPTIONS]='\0';
} else } else
optstring[MINIMUM_N_OPTIONS]='\0'; optstring[MINIMUM_N_OPTIONS]='\0';
......
...@@ -24,6 +24,7 @@ Bool ListOptimizations = False; ...@@ -24,6 +24,7 @@ Bool ListOptimizations = False;
Bool DoDescriptors = False; Bool DoDescriptors = False;
Bool ExportLocalLabels = False; Bool ExportLocalLabels = False;
Bool AddStrictnessToExportedFunctionTypes = False; Bool AddStrictnessToExportedFunctionTypes = False;
Bool Dynamics = False;
Bool DoProfiling=False; /* no longer used by memory profiler */ Bool DoProfiling=False; /* no longer used by memory profiler */
Bool DoTimeProfiling=False; Bool DoTimeProfiling=False;
......
...@@ -22,6 +22,7 @@ extern Bool ListOptimizations; ...@@ -22,6 +22,7 @@ extern Bool ListOptimizations;
extern Bool ExportLocalLabels; extern Bool ExportLocalLabels;
extern Bool AddStrictnessToExportedFunctionTypes; extern Bool AddStrictnessToExportedFunctionTypes;
extern Bool Dynamics;
extern Bool DoProfiling; extern Bool DoProfiling;
extern Bool DoTimeProfiling; extern Bool DoTimeProfiling;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment