...

Text file src/cmd/cgo/internal/test/callback_c_gc.c

Documentation: cmd/cgo/internal/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//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