optimize or-shift to multiply
add ErrorStatement
Merge pull request #2340 from WalterBright/ErrorStatement

add ErrorStatement
Merge pull request #2333 from WalterBright/or-shift

optimize or-shift to multiply