
typedef struct
{
	int x, y;
} MyCoords;

int getX(MyCoords *coords);
void doSomething(void *something);

typedef struct
{
	char isTrue;
} MyBool;

void myTest_with_local_flow(MyBool *b, int pos) // $ ast-def=b ir-def=*b
{
	MyCoords coords = {0};

	if (b->isTrue) {
		goto next;
	}

next:
	coords.x = coords.y = pos + 1;
	// There is flow from `{0}` to `coords` in `&coords` on the next line.
	coords.x = getX(&coords);

	doSomething((void *)&pos);
}
