r203016 - [-Wunreachable-code] generalize configuration value checking to all comparison operators.
Ted Kremenek
kremenek at apple.com
Wed Mar 5 14:32:39 PST 2014
Author: kremenek
Date: Wed Mar 5 16:32:39 2014
New Revision: 203016
URL: http://llvm.org/viewvc/llvm-project?rev=203016&view=rev
Log:
[-Wunreachable-code] generalize configuration value checking to all comparison operators.
Modified:
cfe/trunk/lib/Analysis/ReachableCode.cpp
cfe/trunk/test/Sema/warn-unreachable.c
Modified: cfe/trunk/lib/Analysis/ReachableCode.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/ReachableCode.cpp?rev=203016&r1=203015&r2=203016&view=diff
==============================================================================
--- cfe/trunk/lib/Analysis/ReachableCode.cpp (original)
+++ cfe/trunk/lib/Analysis/ReachableCode.cpp Wed Mar 5 16:32:39 2014
@@ -382,7 +382,7 @@ static bool isConfigurationValue(const S
return true;
case Stmt::BinaryOperatorClass: {
const BinaryOperator *B = cast<BinaryOperator>(S);
- return (B->isLogicalOp() || B->isRelationalOp()) &&
+ return (B->isLogicalOp() || B->isComparisonOp()) &&
(isConfigurationValue(B->getLHS()) ||
isConfigurationValue(B->getRHS()));
}
Modified: cfe/trunk/test/Sema/warn-unreachable.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/warn-unreachable.c?rev=203016&r1=203015&r2=203016&view=diff
==============================================================================
--- cfe/trunk/test/Sema/warn-unreachable.c (original)
+++ cfe/trunk/test/Sema/warn-unreachable.c Wed Mar 5 16:32:39 2014
@@ -226,3 +226,11 @@ int test_config_constant(int x) {
calledFun(); // expected-warning {{will never be executed}}
}
+int sizeof_int() {
+ if (sizeof(long) == sizeof(int))
+ return 1; // no-warning
+ if (sizeof(long) != sizeof(int))
+ return 0; // no-warning
+ return 2; // no-warning
+}
+
More information about the cfe-commits
mailing list