On 09/10/2019 04:04, Richard Smith via cfe-commits wrote:
Author: rsmith
Date: Tue Oct 8 19:04:54 2019
New Revision: 374135
URL: http://llvm.org/viewvc/llvm-project?rev=374135&view=rev
Log:
[c++20] P1152R4: warn on any simple-assignment to a volatile lvalue
whose value is not ignored.
We don't warn on all the cases that are deprecated: specifically, we
choose to not warn for now if there are parentheses around the
assignment but its value is not actually used. This seems like a more
defensible rule, particularly for cases like sizeof(v = a), where the
parens are part of the operand rather than the sizeof syntax.
Modified:
cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
cfe/trunk/include/clang/Sema/Sema.h
cfe/trunk/lib/Sema/SemaExpr.cpp
cfe/trunk/lib/Sema/SemaExprCXX.cpp
cfe/trunk/test/SemaCXX/deprecated.cpp
cfe/trunk/www/cxx_status.html
Oh, I should probably have commented here on the mailing list rather
than at
<https://github.com/llvm/llvm-project/commit/4a6861a7e5b59be24a09b8b9782255d028e7aade#commitcomment-35540755>:
I assume the scenario at
<https://gitlab.gnome.org/GNOME/glib/merge_requests/1170> "Avoid C++20
deprecated assignment to volatile",
(void) (0 ? *(location) = (result) : 0);
where *(location) is of (non-class) volatile type, is a true positive
that we indeed want to warn about?
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits