...
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//go: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
14extern void crosscall2(void (*fn)(void *, int), void *, int);
15extern void _cgo_panic(void *, int);
16extern void _cgo_allocate(void *, int);
17
18void
19callPanic(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}
View as plain text