Author: rtrieu Date: Mon May 19 20:34:43 2014 New Revision: 209186 URL: http://llvm.org/viewvc/llvm-project?rev=209186&view=rev Log: Ignore void returning overloaded functions fom -Wunused-comparison. PR19791.
Modified: cfe/trunk/lib/AST/Expr.cpp cfe/trunk/test/SemaCXX/warn-unused-comparison.cpp Modified: cfe/trunk/lib/AST/Expr.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/Expr.cpp?rev=209186&r1=209185&r2=209186&view=diff ============================================================================== --- cfe/trunk/lib/AST/Expr.cpp (original) +++ cfe/trunk/lib/AST/Expr.cpp Mon May 19 20:34:43 2014 @@ -2094,7 +2094,8 @@ bool Expr::isUnusedResultAWarning(const case OO_Greater: case OO_GreaterEqual: case OO_LessEqual: - if (Op->getCallReturnType()->isReferenceType()) + if (Op->getCallReturnType()->isReferenceType() || + Op->getCallReturnType()->isVoidType()) break; WarnE = this; Loc = Op->getOperatorLoc(); Modified: cfe/trunk/test/SemaCXX/warn-unused-comparison.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/warn-unused-comparison.cpp?rev=209186&r1=209185&r2=209186&view=diff ============================================================================== --- cfe/trunk/test/SemaCXX/warn-unused-comparison.cpp (original) +++ cfe/trunk/test/SemaCXX/warn-unused-comparison.cpp Mon May 19 20:34:43 2014 @@ -119,3 +119,17 @@ void test() { cout < cin; // expected-warning {{relational comparison result unused}} } } + +namespace PR19791 { +struct S { + void operator!=(int); + int operator==(int); +}; + +void test() { + S s; + s != 1; + s == 1; // expected-warning{{equality comparison result unused}} + // expected-note@-1{{use '=' to turn this equality comparison into an assignment}} +} +} _______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits