[clang-tidy] New checker for redundant expressions.

Authored by etienneb on Apr 26 2016, 10:30 AM.


[clang-tidy] New checker for redundant expressions.

This checker finds redundant expression on both side of a binary operator.

The current implementation provide a function to check whether expressions
are equivalent. This implementation is able to recognize the common
subset encounter in C++ program. Side-effects like "x++" are not considered
to be equivalent.

There are many False Positives related to macros and to floating point
computations (detecting NaN). The checker is ignoring these cases.


if( !dst || dst->depth != desired_depth ||
    dst->nChannels != desired_num_channels ||
    dst_size.width != src_size.width ||
    dst_size.height != dst_size.height )    <<--- bug

Reviewers: alexfh

Subscribers: danielmarjamaki, fahlgren, jordan_rose, zaks.anna, Eugene.Zelenko, cfe-commits

Differential Revision: http://reviews.llvm.org/D19451

llvm-svn: 267574