[clang-tidy] New checker for redundant expressions.

Description

[clang-tidy] New checker for redundant expressions.

Summary:
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.

Example:

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

Details

Committed
etiennebApr 26 2016, 10:30 AM
Differential Revision
D19451: [clang-tidy] New checker for redundant expressions.
Parents
rL267573: [AMDGPU] Move reserved vgpr count for trap handler usage to…
Branches
Unknown
Tags
Unknown