««« backport
b5c4f411a852
cmd/gc: add missing case for OCOM in defaultlit()
Fixes #3765.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/
6349064
»»»
}
n->type = t;
return;
+ case OCOM:
case ONOT:
defaultlit(&n->left, t);
n->type = n->left->type;
return;
default:
- if(n->left == N) {
+ if(n->left == N || n->right == N) {
dump("defaultlit", n);
fatal("defaultlit");
}
--- /dev/null
+// compile
+
+// Copyright 2012 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 3765
+
+package main
+
+func f(x uint) uint {
+ m := ^(1 << x)
+ return uint(m)
+}