aaron.ballman added inline comments.
================ Comment at: clang/test/SemaCXX/constant-expression-cxx11.cpp:2420 + constexpr E1 x2 = static_cast<E1>(8); // expected-error {{must be initialized by a constant expression}} + // expected-note@-1 {{integer value 8 is outside the valid range of values [-8, 8) for this enumeration type}} + ---------------- erichkeane wrote: > aaron.ballman wrote: > > erichkeane wrote: > > > Are we ok with how subtle the `[N, M)` syntax is here? > > FWIW, I pulled this from diagnostics like: > > https://github.com/llvm/llvm-project/blob/main/clang/include/clang/Basic/DiagnosticSemaKinds.td#L9904 > > and > > https://github.com/llvm/llvm-project/blob/main/clang/include/clang/Basic/DiagnosticSemaKinds.td#L11541 > Those aren't particularly high quality diagnostics, the first is for builtin > ranges (and builtins have notoriously bad diagnostics), the 2nd is for the > matrix type, which is only slightly better. > > That said, if you are ok with it, I'm ok, just somewhat afraid it'll be a > touch confusing. Yeah, it's not the best diagnostic, to be sure. The trouble is that spelling it out makes it worse IMO: `integer value %0 is outside the valid range of values %1 (inclusive) and %2 (exclusive) for this enumeration type` CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130058/new/ https://reviews.llvm.org/D130058 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits