зеркало из https://github.com/microsoft/clang.git
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
This commit is contained in:
Родитель
7084da3e94
Коммит
ade3195a20
|
@ -1011,7 +1011,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
|
||||||
if (getToolChain().getTriple().getVendor() == llvm::Triple::Apple)
|
if (getToolChain().getTriple().getVendor() == llvm::Triple::Apple)
|
||||||
CmdArgs.push_back("-analyzer-checker=macosx");
|
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++.
|
// Checks to perform for Objective-C/Objective-C++.
|
||||||
if (types::isObjC(InputType)) {
|
if (types::isObjC(InputType)) {
|
||||||
|
|
|
@ -17,6 +17,7 @@ def Core : Package<"core">;
|
||||||
def Cocoa : Package<"cocoa">;
|
def Cocoa : Package<"cocoa">;
|
||||||
def Unix : Package<"unix">;
|
def Unix : Package<"unix">;
|
||||||
def MacOSX : Package<"macosx">;
|
def MacOSX : Package<"macosx">;
|
||||||
|
def DeadCode : Package<"deadcode">;
|
||||||
|
|
||||||
def CoreExperimental : Package<"experimental">,
|
def CoreExperimental : Package<"experimental">,
|
||||||
InPackage<Core>, Hidden;
|
InPackage<Core>, Hidden;
|
||||||
|
@ -141,10 +142,18 @@ def StackAddrEscapeChecker : Checker<"StackAddrEscape">,
|
||||||
|
|
||||||
} // end "core"
|
} // end "core"
|
||||||
|
|
||||||
|
let ParentPackage = DeadCode in {
|
||||||
|
|
||||||
def DeadStoresChecker : Checker<"DeadStores">,
|
def DeadStoresChecker : Checker<"DeadStores">,
|
||||||
HelpText<"Check for values stored to a variables that are never read afterwards">,
|
HelpText<"Check for values stored to a variables that are never read afterwards">,
|
||||||
DescFile<"DeadStoresChecker.cpp">;
|
DescFile<"DeadStoresChecker.cpp">;
|
||||||
|
|
||||||
|
def IdempotentOperationChecker : Checker<"IdempotentOperations">,
|
||||||
|
HelpText<"Warn about idempotent operations">,
|
||||||
|
DescFile<"IdempotentOperationChecker.cpp">;
|
||||||
|
|
||||||
|
} // end DeadCode
|
||||||
|
|
||||||
def UnixAPIChecker : Checker<"API">,
|
def UnixAPIChecker : Checker<"API">,
|
||||||
InPackage<Unix>,
|
InPackage<Unix>,
|
||||||
HelpText<"Check calls to various UNIX/Posix functions">,
|
HelpText<"Check calls to various UNIX/Posix functions">,
|
||||||
|
@ -228,11 +237,6 @@ def UnreachableCodeChecker : Checker<"UnreachableCode">,
|
||||||
DescFile<"UnreachableCodeChecker.cpp">,
|
DescFile<"UnreachableCodeChecker.cpp">,
|
||||||
Hidden; // Must be specified explicitly in order to run.
|
Hidden; // Must be specified explicitly in order to run.
|
||||||
|
|
||||||
def IdempotentOperationChecker : Checker<"IdempotentOps">,
|
|
||||||
InPackage<CoreExperimental>,
|
|
||||||
HelpText<"Warn about idempotent operations">,
|
|
||||||
DescFile<"IdempotentOperationChecker.cpp">;
|
|
||||||
|
|
||||||
def CastToStructChecker : Checker<"CastToStruct">,
|
def CastToStructChecker : Checker<"CastToStruct">,
|
||||||
InPackage<CoreExperimental>,
|
InPackage<CoreExperimental>,
|
||||||
HelpText<"Check for cast from non-struct pointer to struct pointer">,
|
HelpText<"Check for cast from non-struct pointer to struct pointer">,
|
||||||
|
|
|
@ -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=deadcode.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=deadcode.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=deadcode.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=region -analyzer-constraints=range -verify %s
|
||||||
|
|
||||||
// These declarations were reduced using Delta-Debugging from Foundation.h
|
// These declarations were reduced using Delta-Debugging from Foundation.h
|
||||||
// on Mac OS X. The test cases are below.
|
// on Mac OS X. The test cases are below.
|
||||||
|
|
|
@ -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();
|
int foo();
|
||||||
|
|
||||||
|
|
|
@ -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.
|
// FIXME: The current UninitializedValuesChecker will go away; replace it and re-enable test.
|
||||||
// XFAIL: *
|
// XFAIL: *
|
||||||
|
|
||||||
|
|
|
@ -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,deadcode.DeadStores,deadcode.IdempotentOperations -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,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,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,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,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,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,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 -analyzer-store=region -analyzer-constraints=range -fblocks -verify -Wno-unreachable-code -analyzer-opt-analyze-nested-blocks %s
|
||||||
|
|
||||||
void f1() {
|
void f1() {
|
||||||
int k, y; // expected-warning{{unused variable 'k'}} expected-warning{{unused variable 'y'}}
|
int k, y; // expected-warning{{unused variable 'k'}} expected-warning{{unused variable 'y'}}
|
||||||
|
|
|
@ -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-checker=deadcode.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=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=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=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=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).
|
// Basic dead store checking (but in C++ mode).
|
||||||
|
|
|
@ -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 signed char BOOL;
|
||||||
typedef unsigned int NSUInteger;
|
typedef unsigned int NSUInteger;
|
||||||
|
@ -25,7 +25,7 @@ typedef struct _NSPoint {} NSRange;
|
||||||
extern NSString *NSAlignmentBinding;
|
extern NSString *NSAlignmentBinding;
|
||||||
|
|
||||||
// This test case was reported as a false positive due to a bug in the
|
// 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:
|
// here. The test case was reported in:
|
||||||
// http://lists.cs.uiuc.edu/pipermail/cfe-dev/2008-July/002157.html
|
// http://lists.cs.uiuc.edu/pipermail/cfe-dev/2008-July/002157.html
|
||||||
void DeadStoreTest(NSObject *anObject) {
|
void DeadStoreTest(NSObject *anObject) {
|
||||||
|
|
|
@ -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,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,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,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,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 %s -verify
|
||||||
|
|
||||||
void always_warning() { int *p = 0; *p = 0xDEADBEEF; } // expected-warning{{Dereference of null pointer (loaded from variable 'p')}}
|
void always_warning() { int *p = 0; *p = 0xDEADBEEF; } // expected-warning{{Dereference of null pointer (loaded from variable 'p')}}
|
||||||
|
|
||||||
|
|
|
@ -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
|
// Basic tests
|
||||||
|
|
||||||
|
@ -82,8 +83,8 @@ void bailout() {
|
||||||
typedef unsigned uintptr_t;
|
typedef unsigned uintptr_t;
|
||||||
void kill_at_assign() {
|
void kill_at_assign() {
|
||||||
short array[2];
|
short array[2];
|
||||||
uintptr_t x = array; // expected-warning{{incompatible pointer to integer conversion}}
|
uintptr_t x = (uintptr_t) array;
|
||||||
short *p = x; // expected-warning{{incompatible integer to pointer conversion}}
|
short *p = (short *) x;
|
||||||
|
|
||||||
// The following branch should be infeasible.
|
// The following branch should be infeasible.
|
||||||
if (!(p = &array[0])) { // expected-warning{{Assigned value is always the same as the existing value}}
|
if (!(p = &array[0])) { // expected-warning{{Assigned value is always the same as the existing value}}
|
||||||
|
|
|
@ -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
|
// C++ specific false positives
|
||||||
|
|
||||||
|
|
|
@ -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 signed char BOOL;
|
||||||
typedef unsigned long NSUInteger;
|
typedef unsigned long NSUInteger;
|
||||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -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 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,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 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;
|
typedef long unsigned int size_t;
|
||||||
void *memcpy(void *, const void *, size_t);
|
void *memcpy(void *, const void *, size_t);
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
// NOTE: Use '-fobjc-gc' to test the analysis being run twice, and multiple reports are not issued.
|
// 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,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,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-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,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,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-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,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,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-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,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,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-store=region -analyzer-constraints=range -verify -fblocks -Wno-unreachable-code %s
|
||||||
|
|
||||||
#ifndef __clang_analyzer__
|
#ifndef __clang_analyzer__
|
||||||
#error __clang__analyzer__ not defined
|
#error __clang__analyzer__ not defined
|
||||||
|
|
|
@ -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,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,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 -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,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,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 -analyzer-store=region -analyzer-constraints=range -verify %s -Wreturn-type
|
||||||
|
|
||||||
typedef unsigned uintptr_t;
|
typedef unsigned uintptr_t;
|
||||||
|
|
||||||
|
|
|
@ -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).
|
// This test exercises the live variables analysis (LiveVariables.cpp).
|
||||||
// The case originally identified a non-termination bug.
|
// The case originally identified a non-termination bug.
|
||||||
|
|
|
@ -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 {
|
struct s {
|
||||||
int data;
|
int data;
|
||||||
|
|
|
@ -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);
|
extern void foo(int a);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче