github.com/4ad/go@v0.0.0-20161219182952-69a12818b605/misc/cgo/test/issue8148.go (about)

     1  // Copyright 2014 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.
     4  
     5  // Issue 8148.  A typedef of an unnamed struct didn't work when used
     6  // with an exported Go function.  No runtime test; just make sure it
     7  // compiles.
     8  
     9  package cgotest
    10  
    11  /*
    12  typedef struct { int i; } T;
    13  
    14  int issue8148Callback(T*);
    15  
    16  static int get() {
    17  	T t;
    18  	t.i = 42;
    19  	return issue8148Callback(&t);
    20  }
    21  */
    22  import "C"
    23  
    24  //export issue8148Callback
    25  func issue8148Callback(t *C.T) C.int {
    26  	return t.i
    27  }
    28  
    29  func Issue8148() int {
    30  	return int(C.get())
    31  }