diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2023-01-31 15:43:57 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2023-01-31 15:43:57 +0100 |
commit | c72958545735716f752a439cda183bf5c45333d5 (patch) | |
tree | 03752006d281794aa0ec0aefe9f7acf909b826b2 /tests/generics/method-return-cast.c-expected | |
parent | 54ca3c304d252eda7fe7ee50014ca28a3b68dd19 (diff) | |
download | vala-c72958545735716f752a439cda183bf5c45333d5.tar.gz |
codegen: Perform required casts for generic types of return-values and in/out-parameters
Found by -Werror=int-conversion
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1407
Diffstat (limited to 'tests/generics/method-return-cast.c-expected')
-rw-r--r-- | tests/generics/method-return-cast.c-expected | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/tests/generics/method-return-cast.c-expected b/tests/generics/method-return-cast.c-expected new file mode 100644 index 000000000..08e05f365 --- /dev/null +++ b/tests/generics/method-return-cast.c-expected @@ -0,0 +1,127 @@ +/* generics_method_return_cast.c generated by valac, the Vala compiler + * generated from generics_method_return_cast.vala, do not modify */ + +#include <glib.h> +#include <glib-object.h> +#include <stdlib.h> +#include <string.h> + +#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 gboolean get_bool (void); +VALA_EXTERN gpointer minim_b (GType t_type, + GBoxedCopyFunc t_dup_func, + GDestroyNotify t_destroy_func); +VALA_EXTERN guint32 get_uint32 (void); +VALA_EXTERN gpointer minim_u (GType t_type, + GBoxedCopyFunc t_dup_func, + GDestroyNotify t_destroy_func); +VALA_EXTERN gchar* get_string (void); +VALA_EXTERN gpointer minim_s (GType t_type, + GBoxedCopyFunc t_dup_func, + GDestroyNotify t_destroy_func); +static void _vala_main (void); + +gboolean +get_bool (void) +{ + gboolean result; + result = TRUE; + return result; +} + +gpointer +minim_b (GType t_type, + GBoxedCopyFunc t_dup_func, + GDestroyNotify t_destroy_func) +{ + gpointer result; + result = (gpointer) ((gintptr) get_bool ()); + return result; +} + +guint32 +get_uint32 (void) +{ + guint32 result; + result = (guint32) 42U; + return result; +} + +gpointer +minim_u (GType t_type, + GBoxedCopyFunc t_dup_func, + GDestroyNotify t_destroy_func) +{ + gpointer result; + result = (gpointer) ((guintptr) get_uint32 ()); + return result; +} + +gchar* +get_string (void) +{ + gchar* _tmp0_; + gchar* result; + _tmp0_ = g_strdup ("bar"); + result = _tmp0_; + return result; +} + +gpointer +minim_s (GType t_type, + GBoxedCopyFunc t_dup_func, + GDestroyNotify t_destroy_func) +{ + gchar* _tmp0_; + gpointer result; + _tmp0_ = get_string (); + result = _tmp0_; + return result; +} + +static void +_vala_main (void) +{ + { + gpointer _tmp0_; + _tmp0_ = minim_b (G_TYPE_BOOLEAN, NULL, NULL); + _vala_assert (((gboolean) ((gintptr) _tmp0_)) == TRUE, "minim_b<bool> () == true"); + } + { + gpointer _tmp1_; + _tmp1_ = minim_u (G_TYPE_UINT, NULL, NULL); + _vala_assert (((guint32) ((guintptr) _tmp1_)) == ((guint32) 42U), "minim_u<uint32> () == 42U"); + } + { + gpointer _tmp2_; + gchar* _tmp3_; + _tmp2_ = minim_s (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free); + _tmp3_ = (gchar*) _tmp2_; + _vala_assert (g_strcmp0 (_tmp3_, "bar") == 0, "minim_s<string> () == \"bar\""); + _g_free0 (_tmp3_); + } +} + +int +main (int argc, + char ** argv) +{ + _vala_main (); + return 0; +} + |