/* generics_parameter_out_cast.c generated by valac, the Vala compiler * generated from generics_parameter_out_cast.vala, do not modify */ #include #include #include #include #if !defined(VALA_EXTERN) #if defined(_WIN32) || defined(__CYGWIN__) #define VALA_EXTERN __declspec(dllexport) extern #elif __GNUC__ >= 4 #define VALA_EXTERN __attribute__((visibility("default"))) extern #else #define VALA_EXTERN extern #endif #endif #define _g_free0(var) (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 void manam (GType t_type, GBoxedCopyFunc t_dup_func, GDestroyNotify t_destroy_func, gconstpointer foo, gpointer* bar); static void _vala_main (void); void manam (GType t_type, GBoxedCopyFunc t_dup_func, GDestroyNotify t_destroy_func, gconstpointer foo, gpointer* bar) { gpointer _vala_bar = NULL; gpointer _tmp0_; _tmp0_ = ((foo != NULL) && (t_dup_func != NULL)) ? t_dup_func ((gpointer) foo) : ((gpointer) foo); ((_vala_bar == NULL) || (t_destroy_func == NULL)) ? NULL : (_vala_bar = (t_destroy_func (_vala_bar), NULL)); _vala_bar = _tmp0_; if (bar) { *bar = _vala_bar; } else { ((_vala_bar == NULL) || (t_destroy_func == NULL)) ? NULL : (_vala_bar = (t_destroy_func (_vala_bar), NULL)); } } static void _vala_main (void) { { gboolean bar = FALSE; gpointer _tmp0_ = NULL; manam (G_TYPE_BOOLEAN, NULL, NULL, (gpointer) ((gintptr) TRUE), &_tmp0_); bar = (gboolean) ((gintptr) _tmp0_); _vala_assert (bar == TRUE, "bar == true"); } { guint32 bar = 0U; gpointer _tmp1_ = NULL; manam (G_TYPE_UINT, NULL, NULL, (gpointer) ((guintptr) 23U), &_tmp1_); bar = (guint32) ((guintptr) _tmp1_); _vala_assert (bar == ((guint32) 23U), "bar == 23U"); } { gchar* bar = NULL; gpointer _tmp2_ = NULL; manam (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, "bar", &_tmp2_); _g_free0 (bar); bar = (gchar*) _tmp2_; _vala_assert (g_strcmp0 (bar, "bar") == 0, "bar == \"bar\""); _g_free0 (bar); } } int main (int argc, char ** argv) { _vala_main (); return 0; }