The wrong value made Nconv() show "1" for node "-1", and "2" from
node "2+3".
Fixes #2452.
R=gri, lvd, rsc
CC=golang-dev, remy
https://golang.org/cl/
5435064
void
evconst(Node *n)
{
- Node *nl, *nr;
+ Node *nl, *nr, *norig;
int32 len;
Strlit *str;
int wl, wr, lno, et;
}
ret:
+ norig = n->orig;
// rewrite n in place.
*n = *nl;
+ // restore value of n->orig.
+ n->orig = norig;
n->val = v;
// check range.
--- /dev/null
+// errchk $G $D/$F.go
+
+// Copyright 2011 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.
+
+// Issue 2452.
+
+// Check that the error messages says
+// bug378.go:17: 3 not used
+// and not
+// bug378.go:17: 1 not used
+
+package main
+
+func main() {
+ 1 + 2 // ERROR "3 not used|value computed is not used"
+}