package main // Make sure CGo supports multiple files. // #include "test.h" // int fortytwo(void); // static float headerfunc_static(float a) { return a - 1; } // static void headerfunc_void(int a, int *ptr) { *ptr = a; } import "C" func headerfunc_2() { // Call headerfunc_static that is different from the headerfunc_static in // the main.go file. // The upstream CGo implementation does not handle this case correctly. println("static headerfunc 2:", C.headerfunc_static(5)) // Test function without return value. var n C.int C.headerfunc_void(3, &n) println("static headerfunc void:", n) // anonymous structs and enums in multiple Go files var _ C.teststruct var _ C.testenum }