rsmith accepted this revision. This revision is now accepted and ready to land.
LGTM ================ Comment at: lib/Sema/SemaExpr.cpp:7940-7941 @@ -7939,4 +7939,4 @@ if (LHS.get()->isValueDependent() || - !LHS.get()->isIntegerConstantExpr(Left, S.Context) || + !LHS.get()->EvaluateAsInt(Left, S.Context) || LHSType->hasUnsignedIntegerRepresentation()) return; ---------------- While you're here, please reverse the order of these two lines. It's much cheaper to check for an unsigned type than to evaluate the expression. ================ Comment at: test/Sema/shift.c:42 @@ -41,3 +41,3 @@ i = 1 << (WORD_BIT - 1); // expected-warning {{sets the sign bit of the shift expression}} - i = -1 << (WORD_BIT - 1); + i = -1 << (WORD_BIT - 1); // expected-warning {{shifting a negative signed value is undefined}} i = 0 << (WORD_BIT - 1); ---------------- Please also add a test that we even warn for shifting a negative value by zero. Repository: rL LLVM http://reviews.llvm.org/D10938 _______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits