? : and precedence

Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3681

Reported by Martin Stjernholm mast@roxen.com

The following example requires parenthesis around the assignment to get through the compiler. The equivalent C program passes at least gcc.

  int main (int argc)
  {
    return argc ? argc = 17 : 0;
  }

Even though ?: has higher precedence than =, it's reasonable that the compiler would search for : with the lowest possible precedence when it has parsed a ?.