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;
}
|