/* delegates_fields.c generated by valac, the Vala compiler
 * generated from delegates_fields.vala, do not modify */

#include <glib.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

typedef void (*FooFunc) (gpointer user_data);
typedef void (*FooFuncTargetless) (void);

VALA_EXTERN FooFunc foo;
VALA_EXTERN gpointer foo_target;
VALA_EXTERN GDestroyNotify foo_target_destroy_notify;
FooFunc foo = NULL;
gpointer foo_target = NULL;
GDestroyNotify foo_target_destroy_notify = NULL;
VALA_EXTERN FooFunc foo_unowned;
VALA_EXTERN gpointer foo_unowned_target;
FooFunc foo_unowned = NULL;
gpointer foo_unowned_target = NULL;
VALA_EXTERN FooFuncTargetless foo_targetless;
FooFuncTargetless foo_targetless = NULL;

VALA_EXTERN void func (void);
static void _vala_main (void);
static void _func_foo_func (gpointer self);
static void _func_foo_func_targetless (void);

void
func (void)
{
}

static void
_func_foo_func (gpointer self)
{
	func ();
}

static void
_func_foo_func_targetless (void)
{
	func ();
}

static void
_vala_main (void)
{
	(foo_target_destroy_notify == NULL) ? NULL : (foo_target_destroy_notify (foo_target), NULL);
	foo = NULL;
	foo_target = NULL;
	foo_target_destroy_notify = NULL;
	foo = _func_foo_func;
	foo_target = NULL;
	foo_target_destroy_notify = NULL;
	foo_unowned = _func_foo_func;
	foo_unowned_target = NULL;
	foo_targetless = _func_foo_func_targetless;
}

int
main (int argc,
      char ** argv)
{
	_vala_main ();
	return 0;
}

