dim added inline comments.
================ Comment at: clang/test/SemaCXX/constant-expression-cxx11.cpp:2479-2486 +template<class T, unsigned size> struct Bitfield { + static constexpr T max = static_cast<T>((1 << size) - 1); +}; + +void testValueInRangeOfEnumerationValuesViaTemplate() { + Bitfield<E2, 3> good; + Bitfield<E2, 4> bad; ---------------- aaron.ballman wrote: > Equivalent but a bit easier to tell where the diagnostic is expected to > happen at. > > Perhaps a good follow-up would be to find out why we're not printing an > "instantiated from here" note for this case (CC @shafik), but no need to do > that for this patch. Ah, I didn't know that syntax. At first I had the `cxx11-error@` just below the `static_cast` in the `Bitfield` class, but it seemed clearer to do it the way I did. That said, you are right that it would probably be handy to show where the instantiation is coming from (if there is a template involved), because currently it does not point you to the exact source line where the problem is: in this case the `bad` declaration. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152788/new/ https://reviews.llvm.org/D152788 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits