From ade3195a201e16e989e9f93a568fb1806519077c Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Sat, 12 Mar 2011 06:14:28 +0000 Subject: [PATCH] Re-enable the IdempotentOperations checker for --analyze, and put it and the DeadStores checker into the "deadcode" group. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127531 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Driver/Tools.cpp | 3 +- lib/StaticAnalyzer/Checkers/Checkers.td | 14 +- test/Analysis/NSWindow.m | 8 +- test/Analysis/analyzer-stats.c | 2 +- test/Analysis/conditional-op-missing-lhs.c | 2 +- test/Analysis/dead-stores.c | 10 +- test/Analysis/dead-stores.cpp | 10 +- test/Analysis/dead-stores.m | 4 +- .../idempotent-operations-limited-loops.c | 6 +- test/Analysis/idempotent-operations.c | 7 +- test/Analysis/idempotent-operations.cpp | 2 +- test/Analysis/idempotent-operations.m | 2 +- test/Analysis/idempotent-operations.plist | 7075 +++++++++++++++++ test/Analysis/misc-ps-region-store.m | 4 +- test/Analysis/misc-ps.m | 16 +- test/Analysis/null-deref-ps.c | 8 +- test/Analysis/rdar-6540084.m | 2 +- test/Analysis/uninit-vals-ps-region.m | 2 +- test/Analysis/unreachable-code-path.c | 2 +- 19 files changed, 7130 insertions(+), 49 deletions(-) create mode 100644 test/Analysis/idempotent-operations.plist diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 68439ced7b..271f02d894 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -1011,7 +1011,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, if (getToolChain().getTriple().getVendor() == llvm::Triple::Apple) CmdArgs.push_back("-analyzer-checker=macosx"); - CmdArgs.push_back("-analyzer-checker=DeadStores"); + CmdArgs.push_back("-analyzer-checker=deadcode.DeadStores"); + CmdArgs.push_back("-analyzer-checker=deadcode.IdempotentOperations"); // Checks to perform for Objective-C/Objective-C++. if (types::isObjC(InputType)) { diff --git a/lib/StaticAnalyzer/Checkers/Checkers.td b/lib/StaticAnalyzer/Checkers/Checkers.td index ed9d144153..33611dae83 100644 --- a/lib/StaticAnalyzer/Checkers/Checkers.td +++ b/lib/StaticAnalyzer/Checkers/Checkers.td @@ -17,6 +17,7 @@ def Core : Package<"core">; def Cocoa : Package<"cocoa">; def Unix : Package<"unix">; def MacOSX : Package<"macosx">; +def DeadCode : Package<"deadcode">; def CoreExperimental : Package<"experimental">, InPackage, Hidden; @@ -141,10 +142,18 @@ def StackAddrEscapeChecker : Checker<"StackAddrEscape">, } // end "core" +let ParentPackage = DeadCode in { + def DeadStoresChecker : Checker<"DeadStores">, HelpText<"Check for values stored to a variables that are never read afterwards">, DescFile<"DeadStoresChecker.cpp">; +def IdempotentOperationChecker : Checker<"IdempotentOperations">, + HelpText<"Warn about idempotent operations">, + DescFile<"IdempotentOperationChecker.cpp">; + +} // end DeadCode + def UnixAPIChecker : Checker<"API">, InPackage, HelpText<"Check calls to various UNIX/Posix functions">, @@ -228,11 +237,6 @@ def UnreachableCodeChecker : Checker<"UnreachableCode">, DescFile<"UnreachableCodeChecker.cpp">, Hidden; // Must be specified explicitly in order to run. -def IdempotentOperationChecker : Checker<"IdempotentOps">, - InPackage, - HelpText<"Warn about idempotent operations">, - DescFile<"IdempotentOperationChecker.cpp">; - def CastToStructChecker : Checker<"CastToStruct">, InPackage, HelpText<"Check for cast from non-struct pointer to struct pointer">, diff --git a/test/Analysis/NSWindow.m b/test/Analysis/NSWindow.m index 25d1413805..404448574e 100644 --- a/test/Analysis/NSWindow.m +++ b/test/Analysis/NSWindow.m @@ -1,7 +1,7 @@ -// RUN: %clang_cc1 -analyze -analyzer-checker=core,core.experimental -analyzer-checker=DeadStores -analyzer-store=basic -analyzer-constraints=basic -verify %s -// RUN: %clang_cc1 -analyze -analyzer-checker=core,core.experimental -analyzer-checker=DeadStores -analyzer-store=basic -analyzer-constraints=range -verify %s -// RUN: %clang_cc1 -analyze -analyzer-checker=core,core.experimental -analyzer-checker=DeadStores -analyzer-store=region -analyzer-constraints=basic -verify %s -// RUN: %clang_cc1 -analyze -analyzer-checker=core,core.experimental -analyzer-checker=DeadStores -analyzer-store=region -analyzer-constraints=range -verify %s +// RUN: %clang_cc1 -analyze -analyzer-checker=core,core.experimental -analyzer-checker=deadcode.DeadStores -analyzer-store=basic -analyzer-constraints=basic -verify %s +// RUN: %clang_cc1 -analyze -analyzer-checker=core,core.experimental -analyzer-checker=deadcode.DeadStores -analyzer-store=basic -analyzer-constraints=range -verify %s +// RUN: %clang_cc1 -analyze -analyzer-checker=core,core.experimental -analyzer-checker=deadcode.DeadStores -analyzer-store=region -analyzer-constraints=basic -verify %s +// RUN: %clang_cc1 -analyze -analyzer-checker=core,core.experimental -analyzer-checker=deadcode.DeadStores -analyzer-store=region -analyzer-constraints=range -verify %s // These declarations were reduced using Delta-Debugging from Foundation.h // on Mac OS X. The test cases are below. diff --git a/test/Analysis/analyzer-stats.c b/test/Analysis/analyzer-stats.c index 3eacf8d7ba..9eeaade793 100644 --- a/test/Analysis/analyzer-stats.c +++ b/test/Analysis/analyzer-stats.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -analyze -analyzer-checker=core,DeadStores,debug.Stats -verify -Wno-unreachable-code -analyzer-opt-analyze-nested-blocks %s +// RUN: %clang_cc1 -analyze -analyzer-checker=core,deadcode.DeadStores,debug.Stats -verify -Wno-unreachable-code -analyzer-opt-analyze-nested-blocks %s int foo(); diff --git a/test/Analysis/conditional-op-missing-lhs.c b/test/Analysis/conditional-op-missing-lhs.c index c2fbd0188b..5f7068bd5f 100644 --- a/test/Analysis/conditional-op-missing-lhs.c +++ b/test/Analysis/conditional-op-missing-lhs.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -analyze -analyzer-checker=DeadStores -warn-uninit-values -verify %s +// RUN: %clang_cc1 -analyze -analyzer-checker=deadcode.DeadStores -warn-uninit-values -verify %s // FIXME: The current UninitializedValuesChecker will go away; replace it and re-enable test. // XFAIL: * diff --git a/test/Analysis/dead-stores.c b/test/Analysis/dead-stores.c index 8563ee503c..85ea1ee2cb 100644 --- a/test/Analysis/dead-stores.c +++ b/test/Analysis/dead-stores.c @@ -1,8 +1,8 @@ -// RUN: %clang_cc1 -Wunused-variable -analyze -analyzer-checker=core,DeadStores,core.experimental.IdempotentOps -fblocks -verify -Wno-unreachable-code -analyzer-opt-analyze-nested-blocks %s -// RUN: %clang_cc1 -Wunused-variable -analyze -analyzer-checker=core,DeadStores,core.experimental.IdempotentOps -analyzer-store=basic -analyzer-constraints=basic -fblocks -verify -Wno-unreachable-code -analyzer-opt-analyze-nested-blocks %s -// RUN: %clang_cc1 -Wunused-variable -analyze -analyzer-checker=core,DeadStores,core.experimental.IdempotentOps -analyzer-store=basic -analyzer-constraints=range -fblocks -verify -Wno-unreachable-code -analyzer-opt-analyze-nested-blocks %s -// RUN: %clang_cc1 -Wunused-variable -analyze -analyzer-checker=core,DeadStores,core.experimental.IdempotentOps -analyzer-store=region -analyzer-constraints=basic -fblocks -verify -Wno-unreachable-code -analyzer-opt-analyze-nested-blocks %s -// RUN: %clang_cc1 -Wunused-variable -analyze -analyzer-checker=core,DeadStores,core.experimental.IdempotentOps -analyzer-store=region -analyzer-constraints=range -fblocks -verify -Wno-unreachable-code -analyzer-opt-analyze-nested-blocks %s +// RUN: %clang_cc1 -Wunused-variable -analyze -analyzer-checker=core,deadcode.DeadStores,deadcode.IdempotentOperations -fblocks -verify -Wno-unreachable-code -analyzer-opt-analyze-nested-blocks %s +// RUN: %clang_cc1 -Wunused-variable -analyze -analyzer-checker=core,deadcode.DeadStores,deadcode.IdempotentOperations -analyzer-store=basic -analyzer-constraints=basic -fblocks -verify -Wno-unreachable-code -analyzer-opt-analyze-nested-blocks %s +// RUN: %clang_cc1 -Wunused-variable -analyze -analyzer-checker=core,deadcode.DeadStores,deadcode.IdempotentOperations -analyzer-store=basic -analyzer-constraints=range -fblocks -verify -Wno-unreachable-code -analyzer-opt-analyze-nested-blocks %s +// RUN: %clang_cc1 -Wunused-variable -analyze -analyzer-checker=core,deadcode.DeadStores,deadcode.IdempotentOperations -analyzer-store=region -analyzer-constraints=basic -fblocks -verify -Wno-unreachable-code -analyzer-opt-analyze-nested-blocks %s +// RUN: %clang_cc1 -Wunused-variable -analyze -analyzer-checker=core,deadcode.DeadStores,deadcode.IdempotentOperations -analyzer-store=region -analyzer-constraints=range -fblocks -verify -Wno-unreachable-code -analyzer-opt-analyze-nested-blocks %s void f1() { int k, y; // expected-warning{{unused variable 'k'}} expected-warning{{unused variable 'y'}} diff --git a/test/Analysis/dead-stores.cpp b/test/Analysis/dead-stores.cpp index 28ee55f0be..932e940928 100644 --- a/test/Analysis/dead-stores.cpp +++ b/test/Analysis/dead-stores.cpp @@ -1,8 +1,8 @@ -// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -analyze -analyzer-checker=DeadStores -verify -Wno-unreachable-code %s -// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -analyze -analyzer-store=basic -analyzer-constraints=basic -analyzer-checker=DeadStores -verify -Wno-unreachable-code %s -// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -analyze -analyzer-store=basic -analyzer-constraints=range -analyzer-checker=DeadStores -verify -Wno-unreachable-code %s -// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -analyze -analyzer-store=region -analyzer-constraints=basic -analyzer-checker=DeadStores -verify -Wno-unreachable-code %s -// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -analyze -analyzer-store=region -analyzer-constraints=range -analyzer-checker=DeadStores -verify -Wno-unreachable-code %s +// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -analyze -analyzer-checker=deadcode.DeadStores -verify -Wno-unreachable-code %s +// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -analyze -analyzer-store=basic -analyzer-constraints=basic -analyzer-checker=deadcode.DeadStores -verify -Wno-unreachable-code %s +// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -analyze -analyzer-store=basic -analyzer-constraints=range -analyzer-checker=deadcode.DeadStores -verify -Wno-unreachable-code %s +// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -analyze -analyzer-store=region -analyzer-constraints=basic -analyzer-checker=deadcode.DeadStores -verify -Wno-unreachable-code %s +// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -analyze -analyzer-store=region -analyzer-constraints=range -analyzer-checker=deadcode.DeadStores -verify -Wno-unreachable-code %s //===----------------------------------------------------------------------===// // Basic dead store checking (but in C++ mode). diff --git a/test/Analysis/dead-stores.m b/test/Analysis/dead-stores.m index ec9ce16109..3a06a8adeb 100644 --- a/test/Analysis/dead-stores.m +++ b/test/Analysis/dead-stores.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -analyze -analyzer-checker=core.experimental -analyzer-checker=DeadStores -verify %s +// RUN: %clang_cc1 -analyze -analyzer-checker=core.experimental -analyzer-checker=deadcode.DeadStores -verify %s typedef signed char BOOL; typedef unsigned int NSUInteger; @@ -25,7 +25,7 @@ typedef struct _NSPoint {} NSRange; extern NSString *NSAlignmentBinding; // This test case was reported as a false positive due to a bug in the -// LiveVariables <-> DeadStores interplay. We should not flag a warning +// LiveVariables <-> deadcode.DeadStores interplay. We should not flag a warning // here. The test case was reported in: // http://lists.cs.uiuc.edu/pipermail/cfe-dev/2008-July/002157.html void DeadStoreTest(NSObject *anObject) { diff --git a/test/Analysis/idempotent-operations-limited-loops.c b/test/Analysis/idempotent-operations-limited-loops.c index 2bd7fc4e5b..47a1f2854c 100644 --- a/test/Analysis/idempotent-operations-limited-loops.c +++ b/test/Analysis/idempotent-operations-limited-loops.c @@ -1,6 +1,6 @@ -// RUN: %clang_cc1 -analyze -analyzer-store=region -analyzer-constraints=range -fblocks -analyzer-opt-analyze-nested-blocks -analyzer-checker=core,core.experimental.IdempotentOps -analyzer-max-loop 3 -verify %s -// RUN: %clang_cc1 -analyze -analyzer-store=region -analyzer-constraints=range -fblocks -analyzer-opt-analyze-nested-blocks -analyzer-checker=core,core.experimental.IdempotentOps -analyzer-max-loop 4 -verify %s -// RUN: %clang_cc1 -analyze -analyzer-store=region -analyzer-constraints=range -fblocks -analyzer-opt-analyze-nested-blocks -analyzer-checker=core,core.experimental.IdempotentOps %s -verify +// RUN: %clang_cc1 -analyze -analyzer-store=region -analyzer-constraints=range -fblocks -analyzer-opt-analyze-nested-blocks -analyzer-checker=core,deadcode.IdempotentOperations -analyzer-max-loop 3 -verify %s +// RUN: %clang_cc1 -analyze -analyzer-store=region -analyzer-constraints=range -fblocks -analyzer-opt-analyze-nested-blocks -analyzer-checker=core,deadcode.IdempotentOperations -analyzer-max-loop 4 -verify %s +// RUN: %clang_cc1 -analyze -analyzer-store=region -analyzer-constraints=range -fblocks -analyzer-opt-analyze-nested-blocks -analyzer-checker=core,deadcode.IdempotentOperations %s -verify void always_warning() { int *p = 0; *p = 0xDEADBEEF; } // expected-warning{{Dereference of null pointer (loaded from variable 'p')}} diff --git a/test/Analysis/idempotent-operations.c b/test/Analysis/idempotent-operations.c index 52f2fa82a3..57705a646f 100644 --- a/test/Analysis/idempotent-operations.c +++ b/test/Analysis/idempotent-operations.c @@ -1,4 +1,5 @@ -// RUN: %clang_cc1 -analyze -analyzer-store=region -analyzer-constraints=range -fblocks -analyzer-opt-analyze-nested-blocks -analyzer-checker=core.experimental.IdempotentOps -verify %s +// RUN: %clang_cc1 -analyze -analyzer-store=region -analyzer-constraints=range -fblocks -analyzer-opt-analyze-nested-blocks -analyzer-checker=deadcode.IdempotentOperations -verify %s +// RUN: %clang --analyze -Xclang -analyzer-disable-checker=deadcode.DeadStores -Xclang -verify %s // Basic tests @@ -82,8 +83,8 @@ void bailout() { typedef unsigned uintptr_t; void kill_at_assign() { short array[2]; - uintptr_t x = array; // expected-warning{{incompatible pointer to integer conversion}} - short *p = x; // expected-warning{{incompatible integer to pointer conversion}} + uintptr_t x = (uintptr_t) array; + short *p = (short *) x; // The following branch should be infeasible. if (!(p = &array[0])) { // expected-warning{{Assigned value is always the same as the existing value}} diff --git a/test/Analysis/idempotent-operations.cpp b/test/Analysis/idempotent-operations.cpp index 43dacb4f01..f9240eb61a 100644 --- a/test/Analysis/idempotent-operations.cpp +++ b/test/Analysis/idempotent-operations.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -analyze -analyzer-store=region -analyzer-constraints=range -fblocks -analyzer-opt-analyze-nested-blocks -analyzer-checker=core.experimental.IdempotentOps -verify %s +// RUN: %clang_cc1 -analyze -analyzer-store=region -analyzer-constraints=range -fblocks -analyzer-opt-analyze-nested-blocks -analyzer-checker=deadcode.IdempotentOperations -verify %s // C++ specific false positives diff --git a/test/Analysis/idempotent-operations.m b/test/Analysis/idempotent-operations.m index ccb076355b..39d44c4978 100644 --- a/test/Analysis/idempotent-operations.m +++ b/test/Analysis/idempotent-operations.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -analyze -analyzer-store=region -analyzer-constraints=range -fblocks -analyzer-opt-analyze-nested-blocks -analyzer-checker=core.experimental.IdempotentOps -verify %s +// RUN: %clang_cc1 -analyze -analyzer-store=region -analyzer-constraints=range -fblocks -analyzer-opt-analyze-nested-blocks -analyzer-checker=deadcode.IdempotentOperations -verify %s typedef signed char BOOL; typedef unsigned long NSUInteger; diff --git a/test/Analysis/idempotent-operations.plist b/test/Analysis/idempotent-operations.plist new file mode 100644 index 0000000000..033fca3eb5 --- /dev/null +++ b/test/Analysis/idempotent-operations.plist @@ -0,0 +1,7075 @@ + + + + + files + + idempotent-operations.c + + diagnostics + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindevent + location + + line10 + col7 + file0 + + ranges + + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + extended_message + Variable 'x' initialized to 10 + message +Variable 'x' initialized to 10 + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line13 + col3 + file0 + + + line13 + col3 + file0 + + + + + + + kindevent + location + + line13 + col3 + file0 + + ranges + + + + line13 + col3 + file0 + + + line13 + col3 + file0 + + + + + line13 + col7 + file0 + + + line13 + col7 + file0 + + + + extended_message + Assigned value is always the same as the existing value + message +Assigned value is always the same as the existing value + + + descriptionAssigned value is always the same as the existing value + categoryDead code + typeIdempotent operation + location + + line13 + col3 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindevent + location + + line10 + col7 + file0 + + ranges + + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + extended_message + Variable 'x' initialized to 10 + message +Variable 'x' initialized to 10 + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line14 + col3 + file0 + + + line14 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line14 + col3 + file0 + + + line14 + col3 + file0 + + + end + + + line14 + col8 + file0 + + + line14 + col8 + file0 + + + + + + + kindevent + location + + line14 + col8 + file0 + + ranges + + + + line14 + col8 + file0 + + + line14 + col8 + file0 + + + + + line14 + col12 + file0 + + + line14 + col12 + file0 + + + + extended_message + Both operands to '-' always have the same value + message +Both operands to '-' always have the same value + + + descriptionBoth operands to '-' always have the same value + categoryDead code + typeIdempotent operation + location + + line14 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindevent + location + + line10 + col7 + file0 + + ranges + + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + extended_message + Variable 'x' initialized to 10 + message +Variable 'x' initialized to 10 + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line15 + col3 + file0 + + + line15 + col8 + file0 + + + + + + + kindevent + location + + line15 + col3 + file0 + + ranges + + + + line15 + col3 + file0 + + + line15 + col3 + file0 + + + + + line15 + col8 + file0 + + + line15 + col8 + file0 + + + + extended_message + Both operands to '-=' always have the same value + message +Both operands to '-=' always have the same value + + + descriptionBoth operands to '-=' always have the same value + categoryDead code + typeIdempotent operation + location + + line15 + col3 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line16 + col3 + file0 + + + line16 + col3 + file0 + + + + + + + kindevent + location + + line16 + col3 + file0 + + ranges + + + + line16 + col3 + file0 + + + line16 + col8 + file0 + + + + extended_message + The value 10 is assigned to 'x' + message +The value 10 is assigned to 'x' + + + kindcontrol + edges + + + start + + + line16 + col3 + file0 + + + line16 + col3 + file0 + + + end + + + line17 + col3 + file0 + + + line17 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line17 + col3 + file0 + + + line17 + col3 + file0 + + + end + + + line17 + col8 + file0 + + + line17 + col8 + file0 + + + + + + + kindevent + location + + line17 + col8 + file0 + + ranges + + + + line17 + col8 + file0 + + + line17 + col8 + file0 + + + + + line17 + col12 + file0 + + + line17 + col12 + file0 + + + + extended_message + Both operands to '/' always have the same value + message +Both operands to '/' always have the same value + + + descriptionBoth operands to '/' always have the same value + categoryDead code + typeIdempotent operation + location + + line17 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line16 + col3 + file0 + + + line16 + col3 + file0 + + + + + + + kindevent + location + + line16 + col3 + file0 + + ranges + + + + line16 + col3 + file0 + + + line16 + col8 + file0 + + + + extended_message + The value 10 is assigned to 'x' + message +The value 10 is assigned to 'x' + + + kindcontrol + edges + + + start + + + line16 + col3 + file0 + + + line16 + col3 + file0 + + + end + + + line18 + col3 + file0 + + + line18 + col8 + file0 + + + + + + + kindevent + location + + line18 + col3 + file0 + + ranges + + + + line18 + col3 + file0 + + + line18 + col3 + file0 + + + + + line18 + col8 + file0 + + + line18 + col8 + file0 + + + + extended_message + Both operands to '/=' always have the same value + message +Both operands to '/=' always have the same value + + + descriptionBoth operands to '/=' always have the same value + categoryDead code + typeIdempotent operation + location + + line18 + col3 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line19 + col3 + file0 + + + line19 + col3 + file0 + + + + + + + kindevent + location + + line19 + col3 + file0 + + ranges + + + + line19 + col3 + file0 + + + line19 + col8 + file0 + + + + extended_message + The value 10 is assigned to 'x' + message +The value 10 is assigned to 'x' + + + kindcontrol + edges + + + start + + + line19 + col3 + file0 + + + line19 + col3 + file0 + + + end + + + line20 + col3 + file0 + + + line20 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line20 + col3 + file0 + + + line20 + col3 + file0 + + + end + + + line20 + col8 + file0 + + + line20 + col8 + file0 + + + + + + + kindevent + location + + line20 + col8 + file0 + + ranges + + + + line20 + col8 + file0 + + + line20 + col8 + file0 + + + + + line20 + col12 + file0 + + + line20 + col12 + file0 + + + + extended_message + Both operands to '&' always have the same value + message +Both operands to '&' always have the same value + + + descriptionBoth operands to '&' always have the same value + categoryDead code + typeIdempotent operation + location + + line20 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line19 + col3 + file0 + + + line19 + col3 + file0 + + + + + + + kindevent + location + + line19 + col3 + file0 + + ranges + + + + line19 + col3 + file0 + + + line19 + col8 + file0 + + + + extended_message + The value 10 is assigned to 'x' + message +The value 10 is assigned to 'x' + + + kindcontrol + edges + + + start + + + line19 + col3 + file0 + + + line19 + col3 + file0 + + + end + + + line21 + col3 + file0 + + + line21 + col8 + file0 + + + + + + + kindevent + location + + line21 + col3 + file0 + + ranges + + + + line21 + col3 + file0 + + + line21 + col3 + file0 + + + + + line21 + col8 + file0 + + + line21 + col8 + file0 + + + + extended_message + Both operands to '&=' always have the same value + message +Both operands to '&=' always have the same value + + + descriptionBoth operands to '&=' always have the same value + categoryDead code + typeIdempotent operation + location + + line21 + col3 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line19 + col3 + file0 + + + line19 + col3 + file0 + + + + + + + kindevent + location + + line19 + col3 + file0 + + ranges + + + + line19 + col3 + file0 + + + line19 + col8 + file0 + + + + extended_message + The value 10 is assigned to 'x' + message +The value 10 is assigned to 'x' + + + kindcontrol + edges + + + start + + + line19 + col3 + file0 + + + line19 + col3 + file0 + + + end + + + line22 + col3 + file0 + + + line22 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line22 + col3 + file0 + + + line22 + col3 + file0 + + + end + + + line22 + col8 + file0 + + + line22 + col8 + file0 + + + + + + + kindevent + location + + line22 + col8 + file0 + + ranges + + + + line22 + col8 + file0 + + + line22 + col8 + file0 + + + + + line22 + col12 + file0 + + + line22 + col12 + file0 + + + + extended_message + Both operands to '|' always have the same value + message +Both operands to '|' always have the same value + + + descriptionBoth operands to '|' always have the same value + categoryDead code + typeIdempotent operation + location + + line22 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line19 + col3 + file0 + + + line19 + col3 + file0 + + + + + + + kindevent + location + + line19 + col3 + file0 + + ranges + + + + line19 + col3 + file0 + + + line19 + col8 + file0 + + + + extended_message + The value 10 is assigned to 'x' + message +The value 10 is assigned to 'x' + + + kindcontrol + edges + + + start + + + line19 + col3 + file0 + + + line19 + col3 + file0 + + + end + + + line23 + col3 + file0 + + + line23 + col8 + file0 + + + + + + + kindevent + location + + line23 + col3 + file0 + + ranges + + + + line23 + col3 + file0 + + + line23 + col3 + file0 + + + + + line23 + col8 + file0 + + + line23 + col8 + file0 + + + + extended_message + Both operands to '|=' always have the same value + message +Both operands to '|=' always have the same value + + + descriptionBoth operands to '|=' always have the same value + categoryDead code + typeIdempotent operation + location + + line23 + col3 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col25 + file0 + + + line10 + col27 + file0 + + + + + + + kindevent + location + + line10 + col25 + file0 + + ranges + + + + line10 + col25 + file0 + + + line10 + col27 + file0 + + + + extended_message + Variable 'one' initialized to 1 + message +Variable 'one' initialized to 1 + + + kindcontrol + edges + + + start + + + line10 + col25 + file0 + + + line10 + col27 + file0 + + + end + + + line26 + col3 + file0 + + + line26 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line26 + col3 + file0 + + + line26 + col3 + file0 + + + end + + + line26 + col8 + file0 + + + line26 + col8 + file0 + + + + + + + kindevent + location + + line26 + col8 + file0 + + ranges + + + + line26 + col12 + file0 + + + line26 + col14 + file0 + + + + extended_message + The right operand to '*' is always 1 + message +The right operand to '*' is always 1 + + + descriptionThe right operand to '*' is always 1 + categoryDead code + typeIdempotent operation + location + + line26 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col25 + file0 + + + line10 + col27 + file0 + + + + + + + kindevent + location + + line10 + col25 + file0 + + ranges + + + + line10 + col25 + file0 + + + line10 + col27 + file0 + + + + extended_message + Variable 'one' initialized to 1 + message +Variable 'one' initialized to 1 + + + kindcontrol + edges + + + start + + + line10 + col25 + file0 + + + line10 + col27 + file0 + + + end + + + line27 + col3 + file0 + + + line27 + col10 + file0 + + + + + + + kindevent + location + + line27 + col3 + file0 + + ranges + + + + line27 + col8 + file0 + + + line27 + col10 + file0 + + + + extended_message + The right operand to '*=' is always 1 + message +The right operand to '*=' is always 1 + + + descriptionThe right operand to '*=' is always 1 + categoryDead code + typeIdempotent operation + location + + line27 + col3 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col25 + file0 + + + line10 + col27 + file0 + + + + + + + kindevent + location + + line10 + col25 + file0 + + ranges + + + + line10 + col25 + file0 + + + line10 + col27 + file0 + + + + extended_message + Variable 'one' initialized to 1 + message +Variable 'one' initialized to 1 + + + kindcontrol + edges + + + start + + + line10 + col25 + file0 + + + line10 + col27 + file0 + + + end + + + line28 + col3 + file0 + + + line28 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line28 + col3 + file0 + + + line28 + col3 + file0 + + + end + + + line28 + col8 + file0 + + + line28 + col8 + file0 + + + + + + + kindevent + location + + line28 + col8 + file0 + + ranges + + + + line28 + col12 + file0 + + + line28 + col14 + file0 + + + + extended_message + The right operand to '/' is always 1 + message +The right operand to '/' is always 1 + + + descriptionThe right operand to '/' is always 1 + categoryDead code + typeIdempotent operation + location + + line28 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col25 + file0 + + + line10 + col27 + file0 + + + + + + + kindevent + location + + line10 + col25 + file0 + + ranges + + + + line10 + col25 + file0 + + + line10 + col27 + file0 + + + + extended_message + Variable 'one' initialized to 1 + message +Variable 'one' initialized to 1 + + + kindcontrol + edges + + + start + + + line10 + col25 + file0 + + + line10 + col27 + file0 + + + end + + + line29 + col3 + file0 + + + line29 + col10 + file0 + + + + + + + kindevent + location + + line29 + col3 + file0 + + ranges + + + + line29 + col8 + file0 + + + line29 + col10 + file0 + + + + extended_message + The right operand to '/=' is always 1 + message +The right operand to '/=' is always 1 + + + descriptionThe right operand to '/=' is always 1 + categoryDead code + typeIdempotent operation + location + + line29 + col3 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col25 + file0 + + + line10 + col27 + file0 + + + + + + + kindevent + location + + line10 + col25 + file0 + + ranges + + + + line10 + col25 + file0 + + + line10 + col27 + file0 + + + + extended_message + Variable 'one' initialized to 1 + message +Variable 'one' initialized to 1 + + + kindcontrol + edges + + + start + + + line10 + col25 + file0 + + + line10 + col27 + file0 + + + end + + + line32 + col3 + file0 + + + line32 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line32 + col3 + file0 + + + line32 + col3 + file0 + + + end + + + line32 + col8 + file0 + + + line32 + col8 + file0 + + + + + + + kindevent + location + + line32 + col8 + file0 + + ranges + + + + line32 + col8 + file0 + + + line32 + col10 + file0 + + + + extended_message + The left operand to '*' is always 1 + message +The left operand to '*' is always 1 + + + descriptionThe left operand to '*' is always 1 + categoryDead code + typeIdempotent operation + location + + line32 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line35 + col3 + file0 + + + line35 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line35 + col3 + file0 + + + line35 + col3 + file0 + + + end + + + line35 + col8 + file0 + + + line35 + col8 + file0 + + + + + + + kindevent + location + + line35 + col8 + file0 + + ranges + + + + line35 + col12 + file0 + + + line35 + col15 + file0 + + + + extended_message + The right operand to '+' is always 0 + message +The right operand to '+' is always 0 + + + descriptionThe right operand to '+' is always 0 + categoryDead code + typeIdempotent operation + location + + line35 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line36 + col3 + file0 + + + line36 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line36 + col3 + file0 + + + line36 + col3 + file0 + + + end + + + line36 + col8 + file0 + + + line36 + col8 + file0 + + + + + + + kindevent + location + + line36 + col8 + file0 + + ranges + + + + line36 + col12 + file0 + + + line36 + col15 + file0 + + + + extended_message + The right operand to '-' is always 0 + message +The right operand to '-' is always 0 + + + descriptionThe right operand to '-' is always 0 + categoryDead code + typeIdempotent operation + location + + line36 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line37 + col3 + file0 + + + line37 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line37 + col3 + file0 + + + line37 + col3 + file0 + + + end + + + line37 + col8 + file0 + + + line37 + col8 + file0 + + + + + + + kindevent + location + + line37 + col8 + file0 + + ranges + + + + line37 + col12 + file0 + + + line37 + col15 + file0 + + + + extended_message + The right operand to '*' is always 0 + message +The right operand to '*' is always 0 + + + descriptionThe right operand to '*' is always 0 + categoryDead code + typeIdempotent operation + location + + line37 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line38 + col3 + file0 + + + line38 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line38 + col3 + file0 + + + line38 + col3 + file0 + + + end + + + line38 + col8 + file0 + + + line38 + col8 + file0 + + + + + + + kindevent + location + + line38 + col8 + file0 + + ranges + + + + line38 + col12 + file0 + + + line38 + col15 + file0 + + + + extended_message + The right operand to '&' is always 0 + message +The right operand to '&' is always 0 + + + descriptionThe right operand to '&' is always 0 + categoryDead code + typeIdempotent operation + location + + line38 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line39 + col3 + file0 + + + line39 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line39 + col3 + file0 + + + line39 + col3 + file0 + + + end + + + line39 + col8 + file0 + + + line39 + col8 + file0 + + + + + + + kindevent + location + + line39 + col8 + file0 + + ranges + + + + line39 + col12 + file0 + + + line39 + col15 + file0 + + + + extended_message + The right operand to '|' is always 0 + message +The right operand to '|' is always 0 + + + descriptionThe right operand to '|' is always 0 + categoryDead code + typeIdempotent operation + location + + line39 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line40 + col3 + file0 + + + line40 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line40 + col3 + file0 + + + line40 + col3 + file0 + + + end + + + line40 + col8 + file0 + + + line40 + col8 + file0 + + + + + + + kindevent + location + + line40 + col8 + file0 + + ranges + + + + line40 + col12 + file0 + + + line40 + col15 + file0 + + + + extended_message + The right operand to '^' is always 0 + message +The right operand to '^' is always 0 + + + descriptionThe right operand to '^' is always 0 + categoryDead code + typeIdempotent operation + location + + line40 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line41 + col3 + file0 + + + line41 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line41 + col3 + file0 + + + line41 + col3 + file0 + + + end + + + line41 + col8 + file0 + + + line41 + col8 + file0 + + + + + + + kindevent + location + + line41 + col8 + file0 + + ranges + + + + line41 + col13 + file0 + + + line41 + col16 + file0 + + + + extended_message + The right operand to '<<' is always 0 + message +The right operand to '<<' is always 0 + + + descriptionThe right operand to '<<' is always 0 + categoryDead code + typeIdempotent operation + location + + line41 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line42 + col3 + file0 + + + line42 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line42 + col3 + file0 + + + line42 + col3 + file0 + + + end + + + line42 + col8 + file0 + + + line42 + col8 + file0 + + + + + + + kindevent + location + + line42 + col8 + file0 + + ranges + + + + line42 + col13 + file0 + + + line42 + col16 + file0 + + + + extended_message + The right operand to '>>' is always 0 + message +The right operand to '>>' is always 0 + + + descriptionThe right operand to '>>' is always 0 + categoryDead code + typeIdempotent operation + location + + line42 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line45 + col3 + file0 + + + line45 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line45 + col3 + file0 + + + line45 + col3 + file0 + + + end + + + line45 + col8 + file0 + + + line45 + col8 + file0 + + + + + + + kindevent + location + + line45 + col8 + file0 + + ranges + + + + line45 + col8 + file0 + + + line45 + col11 + file0 + + + + extended_message + The left operand to '+' is always 0 + message +The left operand to '+' is always 0 + + + descriptionThe left operand to '+' is always 0 + categoryDead code + typeIdempotent operation + location + + line45 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line46 + col3 + file0 + + + line46 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line46 + col3 + file0 + + + line46 + col3 + file0 + + + end + + + line46 + col8 + file0 + + + line46 + col8 + file0 + + + + + + + kindevent + location + + line46 + col8 + file0 + + ranges + + + + line46 + col8 + file0 + + + line46 + col11 + file0 + + + + extended_message + The left operand to '-' is always 0 + message +The left operand to '-' is always 0 + + + descriptionThe left operand to '-' is always 0 + categoryDead code + typeIdempotent operation + location + + line46 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line47 + col3 + file0 + + + line47 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line47 + col3 + file0 + + + line47 + col3 + file0 + + + end + + + line47 + col8 + file0 + + + line47 + col8 + file0 + + + + + + + kindevent + location + + line47 + col8 + file0 + + ranges + + + + line47 + col8 + file0 + + + line47 + col11 + file0 + + + + extended_message + The left operand to '/' is always 0 + message +The left operand to '/' is always 0 + + + descriptionThe left operand to '/' is always 0 + categoryDead code + typeIdempotent operation + location + + line47 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line48 + col3 + file0 + + + line48 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line48 + col3 + file0 + + + line48 + col3 + file0 + + + end + + + line48 + col8 + file0 + + + line48 + col8 + file0 + + + + + + + kindevent + location + + line48 + col8 + file0 + + ranges + + + + line48 + col8 + file0 + + + line48 + col11 + file0 + + + + extended_message + The left operand to '*' is always 0 + message +The left operand to '*' is always 0 + + + descriptionThe left operand to '*' is always 0 + categoryDead code + typeIdempotent operation + location + + line48 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line49 + col3 + file0 + + + line49 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line49 + col3 + file0 + + + line49 + col3 + file0 + + + end + + + line49 + col8 + file0 + + + line49 + col8 + file0 + + + + + + + kindevent + location + + line49 + col8 + file0 + + ranges + + + + line49 + col8 + file0 + + + line49 + col11 + file0 + + + + extended_message + The left operand to '&' is always 0 + message +The left operand to '&' is always 0 + + + descriptionThe left operand to '&' is always 0 + categoryDead code + typeIdempotent operation + location + + line49 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line50 + col3 + file0 + + + line50 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line50 + col3 + file0 + + + line50 + col3 + file0 + + + end + + + line50 + col8 + file0 + + + line50 + col8 + file0 + + + + + + + kindevent + location + + line50 + col8 + file0 + + ranges + + + + line50 + col8 + file0 + + + line50 + col11 + file0 + + + + extended_message + The left operand to '|' is always 0 + message +The left operand to '|' is always 0 + + + descriptionThe left operand to '|' is always 0 + categoryDead code + typeIdempotent operation + location + + line50 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line51 + col3 + file0 + + + line51 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line51 + col3 + file0 + + + line51 + col3 + file0 + + + end + + + line51 + col8 + file0 + + + line51 + col8 + file0 + + + + + + + kindevent + location + + line51 + col8 + file0 + + ranges + + + + line51 + col8 + file0 + + + line51 + col11 + file0 + + + + extended_message + The left operand to '^' is always 0 + message +The left operand to '^' is always 0 + + + descriptionThe left operand to '^' is always 0 + categoryDead code + typeIdempotent operation + location + + line51 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line52 + col3 + file0 + + + line52 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line52 + col3 + file0 + + + line52 + col3 + file0 + + + end + + + line52 + col8 + file0 + + + line52 + col8 + file0 + + + + + + + kindevent + location + + line52 + col8 + file0 + + ranges + + + + line52 + col8 + file0 + + + line52 + col11 + file0 + + + + extended_message + The left operand to '<<' is always 0 + message +The left operand to '<<' is always 0 + + + descriptionThe left operand to '<<' is always 0 + categoryDead code + typeIdempotent operation + location + + line52 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line10 + col3 + file0 + + + line10 + col5 + file0 + + + end + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line10 + col7 + file0 + + + line10 + col7 + file0 + + + end + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + + + + kindevent + location + + line10 + col15 + file0 + + ranges + + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + + extended_message + Variable 'zero' initialized to 0 + message +Variable 'zero' initialized to 0 + + + kindcontrol + edges + + + start + + + line10 + col15 + file0 + + + line10 + col18 + file0 + + + end + + + line53 + col3 + file0 + + + line53 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line53 + col3 + file0 + + + line53 + col3 + file0 + + + end + + + line53 + col8 + file0 + + + line53 + col8 + file0 + + + + + + + kindevent + location + + line53 + col8 + file0 + + ranges + + + + line53 + col8 + file0 + + + line53 + col11 + file0 + + + + extended_message + The left operand to '>>' is always 0 + message +The left operand to '>>' is always 0 + + + descriptionThe left operand to '>>' is always 0 + categoryDead code + typeIdempotent operation + location + + line53 + col8 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line70 + col3 + file0 + + + line70 + col5 + file0 + + + end + + + line70 + col7 + file0 + + + line70 + col7 + file0 + + + + + + + kindcontrol + edges + + + start + + + line70 + col7 + file0 + + + line70 + col7 + file0 + + + end + + + line70 + col19 + file0 + + + line70 + col24 + file0 + + + + + + + kindevent + location + + line70 + col19 + file0 + + ranges + + + + line70 + col19 + file0 + + + line70 + col24 + file0 + + + + extended_message + Variable 'result' initialized to 4 + message +Variable 'result' initialized to 4 + + + kindcontrol + edges + + + start + + + line70 + col19 + file0 + + + line70 + col24 + file0 + + + end + + + line71 + col3 + file0 + + + line71 + col3 + file0 + + + + + + + kindevent + location + + line71 + col3 + file0 + + ranges + + + + line71 + col3 + file0 + + + line71 + col8 + file0 + + + + + line71 + col12 + file0 + + + line71 + col17 + file0 + + + + extended_message + Assigned value is always the same as the existing value + message +Assigned value is always the same as the existing value + + + descriptionAssigned value is always the same as the existing value + categoryDead code + typeIdempotent operation + location + + line71 + col3 + file0 + + + + path + + + kindevent + location + + line87 + col10 + file0 + + ranges + + + + line87 + col14 + file0 + + + line87 + col14 + file0 + + + + extended_message + Value stored to 'p' during its initialization is never read + message +Value stored to 'p' during its initialization is never read + + + descriptionValue stored to 'p' during its initialization is never read + categoryDead store + typeDead initialization + location + + line87 + col10 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line85 + col3 + file0 + + + line85 + col3 + file0 + + + end + + + line90 + col3 + file0 + + + line90 + col3 + file0 + + + + + + + kindcontrol + edges + + + start + + + line90 + col3 + file0 + + + line90 + col3 + file0 + + + end + + + line90 + col9 + file0 + + + line90 + col9 + file0 + + + + + + + kindevent + location + + line90 + col9 + file0 + + ranges + + + + line90 + col9 + file0 + + + line90 + col9 + file0 + + + + + line90 + col13 + file0 + + + line90 + col21 + file0 + + + + extended_message + Assigned value is always the same as the existing value + message +Assigned value is always the same as the existing value + + + descriptionAssigned value is always the same as the existing value + categoryDead code + typeIdempotent operation + location + + line90 + col9 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line111 + col3 + file0 + + + line111 + col3 + file0 + + + end + + + line114 + col3 + file0 + + + line114 + col3 + file0 + + + + + + + kindevent + location + + line114 + col3 + file0 + + ranges + + + + line114 + col3 + file0 + + + line114 + col8 + file0 + + + + + line114 + col12 + file0 + + + line114 + col17 + file0 + + + + extended_message + Assigned value is always the same as the existing value + message +Assigned value is always the same as the existing value + + + descriptionAssigned value is always the same as the existing value + categoryDead code + typeIdempotent operation + location + + line114 + col3 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line111 + col3 + file0 + + + line111 + col3 + file0 + + + end + + + line116 + col3 + file0 + + + line116 + col19 + file0 + + + + + + + kindevent + location + + line116 + col3 + file0 + + ranges + + + + line116 + col3 + file0 + + + line116 + col19 + file0 + + + + extended_message + Variable 'nonparam' initialized to 5 + message +Variable 'nonparam' initialized to 5 + + + kindcontrol + edges + + + start + + + line116 + col3 + file0 + + + line116 + col19 + file0 + + + end + + + line118 + col3 + file0 + + + line118 + col3 + file0 + + + + + + + kindevent + location + + line118 + col3 + file0 + + ranges + + + + line118 + col3 + file0 + + + line118 + col10 + file0 + + + + + line118 + col14 + file0 + + + line118 + col21 + file0 + + + + extended_message + Assigned value is always the same as the existing value + message +Assigned value is always the same as the existing value + + + descriptionAssigned value is always the same as the existing value + categoryDead code + typeIdempotent operation + location + + line118 + col3 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line146 + col5 + file0 + + + line146 + col5 + file0 + + + end + + + line149 + col5 + file0 + + + line149 + col9 + file0 + + + + + + + kindevent + location + + line149 + col5 + file0 + + ranges + + + + line149 + col5 + file0 + + + line149 + col9 + file0 + + + + extended_message + Variable 'd' initialized to 0 + message +Variable 'd' initialized to 0 + + + kindcontrol + edges + + + start + + + line149 + col5 + file0 + + + line149 + col9 + file0 + + + end + + + line150 + col5 + file0 + + + line150 + col5 + file0 + + + + + + + kindcontrol + edges + + + start + + + line150 + col5 + file0 + + + line150 + col5 + file0 + + + end + + + line150 + col10 + file0 + + + line150 + col10 + file0 + + + + + + + kindevent + location + + line150 + col10 + file0 + + ranges + + + + line150 + col14 + file0 + + + line150 + col14 + file0 + + + + extended_message + The right operand to '*' is always 0 + message +The right operand to '*' is always 0 + + + descriptionThe right operand to '*' is always 0 + categoryDead code + typeIdempotent operation + location + + line150 + col10 + file0 + + + + path + + + kindcontrol + edges + + + start + + + line179 + col3 + file0 + + + line179 + col3 + file0 + + + end + + + line182 + col3 + file0 + + + line182 + col7 + file0 + + + + + + + kindevent + location + + line182 + col3 + file0 + + ranges + + + + line182 + col3 + file0 + + + line182 + col7 + file0 + + + + extended_message + Variable 'a' initialized to 55 + message +Variable 'a' initialized to 55 + + + kindcontrol + edges + + + start + + + line182 + col3 + file0 + + + line182 + col7 + file0 + + + end + + + line183 + col3 + file0 + + + line183 + col3 + file0 + + + + + + + kindevent + location + + line183 + col3 + file0 + + ranges + + + + line183 + col3 + file0 + + + line183 + col3 + file0 + + + + + line183 + col7 + file0 + + + line183 + col7 + file0 + + + + extended_message + Assigned value is always the same as the existing value + message +Assigned value is always the same as the existing value + + + descriptionAssigned value is always the same as the existing value + categoryDead code + typeIdempotent operation + location + + line183 + col3 + file0 + + + + + \ No newline at end of file diff --git a/test/Analysis/misc-ps-region-store.m b/test/Analysis/misc-ps-region-store.m index 18ec0b3978..caa8342acb 100644 --- a/test/Analysis/misc-ps-region-store.m +++ b/test/Analysis/misc-ps-region-store.m @@ -1,5 +1,5 @@ -// RUN: %clang_cc1 -triple i386-apple-darwin9 -analyze -analyzer-checker=core,core.experimental.IdempotentOps,core.experimental.CastToStruct,core.experimental.ReturnPtrRange,core.experimental.ReturnPtrRange,core.experimental.ArrayBound -analyzer-store=region -verify -fblocks -analyzer-opt-analyze-nested-blocks %s -// RUN: %clang_cc1 -triple x86_64-apple-darwin9 -DTEST_64 -analyze -analyzer-checker=core,core.experimental.IdempotentOps,core.experimental.CastToStruct,core.experimental.ReturnPtrRange,core.experimental.ArrayBound -analyzer-store=region -verify -fblocks -analyzer-opt-analyze-nested-blocks %s +// RUN: %clang_cc1 -triple i386-apple-darwin9 -analyze -analyzer-checker=core,deadcode.IdempotentOperations,core.experimental.CastToStruct,core.experimental.ReturnPtrRange,core.experimental.ReturnPtrRange,core.experimental.ArrayBound -analyzer-store=region -verify -fblocks -analyzer-opt-analyze-nested-blocks %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin9 -DTEST_64 -analyze -analyzer-checker=core,deadcode.IdempotentOperations,core.experimental.CastToStruct,core.experimental.ReturnPtrRange,core.experimental.ArrayBound -analyzer-store=region -verify -fblocks -analyzer-opt-analyze-nested-blocks %s typedef long unsigned int size_t; void *memcpy(void *, const void *, size_t); diff --git a/test/Analysis/misc-ps.m b/test/Analysis/misc-ps.m index 8e7092bc15..40270f8c34 100644 --- a/test/Analysis/misc-ps.m +++ b/test/Analysis/misc-ps.m @@ -1,12 +1,12 @@ // NOTE: Use '-fobjc-gc' to test the analysis being run twice, and multiple reports are not issued. -// RUN: %clang_cc1 -triple i386-apple-darwin10 -analyze -analyzer-checker=core,core.experimental,cocoa.AtSync -analyzer-disable-checker=core.experimental.Malloc -analyzer-store=basic -fobjc-gc -analyzer-constraints=basic -verify -fblocks -Wno-unreachable-code %s -// RUN: %clang_cc1 -triple i386-apple-darwin10 -analyze -analyzer-checker=core,core.experimental,cocoa.AtSync -analyzer-disable-checker=core.experimental.Malloc -analyzer-store=basic -analyzer-constraints=range -verify -fblocks -Wno-unreachable-code %s -// RUN: %clang_cc1 -triple i386-apple-darwin10 -analyze -analyzer-checker=core,core.experimental,cocoa.AtSync -analyzer-store=region -analyzer-constraints=basic -verify -fblocks -Wno-unreachable-code %s -// RUN: %clang_cc1 -triple i386-apple-darwin10 -analyze -analyzer-checker=core,core.experimental,cocoa.AtSync -analyzer-store=region -analyzer-constraints=range -verify -fblocks -Wno-unreachable-code %s -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -analyze -analyzer-checker=core,core.experimental,cocoa.AtSync -analyzer-disable-checker=core.experimental.Malloc -analyzer-store=basic -fobjc-gc -analyzer-constraints=basic -verify -fblocks -Wno-unreachable-code %s -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -analyze -analyzer-checker=core,core.experimental,cocoa.AtSync -analyzer-disable-checker=core.experimental.Malloc -analyzer-store=basic -analyzer-constraints=range -verify -fblocks -Wno-unreachable-code %s -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -analyze -analyzer-checker=core,core.experimental,cocoa.AtSync -analyzer-store=region -analyzer-constraints=basic -verify -fblocks -Wno-unreachable-code %s -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -analyze -analyzer-checker=core,core.experimental,cocoa.AtSync -analyzer-store=region -analyzer-constraints=range -verify -fblocks -Wno-unreachable-code %s +// RUN: %clang_cc1 -triple i386-apple-darwin10 -analyze -analyzer-checker=core,deadcode.IdempotentOperations,core.experimental,cocoa.AtSync -analyzer-disable-checker=core.experimental.Malloc -analyzer-store=basic -fobjc-gc -analyzer-constraints=basic -verify -fblocks -Wno-unreachable-code %s +// RUN: %clang_cc1 -triple i386-apple-darwin10 -analyze -analyzer-checker=core,deadcode.IdempotentOperations,core.experimental,cocoa.AtSync -analyzer-disable-checker=core.experimental.Malloc -analyzer-store=basic -analyzer-constraints=range -verify -fblocks -Wno-unreachable-code %s +// RUN: %clang_cc1 -triple i386-apple-darwin10 -analyze -analyzer-checker=core,deadcode.IdempotentOperations,core.experimental,cocoa.AtSync -analyzer-store=region -analyzer-constraints=basic -verify -fblocks -Wno-unreachable-code %s +// RUN: %clang_cc1 -triple i386-apple-darwin10 -analyze -analyzer-checker=core,deadcode.IdempotentOperations,core.experimental,cocoa.AtSync -analyzer-store=region -analyzer-constraints=range -verify -fblocks -Wno-unreachable-code %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -analyze -analyzer-checker=core,deadcode.IdempotentOperations,core.experimental,cocoa.AtSync -analyzer-disable-checker=core.experimental.Malloc -analyzer-store=basic -fobjc-gc -analyzer-constraints=basic -verify -fblocks -Wno-unreachable-code %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -analyze -analyzer-checker=core,deadcode.IdempotentOperations,core.experimental,cocoa.AtSync -analyzer-disable-checker=core.experimental.Malloc -analyzer-store=basic -analyzer-constraints=range -verify -fblocks -Wno-unreachable-code %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -analyze -analyzer-checker=core,deadcode.IdempotentOperations,core.experimental,cocoa.AtSync -analyzer-store=region -analyzer-constraints=basic -verify -fblocks -Wno-unreachable-code %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -analyze -analyzer-checker=core,deadcode.IdempotentOperations,core.experimental,cocoa.AtSync -analyzer-store=region -analyzer-constraints=range -verify -fblocks -Wno-unreachable-code %s #ifndef __clang_analyzer__ #error __clang__analyzer__ not defined diff --git a/test/Analysis/null-deref-ps.c b/test/Analysis/null-deref-ps.c index 0798a5ca95..4d0cc3fbdd 100644 --- a/test/Analysis/null-deref-ps.c +++ b/test/Analysis/null-deref-ps.c @@ -1,7 +1,7 @@ -// RUN: %clang_cc1 -triple i386-apple-darwin10 -analyze -analyzer-checker=core,core.experimental -std=gnu99 -verify %s -analyzer-constraints=basic -analyzer-store=basic -Wreturn-type -// RUN: %clang_cc1 -triple i386-apple-darwin10 -analyze -analyzer-checker=core,core.experimental -std=gnu99 -verify %s -analyzer-constraints=range -analyzer-store=basic -Wreturn-type -// RUN: %clang_cc1 -triple i386-apple-darwin10 -analyze -analyzer-checker=core,core.experimental -std=gnu99 -analyzer-store=region -analyzer-constraints=range -analyzer-no-purge-dead -verify %s -Wreturn-type -// RUN: %clang_cc1 -triple i386-apple-darwin10 -analyze -analyzer-checker=core,core.experimental -std=gnu99 -analyzer-store=region -analyzer-constraints=range -verify %s -Wreturn-type +// RUN: %clang_cc1 -triple i386-apple-darwin10 -analyze -analyzer-checker=core,deadcode,core.experimental -std=gnu99 -verify %s -analyzer-constraints=basic -analyzer-store=basic -Wreturn-type +// RUN: %clang_cc1 -triple i386-apple-darwin10 -analyze -analyzer-checker=core,deadcode,core.experimental -std=gnu99 -verify %s -analyzer-constraints=range -analyzer-store=basic -Wreturn-type +// RUN: %clang_cc1 -triple i386-apple-darwin10 -analyze -analyzer-checker=core,deadcode,core.experimental -std=gnu99 -analyzer-store=region -analyzer-constraints=range -analyzer-no-purge-dead -verify %s -Wreturn-type +// RUN: %clang_cc1 -triple i386-apple-darwin10 -analyze -analyzer-checker=core,deadcode,core.experimental -std=gnu99 -analyzer-store=region -analyzer-constraints=range -verify %s -Wreturn-type typedef unsigned uintptr_t; diff --git a/test/Analysis/rdar-6540084.m b/test/Analysis/rdar-6540084.m index 13a850b54c..4c70dbc075 100644 --- a/test/Analysis/rdar-6540084.m +++ b/test/Analysis/rdar-6540084.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -analyze -analyzer-checker=core.experimental -analyzer-checker=DeadStores -verify %s +// RUN: %clang_cc1 -analyze -analyzer-checker=core.experimental -analyzer-checker=deadcode.DeadStores -verify %s // // This test exercises the live variables analysis (LiveVariables.cpp). // The case originally identified a non-termination bug. diff --git a/test/Analysis/uninit-vals-ps-region.m b/test/Analysis/uninit-vals-ps-region.m index 4e09076b7a..1700f54dbf 100644 --- a/test/Analysis/uninit-vals-ps-region.m +++ b/test/Analysis/uninit-vals-ps-region.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -analyze -analyzer-store=region -analyzer-checker=core,core.experimental.IdempotentOps -verify %s +// RUN: %clang_cc1 -analyze -analyzer-store=region -analyzer-checker=core,deadcode.IdempotentOperations -verify %s struct s { int data; diff --git a/test/Analysis/unreachable-code-path.c b/test/Analysis/unreachable-code-path.c index ab2d9bab7e..9dcc1caeca 100644 --- a/test/Analysis/unreachable-code-path.c +++ b/test/Analysis/unreachable-code-path.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -analyze -analyzer-checker=core,DeadStores,core.experimental.UnreachableCode -verify -analyzer-opt-analyze-nested-blocks -Wno-unused-value %s +// RUN: %clang_cc1 -analyze -analyzer-checker=core,deadcode.DeadStores,core.experimental.UnreachableCode -verify -analyzer-opt-analyze-nested-blocks -Wno-unused-value %s extern void foo(int a); -- 2.40.0