On Thu, 2005-04-14 at 16:57 -0400, Matthew Miller wrote: > On Thu, Apr 14, 2005 at 04:40:46PM -0400, Dan Williams wrote: > > > n1 = *(((unsigned int *) src1)++); > > Split up (1) the assignment of *src1 -> n1, and (2) the increment of > > src1 into two distinct lines of code. gcc 4 tightens handling of > > lvalues and rvalues, which this code is abusing. > > It'll also be about 700 times more readable done that way. Not to mention that it's far more portable. Casts-as-lvalues was a GCC extension, I'm not aware of any other compiler which implements that extension. jeff