summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/pr40321.c
blob: a2f83ed8d84af868b94cd4959b277e3cdcb4ccf5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
struct X { int flag; int pos; };
int foo(struct X *a, struct X *b)
{
  while (1)
    {
      if (a->flag)
	break;
      ({ struct X *tmp = a; a = b; b = tmp; });
    }

  return a->pos + b->pos;
}