r209186 - Ignore void returning overloaded functions fom -Wunused-comparison. PR19791.
Richard Trieu
rtrieu at google.com
Mon May 19 18:34:43 PDT 2014
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 at -1{{use '=' to turn this equality comparison into an assignment}}
+}
+}
More information about the cfe-commits
mailing list