aboutsummaryrefslogtreecommitdiff
path: root/backendC/CleanCompilerSources/instructions.c
diff options
context:
space:
mode:
authorjohnvg2006-07-17 10:56:32 +0000
committerjohnvg2006-07-17 10:56:32 +0000
commitc8d461441d8487037919498f6fd18af7561b728c (patch)
tree583235c407def6fa34bfb7ae1acedf422c883173 /backendC/CleanCompilerSources/instructions.c
parentport to 64 bit windows and linux (diff)
add 64 bit flag to .comp directive
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1602 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'backendC/CleanCompilerSources/instructions.c')
-rw-r--r--backendC/CleanCompilerSources/instructions.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/backendC/CleanCompilerSources/instructions.c b/backendC/CleanCompilerSources/instructions.c
index 3abb4e0..00d422d 100644
--- a/backendC/CleanCompilerSources/instructions.c
+++ b/backendC/CleanCompilerSources/instructions.c
@@ -3,8 +3,6 @@
Authors: Sjaak Smetsers & John van Groningen
*/
-#pragma segment instructions
-
#include "compiledefines.h"
#include "comsupport.h"
@@ -55,9 +53,10 @@ static void error_in_function (char *m)
#define N_DoWarning 7
#define N_System 8
#define N_DoFusion 9
+#define N_Do64BitArch 10
#define MINIMUM_N_OPTIONS 9
-#define N_OPTIONS 10
+#define N_OPTIONS 11
static void ConvertOptionsToString (char *optstring)
{
@@ -78,8 +77,10 @@ static void ConvertOptionsToString (char *optstring)
*/
optstring[N_DoWarning] = DoWarning ? '1' : '0';
optstring[N_System] = '0';
- if (DoFusion){
- optstring[N_DoFusion]='1';
+
+ if (DoFusion || ObjectSizes[RealObj]!=2){
+ optstring[N_DoFusion] = DoFusion ? '1' : '0';
+ optstring[N_Do64BitArch] = ObjectSizes[RealObj]!=2 ? '1' : '0';
optstring[N_OPTIONS]='\0';
} else
optstring[MINIMUM_N_OPTIONS]='\0';