diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2011-01-04 06:52:15 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2011-01-04 06:52:15 +0000 |
commit | e0cee6a8b00cd48e3bf060a1ff479a08601049f9 (patch) | |
tree | 28c5f33eb655dd11872941027a4529298ea00f3e /llvm/lib/Transforms | |
parent | 82e8332a222d98a572b9cc685a4aeed9a3e591aa (diff) | |
download | bcm5719-llvm-e0cee6a8b00cd48e3bf060a1ff479a08601049f9.tar.gz bcm5719-llvm-e0cee6a8b00cd48e3bf060a1ff479a08601049f9.zip |
Implement -Wself-assign, which warns on code such as:
int x = 42;
x = x; // Warns here.
The warning avoids macro expansions, templates, user-defined assignment
operators, and volatile types, so false positives are expected to be low.
The common (mis-)use of this code pattern is to silence unused variable
warnings, but a more idiomatic way of doing that is '(void)x;'.
A follow-up to this will add a note and fix-it hint suggesting this
replacement in cases where the StmtExpr consists precisely of the self
assignment.
llvm-svn: 122804
Diffstat (limited to 'llvm/lib/Transforms')
0 files changed, 0 insertions, 0 deletions