obj.$O\
peep.$O\
reg.$O\
- bits.$O\
../6l/enam.$O\
LIB=\
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-
#define Z N
#define Adr Addr
-#define BITS 5
-#define NVAR (BITS*sizeof(uint32)*8)
-
#define D_HI D_NONE
#define D_LO D_NONE
#define CINF 1000
#define LOOP 3
-typedef struct Bits Bits;
typedef struct Reg Reg;
-typedef struct Var Var;
typedef struct Rgn Rgn;
-struct Bits
-{
- uint32 b[BITS];
-};
-
struct Reg
{
};
#define R ((Reg*)0)
-struct Var
-{
- vlong offset;
- Sym* sym;
- char name;
- char etype;
-};
-
#define NRGN 600
struct Rgn
{
short regno;
};
-
EXTERN int32 exregoffset; // not set
EXTERN int32 exfregoffset; // not set
EXTERN Reg* firstr;
EXTERN Reg* lastr;
EXTERN Reg zreg;
EXTERN Reg* freer;
-EXTERN Var var[NVAR];
EXTERN Reg** rpo2r;
EXTERN Rgn region[NRGN];
EXTERN Rgn* rgp;
EXTERN Bits addrs;
EXTERN Bits ovar;
EXTERN int change;
-EXTERN Bits zbits;
EXTERN int32 maxnr;
EXTERN int32* idom;
-/*
- * bits.c
- */
-Bits bor(Bits, Bits);
-Bits band(Bits, Bits);
-Bits bnot(Bits);
-int bany(Bits*);
-int bnum(Bits);
-Bits blsh(uint);
-int beq(Bits, Bits);
-int bset(Bits, uint);
-int Qconv(Fmt *fp);
-int bitno(int32);
-struct
+EXTERN struct
{
int32 ncvtreg;
int32 nspill;
mparith3.$O\
builtin.$O\
compat.$O\
+ bits.$O\
$(LIB): $(OFILES)
ar rsc $(LIB) $(OFILES)
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-#include "gg.h"
-#include "opt.h"
+#include "go.h"
Bits
bor(Bits a, Bits b)
#include "compat.h"
#ifndef EXTERN
-#define EXTERN extern
+#define EXTERN extern
#endif
enum
{
Erv, // evaluated in rvalue context
};
+#define BITS 5
+#define NVAR (BITS*sizeof(uint32)*8)
+
+typedef struct Bits Bits;
+struct Bits
+{
+ uint32 b[BITS];
+};
+
+EXTERN Bits zbits;
+
+typedef struct Var Var;
+struct Var
+{
+ vlong offset;
+ Sym* sym;
+ char name;
+ char etype;
+};
+
+EXTERN Var var[NVAR];
+
+
typedef struct Io Io;
struct Io
{
void nodconst(Node*, Type*, vlong);
Type* deep(Type*);
Type* shallow(Type*);
+
+/*
+ * bits.c
+ */
+Bits bor(Bits, Bits);
+Bits band(Bits, Bits);
+Bits bnot(Bits);
+int bany(Bits*);
+int bnum(Bits);
+Bits blsh(uint);
+int beq(Bits, Bits);
+int bset(Bits, uint);
+int Qconv(Fmt *fp);
+int bitno(int32);
--- /dev/null
+# Copyright 2009 The Go Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file.
+
+#!/bin/bash
+
+set -e
+
+bash clean.bash
+
+cd 8l
+bash mkenam
+make enam.o
+cd ..
+
+for i in cc 8l 8a 8c gc 8g ar db nm acid cov gobuild godefs prof gotest
+do
+ echo; echo; echo %%%% making $i %%%%; echo
+ cd $i
+ make install
+ cd ..
+done