diff options
author | Russ Cox <rsc@golang.org> | 2014-12-05 11:43:41 -0500 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2014-12-05 11:43:41 -0500 |
commit | 8670c52abcdb260f5366d6fa205a7c7f9b5b1067 (patch) | |
tree | 3781a05c976360f88b736c71316dadc789e02062 /src/cmd/gc/go.h | |
parent | 3ebebda3a7495402239db4369d59d73749c1bfa2 (diff) | |
parent | 6d3ba1914e289ed223f7bb69f34604c0e2ae5384 (diff) | |
download | go-8670c52abcdb260f5366d6fa205a7c7f9b5b1067.tar.gz |
all: merge dev.cc (81884b89bd88) into default
With this change, default now contains Go 1.5 work.
Any future bug fixes for Go 1.4 in the compilers or
the runtime will have to be made directly to the
release branch.
Diffstat (limited to 'src/cmd/gc/go.h')
-rw-r--r-- | src/cmd/gc/go.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/cmd/gc/go.h b/src/cmd/gc/go.h index 965a0550d..6e326961d 100644 --- a/src/cmd/gc/go.h +++ b/src/cmd/gc/go.h @@ -382,6 +382,7 @@ enum SymExported = 1<<2, // already written out by export SymUniq = 1<<3, SymSiggen = 1<<4, + SymAsm = 1<<5, }; struct Sym @@ -393,6 +394,7 @@ struct Sym int32 npkg; // number of imported packages with this name uint32 uniqgen; Pkg* importdef; // where imported definition was found + char* linkname; // link name // saved and restored by dcopy Pkg* pkg; @@ -704,13 +706,13 @@ enum Ecomplit = 1<<11, // type in composite literal }; -#define BITS 5 -#define NVAR (BITS*sizeof(uint32)*8) +#define BITS 3 +#define NVAR (BITS*sizeof(uint64)*8) typedef struct Bits Bits; struct Bits { - uint32 b[BITS]; + uint64 b[BITS]; }; EXTERN Bits zbits; @@ -860,6 +862,8 @@ EXTERN int32 lexlineno; EXTERN int32 lineno; EXTERN int32 prevlineno; +EXTERN Fmt pragcgobuf; + EXTERN char* infile; EXTERN char* outfile; EXTERN Biobuf* bout; @@ -890,6 +894,7 @@ EXTERN Pkg* typelinkpkg; // fake package for runtime type info (data) EXTERN Pkg* weaktypepkg; // weak references to runtime type info EXTERN Pkg* unsafepkg; // package unsafe EXTERN Pkg* trackpkg; // fake package for field tracking +EXTERN Pkg* rawpkg; // fake package for raw symbol names EXTERN Pkg* phash[128]; EXTERN int tptr; // either TPTR32 or TPTR64 extern char* runtimeimport; @@ -897,6 +902,7 @@ extern char* unsafeimport; EXTERN char* myimportpath; EXTERN Idir* idirs; EXTERN char* localimport; +EXTERN char* asmhdr; EXTERN Type* types[NTYPE]; EXTERN Type* idealstring; @@ -1027,12 +1033,14 @@ int Qconv(Fmt *fp); Bits band(Bits a, Bits b); int bany(Bits *a); int beq(Bits a, Bits b); -int bitno(int32 b); +int bitno(uint64 b); Bits blsh(uint n); Bits bnot(Bits a); int bnum(Bits a); Bits bor(Bits a, Bits b); -int bset(Bits a, uint n); +int btest(Bits *a, uint n); +void biset(Bits *a, uint n); +void biclr(Bits *a, uint n); /* * bv.c @@ -1145,6 +1153,7 @@ void escapes(NodeList*); */ void autoexport(Node *n, int ctxt); void dumpexport(void); +void dumpasmhdr(void); int exportname(char *s); void exportsym(Node *n); void importconst(Sym *s, Type *t, Node *n); |