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
|
/* enums_flags.c generated by valac, the Vala compiler
* generated from enums_flags.vala, do not modify */
#include <glib-object.h>
#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 enum {
FOO_VAL1 = 1 << 0,
FOO_VAL2 = 1 << 1,
FOO_VAL3 = 1 << 2
} Foo;
#define TYPE_FOO (foo_get_type ())
#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 GType
foo_get_type_once (void)
{
static const GFlagsValue values[] = {{FOO_VAL1, "FOO_VAL1", "val1"}, {FOO_VAL2, "FOO_VAL2", "val2"}, {FOO_VAL3, "FOO_VAL3", "val3"}, {0, NULL, NULL}};
GType foo_type_id;
foo_type_id = g_flags_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 void
_vala_main (void)
{
Foo foo = 0U;
Foo bar = 0U;
Foo baz = 0U;
foo = (FOO_VAL1 | FOO_VAL2) | FOO_VAL3;
bar = FOO_VAL1 | FOO_VAL2;
baz = bar | FOO_VAL3;
_vala_assert (FOO_VAL1 == (1 << 0), "Foo.VAL1 == 1 << 0");
_vala_assert (FOO_VAL2 == (1 << 1), "Foo.VAL2 == 1 << 1");
_vala_assert (FOO_VAL3 == (1 << 2), "Foo.VAL3 == 1 << 2");
_vala_assert ((bar & FOO_VAL1) == FOO_VAL1, "Foo.VAL1 in bar");
_vala_assert ((bar & (FOO_VAL1 | FOO_VAL2)) == (FOO_VAL1 | FOO_VAL2), "(Foo.VAL1 | Foo.VAL2) in bar");
_vala_assert (!((bar & FOO_VAL3) == FOO_VAL3), "!(Foo.VAL3 in bar)");
_vala_assert ((baz & FOO_VAL1) == FOO_VAL1, "Foo.VAL1 in baz");
_vala_assert ((baz & FOO_VAL2) == FOO_VAL2, "Foo.VAL2 in baz");
_vala_assert ((baz & FOO_VAL3) == FOO_VAL3, "Foo.VAL3 in baz");
_vala_assert ((foo & bar) == bar, "bar in foo");
}
int
main (int argc,
char ** argv)
{
_vala_main ();
return 0;
}
|