make 6a, 6c, 6g, 6l, libmach_amd64 build on 64-bit gcc.
these guys really really want long to be 32-bits,
so ,s/long/int32/ (and then manual fixup).
still passes all tests.
(i started out looking for just those longs that
needed to be int32 instead, and it was just too hard
to track them down one by one.)
the longs were rare enough that i don't think
it will cause integration problems.
R=ken
OCL=13787
CL=13789
diff --git a/src/cmd/gc/go.h b/src/cmd/gc/go.h
index 9e37c79..ed61378 100644
--- a/src/cmd/gc/go.h
+++ b/src/cmd/gc/go.h
@@ -52,7 +52,7 @@
typedef struct String String;
struct String
{
- long len;
+ int32 len;
char s[3]; // variable
};
@@ -83,7 +83,7 @@
uchar outnamed;
Sym* sym;
- long vargen; // unique name for OTYPE/ONAME
+ int32 vargen; // unique name for OTYPE/ONAME
// most nodes
Type* type;
@@ -100,7 +100,7 @@
vlong argwid;
// TARRAY
- long bound;
+ int32 bound;
};
#define T ((Type*)0)
@@ -142,8 +142,8 @@
Sym* fsym; // import
Sym* psym; // import
Sym* sym; // various
- long vargen; // unique name for OTYPE/ONAME
- long lineno;
+ int32 vargen; // unique name for OTYPE/ONAME
+ int32 lineno;
vlong xoffset;
};
#define N ((Node*)0)
@@ -167,8 +167,8 @@
Type* forwtype; // TPTR iff forward declared
void* label; // pointer to Prog* of label
vlong offset; // stack location if automatic
- long lexical;
- long vargen; // unique variable number
+ int32 lexical;
+ int32 vargen; // unique variable number
Sym* link;
};
#define S ((Sym*)0)
@@ -180,7 +180,7 @@
Sym* dsym; // for printing only
Node* dnode; // oname
Type* dtype; // otype
- long lineno;
+ int32 lineno;
Dcl* forw;
Dcl* back; // sentinel has pointer to last
@@ -202,8 +202,8 @@
{
Hist* link;
char* name;
- long line;
- long offset;
+ int32 line;
+ int32 offset;
};
#define H ((Hist*)0)
@@ -341,14 +341,14 @@
{
char* infile;
Biobuf* bin;
- long ilineno;
+ int32 ilineno;
int peekc;
char* cp; // used for content when bin==nil
};
EXTERN Io curio;
EXTERN Io pushedio;
-EXTERN long lineno;
+EXTERN int32 lineno;
EXTERN char* pathname;
EXTERN Hist* hist;
EXTERN Hist* ehist;
@@ -394,12 +394,12 @@
EXTERN Node* booltrue;
EXTERN Node* boolfalse;
-EXTERN ulong iota;
+EXTERN uint32 iota;
EXTERN Node* lastconst;
-EXTERN long vargen;
-EXTERN long exportgen;
-EXTERN long maxarg;
-EXTERN long stksize;
+EXTERN int32 vargen;
+EXTERN int32 exportgen;
+EXTERN int32 maxarg;
+EXTERN int32 stksize;
EXTERN ushort blockgen; // max block number
EXTERN ushort block; // current block number
@@ -410,8 +410,8 @@
EXTERN int thechar;
EXTERN char* thestring;
EXTERN char* hunk;
-EXTERN long nhunk;
-EXTERN long thunk;
+EXTERN int32 nhunk;
+EXTERN int32 thunk;
/*
* y.tab.c
@@ -426,10 +426,10 @@
void importfile(Val*);
void cannedimports(void);
void unimportfile();
-long yylex(void);
+int32 yylex(void);
void lexinit(void);
char* lexname(int);
-long getr(void);
+int32 getr(void);
int getnsc(void);
int escchar(int, int*, vlong*);
int getc(void);
@@ -446,17 +446,17 @@
* subr.c
*/
void myexit(int);
-void* mal(long);
-void* remal(void*, long, long);
+void* mal(int32);
+void* remal(void*, int32, int32);
void errorexit(void);
-ulong stringhash(char*);
+uint32 stringhash(char*);
Sym* lookup(char*);
Sym* pkglookup(char*, char*);
void yyerror(char*, ...);
void warn(char*, ...);
void fatal(char*, ...);
-void linehist(char*, long);
-long setlineno(Node*);
+void linehist(char*, int32);
+int32 setlineno(Node*);
Node* nod(int, Node*, Node*);
Node* list(Node*, Node*);
Type* typ(int);
@@ -473,11 +473,11 @@
int eqtype(Type*, Type*, int);
void argtype(Node*, Type*);
int eqargs(Type*, Type*);
-ulong typehash(Type*, int);
+uint32 typehash(Type*, int);
void frame(int);
-Node* literal(long);
+Node* literal(int32);
Node* dobad(void);
-Node* nodintconst(long);
+Node* nodintconst(int32);
void ullmancalc(Node*);
void badtype(int, Type*, Type*);
Type* ptrto(Type*);
@@ -583,7 +583,7 @@
Node* ascompatte(int, Type**, Node**, int);
int ascompat(Type*, Type*);
Node* prcompat(Node*);
-Node* nodpanic(long);
+Node* nodpanic(int32);
Node* newcompat(Node*);
Node* stringop(Node*, int);
Type* fixmap(Type*);
@@ -616,6 +616,6 @@
int optopop(int);
void dumpobj(void);
void dowidth(Type*);
-void argspace(long);
+void argspace(int32);
Node* nodarg(Type*, int);
void nodconst(Node*, Type*, vlong);