diff options
author | Ben Cheng <bccheng@google.com> | 2014-03-25 22:37:19 -0700 |
---|---|---|
committer | Ben Cheng <bccheng@google.com> | 2014-03-25 22:37:19 -0700 |
commit | 1bc5aee63eb72b341f506ad058502cd0361f0d10 (patch) | |
tree | c607e8252f3405424ff15bc2d00aa38dadbb2518 /gcc-4.9/gcc/testsuite/go.test/test/fixedbugs/issue4909a.go | |
parent | 283a0bf58fcf333c58a2a92c3ebbc41fb9eb1fdb (diff) | |
download | toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.tar.gz toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.tar.bz2 toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.zip |
Initial checkin of GCC 4.9.0 from trunk (r208799).
Change-Id: I48a3c08bb98542aa215912a75f03c0890e497dba
Diffstat (limited to 'gcc-4.9/gcc/testsuite/go.test/test/fixedbugs/issue4909a.go')
-rw-r--r-- | gcc-4.9/gcc/testsuite/go.test/test/fixedbugs/issue4909a.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/go.test/test/fixedbugs/issue4909a.go b/gcc-4.9/gcc/testsuite/go.test/test/fixedbugs/issue4909a.go new file mode 100644 index 000000000..aefe2d645 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/go.test/test/fixedbugs/issue4909a.go @@ -0,0 +1,35 @@ +// errorcheck + +// Copyright 2013 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 4909: compiler incorrectly accepts unsafe.Offsetof(t.x) +// where x is a field of an embedded pointer field. + +package p + +import ( + "unsafe" +) + +type T struct { + A int + *B +} + +func (t T) Method() {} + +type B struct { + X, Y int +} + +var t T +var p *T + +const N1 = unsafe.Offsetof(t.X) // ERROR "indirection" +const N2 = unsafe.Offsetof(p.X) // ERROR "indirection" +const N3 = unsafe.Offsetof(t.B.X) // valid +const N4 = unsafe.Offsetof(p.B.X) // valid +const N5 = unsafe.Offsetof(t.Method) // ERROR "method value" +const N6 = unsafe.Offsetof(p.Method) // ERROR "method value" |