<<The aim is not to make the code more portable. The aim is to supress a compiler warning. >> Sorry, I still don't understand, why would you want a portable way of suppressing a warning about a construct that is inherently non-portable and may fail on some targets?