summaryrefslogtreecommitdiff
path: root/tests/structs/bug613825.c-expected
diff options
context:
space:
mode:
Diffstat (limited to 'tests/structs/bug613825.c-expected')
-rw-r--r--tests/structs/bug613825.c-expected89
1 files changed, 89 insertions, 0 deletions
diff --git a/tests/structs/bug613825.c-expected b/tests/structs/bug613825.c-expected
new file mode 100644
index 000000000..d70336d3e
--- /dev/null
+++ b/tests/structs/bug613825.c-expected
@@ -0,0 +1,89 @@
+/* structs_bug613825.c generated by valac, the Vala compiler
+ * generated from structs_bug613825.vala, do not modify */
+
+#include <glib-object.h>
+#include <glib.h>
+#include <string.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
+
+#define TYPE_FOO (foo_get_type ())
+typedef struct _Foo Foo;
+#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);
+
+struct _Foo {
+ gint i;
+};
+
+VALA_EXTERN GType foo_get_type (void) G_GNUC_CONST ;
+VALA_EXTERN Foo* foo_dup (const Foo* self);
+VALA_EXTERN void foo_free (Foo* self);
+static void _vala_main (void);
+
+Foo*
+foo_dup (const Foo* self)
+{
+ Foo* dup;
+ dup = g_new0 (Foo, 1);
+ memcpy (dup, self, sizeof (Foo));
+ return dup;
+}
+
+void
+foo_free (Foo* self)
+{
+ g_free (self);
+}
+
+static GType
+foo_get_type_once (void)
+{
+ GType foo_type_id;
+ foo_type_id = g_boxed_type_register_static ("Foo", (GBoxedCopyFunc) foo_dup, (GBoxedFreeFunc) foo_free);
+ return foo_type_id;
+}
+
+GType
+foo_get_type (void)
+{
+ static volatile gsize foo_type_id__volatile = 0;
+ if (g_once_init_enter (&foo_type_id__volatile)) {
+ GType foo_type_id;
+ foo_type_id = foo_get_type_once ();
+ g_once_init_leave (&foo_type_id__volatile, foo_type_id);
+ }
+ return foo_type_id__volatile;
+}
+
+static void
+_vala_main (void)
+{
+ Foo foo = {0};
+ Foo _tmp0_ = {0};
+ Foo _tmp1_;
+ memset (&_tmp0_, 0, sizeof (Foo));
+ _tmp0_.i = 42;
+ foo = _tmp0_;
+ _tmp1_ = foo;
+ _vala_assert (_tmp1_.i == 42, "foo.i == 42");
+}
+
+int
+main (int argc,
+ char ** argv)
+{
+ _vala_main ();
+ return 0;
+}
+