Text file
misc/cgo/test/callback_c_gc.c
1 // Copyright 2013 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 // +build gc
6
7 #include "_cgo_export.h"
8 #include <stdint.h>
9 #include <stdio.h>
10 #include <stdlib.h>
11
12 /* Test calling panic from C. This is what SWIG does. */
13
14 extern void crosscall2(void (*fn)(void *, int), void *, int);
15 extern void _cgo_panic(void *, int);
16 extern void _cgo_allocate(void *, int);
17
18 void
19 callPanic(void)
20 {
21 struct { const char *p; } a;
22 a.p = "panic from C";
23 crosscall2(_cgo_panic, &a, sizeof a);
24 *(int*)1 = 1;
25 }
26
View as plain text