blob: 78c9d10611b81308d009763bf7e3b3775458cd84 [file] [log] [blame]
%module extern_c
%inline %{
extern "C" {
void RealFunction(int value);
typedef void Function1(int value); // Fails
typedef int Integer1;
int Integer3;
}
typedef void Function2(int value); // Works
typedef int Integer2;
%}
%{
void RealFunction(int value) {}
%}
%inline %{
extern "C" {
typedef void (*Hook1_t)(int, const char *);
}
extern "C" typedef void (*Hook2_t)(int, const char *);
void funcy1(Hook1_t) {}
void funcy2(Hook2_t) {}
Hook1_t hook1;
Hook2_t hook2;
extern "C" typedef int Integer;
Integer int1;
extern "C" int int2;
extern "C" { extern int int3; }
extern "C" { int int4 = 789; }
%}
%{
extern "C" {
int int2 = 123;
int int3 = 456;
}
%}