summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Wedgwood <cw@f00f.org>2009-12-03 12:46:34 -0800
committerChristopher Wedgwood <cw@f00f.org>2009-12-03 12:46:34 -0800
commitc263db17c6083a4cacb03da16a507ba23a54515f (patch)
treeedd49f71957bf2da29ae98dfb6774963f97263a5
parentb19e5e9ba158f863fcfc4ea9a1b898d53a34a5c2 (diff)
downloadgolang-c263db17c6083a4cacb03da16a507ba23a54515f.tar.gz
gc: Allow allow data types up to 1GB
R=rsc http://codereview.appspot.com/164095 Committer: Russ Cox <rsc@golang.org>
-rw-r--r--src/cmd/gc/gen.c2
-rw-r--r--src/cmd/gc/go.h3
-rw-r--r--src/cmd/gc/subr.c2
3 files changed, 4 insertions, 3 deletions
diff --git a/src/cmd/gc/gen.c b/src/cmd/gc/gen.c
index 475058fa2..56dd752fb 100644
--- a/src/cmd/gc/gen.c
+++ b/src/cmd/gc/gen.c
@@ -52,7 +52,7 @@ allocparams(void)
continue;
dowidth(n->type);
w = n->type->width;
- if(w >= 100000000)
+ if(w >= MAXWIDTH)
fatal("bad width");
stksize += w;
stksize = rnd(stksize, w);
diff --git a/src/cmd/gc/go.h b/src/cmd/gc/go.h
index 87362156d..5df0c5be8 100644
--- a/src/cmd/gc/go.h
+++ b/src/cmd/gc/go.h
@@ -53,7 +53,8 @@ enum
AINTER,
ANILINTER,
- BADWIDTH = -1000000000
+ BADWIDTH = -1000000000,
+ MAXWIDTH = 1<<30
};
/*
diff --git a/src/cmd/gc/subr.c b/src/cmd/gc/subr.c
index 6b73570e5..407dea023 100644
--- a/src/cmd/gc/subr.c
+++ b/src/cmd/gc/subr.c
@@ -2431,7 +2431,7 @@ setmaxarg(Type *t)
dowidth(t);
w = t->argwid;
- if(t->argwid >= 100000000)
+ if(t->argwid >= MAXWIDTH)
fatal("bad argwid %T", t);
if(w > maxarg)
maxarg = w;