Continuation of: https://sourceforge.net/tracker/?func=detail&atid=405858&aid=3044889&group_id=32584
It seems you closed that post and I cannot reply or submit a patch.
The problem is not solved.
I only found out about this if (0) case because of a linker error from code included inside the if (0).
This does not get optimized away as you claim.
I am using GCC 4.4.4 and Binutils 2.20.
If you do not close this, I can make a patch that changes all of those if (0) cases into comments when I get around to it.