/* genie_exception.c generated by valac, the Vala compiler
 * generated from genie_exception.gs, do not modify */

#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <glib-object.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

#define TYPE_TEST_ERROR (test_error_get_type ())
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))

typedef enum  {
	TEST_ERROR_FAIL,
	TEST_ERROR_BAD,
	TEST_ERROR_WORSE
} TestError;
#define TEST_ERROR test_error_quark ()

static void _vala_main (gchar** args,
                 gint args_length1);
VALA_EXTERN GQuark test_error_quark (void);
VALA_EXTERN GType test_error_get_type (void) G_GNUC_CONST ;

static void
_vala_main (gchar** args,
            gint args_length1)
{
	GError* e = NULL;
	GError* _tmp0_;
	_tmp0_ = g_error_new_literal (TEST_ERROR, TEST_ERROR_BAD, "not so good");
	e = _tmp0_;
	_g_error_free0 (e);
}

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

GQuark
test_error_quark (void)
{
	return g_quark_from_static_string ("test-error-quark");
}

static GType
test_error_get_type_once (void)
{
	static const GEnumValue values[] = {{TEST_ERROR_FAIL, "TEST_ERROR_FAIL", "fail"}, {TEST_ERROR_BAD, "TEST_ERROR_BAD", "bad"}, {TEST_ERROR_WORSE, "TEST_ERROR_WORSE", "worse"}, {0, NULL, NULL}};
	GType test_error_type_id;
	test_error_type_id = g_enum_register_static ("TestError", values);
	return test_error_type_id;
}

GType
test_error_get_type (void)
{
	static volatile gsize test_error_type_id__once = 0;
	if (g_once_init_enter (&test_error_type_id__once)) {
		GType test_error_type_id;
		test_error_type_id = test_error_get_type_once ();
		g_once_init_leave (&test_error_type_id__once, test_error_type_id);
	}
	return test_error_type_id__once;
}

