1 // Copyright 2015 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
12 void f(int32_t *p, int n) {
13 int32_t * volatile q = (int32_t *)malloc(sizeof(int32_t) * n);
14 memcpy(p, q, n * sizeof(*p));
18 void g(int32_t *p, int n) {
31 a := make([]int32, 10)
32 C.f((*C.int32_t)(unsafe.Pointer(&a[0])), C.int(len(a)))
34 C.g((*C.int32_t)(unsafe.Pointer(&a[0])), C.int(len(a)))