github.com/mh-cbon/go@v0.0.0-20160603070303-9e112a3fe4c0/test/live_syscall.go (about) 1 // errorcheck -0 -m -live 2 3 // +build !windows 4 5 // Copyright 2015 The Go Authors. All rights reserved. 6 // Use of this source code is governed by a BSD-style 7 // license that can be found in the LICENSE file. 8 9 // Test escape analysis and liveness inferred for syscall.Syscall-like functions. 10 11 package p 12 13 import ( 14 "syscall" 15 "unsafe" 16 ) 17 18 func f(uintptr) // ERROR "f assuming arg#1 is unsafe uintptr" 19 20 func g() { 21 var t int 22 f(uintptr(unsafe.Pointer(&t))) // ERROR "live at call to f: autotmp" "g &t does not escape" 23 } 24 25 func h() { 26 var v int 27 syscall.Syscall(0, 1, uintptr(unsafe.Pointer(&v)), 2) // ERROR "live at call to Syscall: autotmp" "h &v does not escape" 28 }