aaron.ballman added inline comments.
================ Comment at: clang/test/AST/Interp/shifts.cpp:165-171 + constexpr int negativeShift() { // cxx17-error {{never produces a constant expression}} \ + // ref-cxx17-error {{never produces a constant expression}} + return -1 << 2; // cxx17-warning {{shifting a negative signed value is undefined}} \ + // ref-cxx17-warning {{shifting a negative signed value is undefined}} \ + // cxx17-note {{left shift of negative value -1}} \ + // ref-cxx17-note {{left shift of negative value -1}} + } ---------------- I'd like a test along the lines of: ``` constexpr int foo(int a) { return -a << 2; } static_assert(foo(10)); // Should fail constexpr int a = -2; static_assert(foo(a)); // Should be fine static_assert(foo(-a)); // Should fail ``` CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150209/new/ https://reviews.llvm.org/D150209 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits