switch (1) { case 111111111111111111111111111111111111111: ; } generates invalid bitcode with clang -emit-llvm. Looks like codegen isn't using the truncated value that sema is calculating. (Maybe we should be putting an ImplicitCastExpr in here?) -Eli