s->vargen = gen;
s->oname = n;
s->offset = 0;
+ s->oconst = nil;
+ s->otype = nil;
s->lexical = LNAME;
n->funcdepth = funcdepth;
redeclare("type", s);
s->otype = n;
+ s->oconst = nil;
+ s->oname = nil;
s->lexical = LATYPE;
d = dcl();
redeclare("constant", s);
s->oconst = e;
+ s->otype = nil;
+ s->oname = nil;
s->lexical = LNAME;
d = dcl();
else
fmtprint(fp, "%lS", s);
if(strcmp(s->package, package) == 0)
- if(s->otype != t || (!s->export && !s->imported)) {
+ if((s->otype != t || !s->export) && !s->imported) {
fmtprint(fp, "·%s", filename);
if(t->vargen)
fmtprint(fp, "·%d", t->vargen);
--- /dev/null
+// $G $D/$F.go || echo BUG: should compile
+
+// 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.
+
+package P
+
+const a = 0;
+
+func f(a int) {
+ a = 0;
+}
+
+/*
+bug161.go:8: operation LITERAL not allowed in assignment context
+*/