// Copyright 2013 The Go Authors. All rights reserved. | |
// Use of this source code is governed by a BSD-style | |
// license that can be found in the LICENSE file. | |
// +build gc | |
#include "_cgo_export.h" | |
#include <stdint.h> | |
#include <stdio.h> | |
#include <stdlib.h> | |
/* Test calling panic from C. This is what SWIG does. */ | |
extern void crosscall2(void (*fn)(void *, int), void *, int); | |
extern void _cgo_panic(void *, int); | |
extern void _cgo_allocate(void *, int); | |
void | |
callPanic(void) | |
{ | |
struct { const char *p; } a; | |
a.p = "panic from C"; | |
crosscall2(_cgo_panic, &a, sizeof a); | |
*(int*)1 = 1; | |
} |