Recently-introduced segfaults

Not looked into what's caused it, but stuff like

  extern int a;
  enum { as = 1 ? 2: (a = 3) };

is segfaulting after diagnosing the 'a'.

Neil.

Fixed, thanks.

-Chris