Comment Re:Very different code (Score 1) 225
I think you meant if ( ( a = b ) ), which highlights a different reason this construct is problematic: If you make that error outside the context of a control construct, you'll get a warning about a meaningless computation.
Your proposed fix isn't really a fix, though. It shuts up GCC, but it doesn't shut up RVCT, for example.