summaryrefslogtreecommitdiff
path: root/tests/basic-types/bug678791.c-expected
blob: 9826ce745e2f7e554576ba73f6b0040752e04a45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/* basic_types_bug678791.c generated by valac, the Vala compiler
 * generated from basic_types_bug678791.vala, do not modify */

#include <glib-object.h>
#include <glib.h>

#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 enum  {
	FOO_BAR
} Foo;

#define TYPE_FOO (foo_get_type ())
#define _g_free0(var) ((var == NULL) ? NULL : (var = (g_free (var), NULL)))
#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);

VALA_EXTERN GType foo_get_type (void) G_GNUC_CONST ;
static void _vala_main (void);
static gboolean _int_equal (const gint * s1,
                     const gint * s2);
static gboolean _foo_equal (const Foo * s1,
                     const Foo * s2);

static GType
foo_get_type_once (void)
{
	static const GEnumValue values[] = {{FOO_BAR, "FOO_BAR", "bar"}, {0, NULL, NULL}};
	GType foo_type_id;
	foo_type_id = g_enum_register_static ("Foo", values);
	return foo_type_id;
}

GType
foo_get_type (void)
{
	static volatile gsize foo_type_id__once = 0;
	if (g_once_init_enter (&foo_type_id__once)) {
		GType foo_type_id;
		foo_type_id = foo_get_type_once ();
		g_once_init_leave (&foo_type_id__once, foo_type_id);
	}
	return foo_type_id__once;
}

static gboolean
_int_equal (const gint * s1,
            const gint * s2)
{
	if (s1 == s2) {
		return TRUE;
	}
	if (s1 == NULL) {
		return FALSE;
	}
	if (s2 == NULL) {
		return FALSE;
	}
	return (*s1) == (*s2);
}

static gboolean
_foo_equal (const Foo * s1,
            const Foo * s2)
{
	if (s1 == s2) {
		return TRUE;
	}
	if (s1 == NULL) {
		return FALSE;
	}
	if (s2 == NULL) {
		return FALSE;
	}
	return (*s1) == (*s2);
}

static void
_vala_main (void)
{
	gint* a = NULL;
	gint b = 0;
	Foo* f = NULL;
	Foo g = 0;
	a = NULL;
	b = 1;
	_vala_assert (_int_equal (a, &b) != TRUE, "a != b");
	_vala_assert (_int_equal (&b, a) != TRUE, "b != a");
	f = NULL;
	g = FOO_BAR;
	_vala_assert (_foo_equal (f, &g) != TRUE, "f != g");
	_vala_assert (_foo_equal (&g, f) != TRUE, "g != f");
	_g_free0 (f);
	_g_free0 (a);
}

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