]> Cypherpunks.ru repositories - gostls13.git/blob - test/live_syscall.go
c9bf0f29c57a560f401024b769f94a8c1bd9291f
[gostls13.git] / test / live_syscall.go
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 }