Home | History | Annotate | Download | only in test
      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