/* control_flow_pre_post_increment_local.c generated by valac, the Vala compiler
 * generated from control_flow_pre_post_increment_local.vala, do not modify */

#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

#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);

static void _vala_main (void);

static void
_vala_main (void)
{
	{
		gint local = 0;
		gint res = 0;
		gint _tmp0_;
		gint _tmp1_;
		local = 1;
		_tmp0_ = local;
		_tmp1_ = local;
		local = _tmp1_ + 1;
		res = _tmp0_ + _tmp1_;
		_vala_assert (res == 2, "res == 2");
		_vala_assert (local == 2, "local == 2");
	}
	{
		gint local = 0;
		gint res = 0;
		gint _tmp2_;
		gint _tmp3_;
		local = 1;
		_tmp2_ = local;
		local = _tmp2_ + 1;
		_tmp3_ = local;
		res = _tmp2_ + _tmp3_;
		_vala_assert (res == 3, "res == 3");
		_vala_assert (local == 2, "local == 2");
	}
	{
		gint local = 0;
		gint res = 0;
		gint _tmp4_;
		gint _tmp5_;
		local = 1;
		_tmp4_ = local;
		local = local + 1;
		_tmp5_ = local;
		res = _tmp4_ + _tmp5_;
		_vala_assert (res == 3, "res == 3");
		_vala_assert (local == 2, "local == 2");
	}
	{
		gint local = 0;
		gint res = 0;
		gint _tmp6_;
		gint _tmp7_;
		local = 1;
		local = local + 1;
		_tmp6_ = local;
		_tmp7_ = local;
		res = _tmp6_ + _tmp7_;
		_vala_assert (res == 4, "res == 4");
		_vala_assert (local == 2, "local == 2");
	}
	{
		gint local = 0;
		gint _tmp8_;
		local = 1;
		_tmp8_ = local;
		local = _tmp8_ + 1;
		_vala_assert (_tmp8_ == 1, "local++ == 1");
		_vala_assert (local == 2, "local == 2");
	}
	{
		gint local = 0;
		gint _tmp9_;
		local = 1;
		local = local + 1;
		_tmp9_ = local;
		_vala_assert (_tmp9_ == 2, "++local == 2");
		_vala_assert (local == 2, "local == 2");
	}
	{
		gint local = 0;
		gint res = 0;
		gint _tmp10_;
		gint _tmp11_;
		local = 1;
		_tmp10_ = local;
		_tmp11_ = local;
		local = _tmp11_ - 1;
		res = _tmp10_ + _tmp11_;
		_vala_assert (res == 2, "res == 2");
		_vala_assert (local == 0, "local == 0");
	}
	{
		gint local = 0;
		gint res = 0;
		gint _tmp12_;
		gint _tmp13_;
		local = 1;
		_tmp12_ = local;
		local = _tmp12_ - 1;
		_tmp13_ = local;
		res = _tmp12_ + _tmp13_;
		_vala_assert (res == 1, "res == 1");
		_vala_assert (local == 0, "local == 0");
	}
	{
		gint local = 0;
		gint res = 0;
		gint _tmp14_;
		gint _tmp15_;
		local = 1;
		_tmp14_ = local;
		local = local - 1;
		_tmp15_ = local;
		res = _tmp14_ + _tmp15_;
		_vala_assert (res == 1, "res == 1");
		_vala_assert (local == 0, "local == 0");
	}
	{
		gint local = 0;
		gint res = 0;
		gint _tmp16_;
		gint _tmp17_;
		local = 1;
		local = local - 1;
		_tmp16_ = local;
		_tmp17_ = local;
		res = _tmp16_ + _tmp17_;
		_vala_assert (res == 0, "res == 0");
		_vala_assert (local == 0, "local == 0");
	}
	{
		gint local = 0;
		gint _tmp18_;
		local = 1;
		_tmp18_ = local;
		local = _tmp18_ - 1;
		_vala_assert (_tmp18_ == 1, "local-- == 1");
		_vala_assert (local == 0, "local == 0");
	}
	{
		gint local = 0;
		gint _tmp19_;
		local = 1;
		local = local - 1;
		_tmp19_ = local;
		_vala_assert (_tmp19_ == 0, "--local == 0");
		_vala_assert (local == 0, "local == 0");
	}
}

int
main (int argc,
      char ** argv)
{
	_vala_main ();
	return 0;
}

