improved undefined behavior

--HG--
branch : trunk
10 files changed