malcolm.parsons added inline comments.
================ Comment at: test/SemaCXX/warn-unused-lambda-capture.cpp:86 + auto explicit_by_value_unused_sizeof = [i] { return sizeof(i); }; // expected-warning{{lambda capture 'i' is not required to be captured for use in an unevaluated context}} + auto explicit_by_value_unused_decltype = [i] { decltype(i) j = 0; }; // expected-warning{{lambda capture 'i' is not used}} + ---------------- aaron.ballman wrote: > malcolm.parsons wrote: > > I don't know why the unevaluated context warning didn't work here. > Hmm, it should have, come to think of it. I don't think that's an odr-use > (when I get near a standard, I'll double-check), and it is unevaluated. Worth > poking at. The unevaluated context warning worked on line 38 where it's not in a template and on line 85 where it's `sizeof` instead of `decltype`. Somehow the template instantiation is avoiding some work when the capture doesn't have a dependent type. https://reviews.llvm.org/D28467 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits