I made some code that looks like this:

```
int foo, bar1 = 4, bar2 = 7;

foo = bar1, bar2; // Look at this expression.

printf("%d", foo);

```

Compiled it with GCC, with **-Wall** and **-Wextra**.
The output was `4`.

Apart from being ugly, is this expression undefined behaviour, or is `foo` always set to `bar1`?