Add a common error checking for some invalid expressions.

This refactors a bit of duplicated code and fixes an assertion failure
on ELF.

llvm-svn: 306035
6 files changed