1 // RUN: %clang --analyze %s --target=x86_64-pc-linux-gnu \ 2 // RUN: -Xclang -analyzer-list-enabled-checkers \ 3 // RUN: -Xclang -analyzer-display-progress \ 4 // RUN: 2>&1 | FileCheck %s --implicit-check-not=ANALYZE \ 5 // RUN: --implicit-check-not=\. 6 7 // CHECK: OVERVIEW: Clang Static Analyzer Enabled Checkers List 8 // CHECK-EMPTY: 9 // CHECK-NEXT: apiModeling.Errno 10 // CHECK-NEXT: apiModeling.TrustNonnull 11 // CHECK-NEXT: apiModeling.TrustReturnsNonnull 12 // CHECK-NEXT: apiModeling.llvm.CastValue 13 // CHECK-NEXT: apiModeling.llvm.ReturnValue 14 // CHECK-NEXT: core.BitwiseShift 15 // CHECK-NEXT: core.CallAndMessageModeling 16 // CHECK-NEXT: core.CallAndMessage 17 // CHECK-NEXT: core.DereferenceModeling 18 // CHECK-NEXT: core.DivideZero 19 // CHECK-NEXT: core.DynamicTypePropagation 20 // CHECK-NEXT: core.NonNullParamChecker 21 // CHECK-NEXT: core.NonnilStringConstants 22 // CHECK-NEXT: core.NullDereference 23 // CHECK-NEXT: core.StackAddrEscapeBase 24 // CHECK-NEXT: core.StackAddressEscape 25 // CHECK-NEXT: core.UndefinedBinaryOperatorResult 26 // CHECK-NEXT: core.VLASize 27 // CHECK-NEXT: core.builtin.BuiltinFunctions 28 // CHECK-NEXT: core.builtin.NoReturnFunctions 29 // CHECK-NEXT: core.uninitialized.ArraySubscript 30 // CHECK-NEXT: core.uninitialized.Assign 31 // CHECK-NEXT: core.uninitialized.Branch 32 // CHECK-NEXT: core.uninitialized.CapturedBlockVariable 33 // CHECK-NEXT: core.uninitialized.UndefReturn 34 // CHECK-NEXT: deadcode.DeadStores 35 // CHECK-NEXT: nullability.NullabilityBase 36 // CHECK-NEXT: nullability.NullPassedToNonnull 37 // CHECK-NEXT: nullability.NullReturnedFromNonnull 38 // CHECK-NEXT: security.insecureAPI.SecuritySyntaxChecker 39 // CHECK-NEXT: security.insecureAPI.UncheckedReturn 40 // CHECK-NEXT: security.insecureAPI.getpw 41 // CHECK-NEXT: security.insecureAPI.gets 42 // CHECK-NEXT: security.insecureAPI.mkstemp 43 // CHECK-NEXT: security.insecureAPI.mktemp 44 // CHECK-NEXT: security.insecureAPI.vfork 45 // CHECK-NEXT: unix.API 46 // CHECK-NEXT: unix.BlockInCriticalSection 47 // CHECK-NEXT: unix.Chroot 48 // CHECK-NEXT: unix.cstring.CStringModeling 49 // CHECK-NEXT: unix.DynamicMemoryModeling 50 // CHECK-NEXT: unix.Errno 51 // CHECK-NEXT: unix.Malloc 52 // CHECK-NEXT: unix.MallocSizeof 53 // CHECK-NEXT: unix.MismatchedDeallocator 54 // CHECK-NEXT: unix.Stream 55 // CHECK-NEXT: unix.StdCLibraryFunctions 56 // CHECK-NEXT: unix.Vfork 57 // CHECK-NEXT: unix.cstring.BadSizeArg 58 // CHECK-NEXT: unix.cstring.NotNullTerminated 59 // CHECK-NEXT: unix.cstring.NullArg 60 61 int main() { 62 int i; 63 (void)(10 / i); 64 } 65