2019-09-13 06:11:15 +08:00
|
|
|
// RUN: %clang --analyze %s --target=x86_64-pc-linux-gnu \
|
2019-09-13 02:53:48 +08:00
|
|
|
// RUN: -Xclang -analyzer-list-enabled-checkers \
|
|
|
|
// RUN: -Xclang -analyzer-display-progress \
|
|
|
|
// RUN: 2>&1 | FileCheck %s --implicit-check-not=ANALYZE \
|
|
|
|
// RUN: --implicit-check-not=\.
|
2016-08-08 21:41:04 +08:00
|
|
|
|
2019-09-13 02:53:48 +08:00
|
|
|
// CHECK: OVERVIEW: Clang Static Analyzer Enabled Checkers List
|
|
|
|
// CHECK-EMPTY:
|
[analyzer] Make NonNullParamChecker as dependency for StdCLibraryFunctionsChecker
Summary:
If a given parameter in a FunctionDecl has a nonull attribute then the NonNull
constraint in StdCLibraryFunctionsChecker has the same effect as
NonNullParamChecker. I think it is better to emit diagnostics from the simpler
checker. By making NonNullParamChecker as a dependency, in these cases it will
be the first to emit a diagnostic and to stop the analysis on that path.
Reviewers: Szelethus, NoQ, baloghadamsoftware, balazske, steakhal
Subscribers: whisperity, xazax.hun, szepet, rnkovacs, a.sidorin, mikhail.ramalho, donat.nagy, dkrupp, gamesh411, Charusso, ASDenysPetrov, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D79420
2020-05-05 22:37:10 +08:00
|
|
|
// CHECK-NEXT: core.NonNullParamChecker
|
2020-04-06 01:53:22 +08:00
|
|
|
// CHECK-NEXT: core.CallAndMessageModeling
|
[analyzer] Make NonNullParamChecker as dependency for StdCLibraryFunctionsChecker
Summary:
If a given parameter in a FunctionDecl has a nonull attribute then the NonNull
constraint in StdCLibraryFunctionsChecker has the same effect as
NonNullParamChecker. I think it is better to emit diagnostics from the simpler
checker. By making NonNullParamChecker as a dependency, in these cases it will
be the first to emit a diagnostic and to stop the analysis on that path.
Reviewers: Szelethus, NoQ, baloghadamsoftware, balazske, steakhal
Subscribers: whisperity, xazax.hun, szepet, rnkovacs, a.sidorin, mikhail.ramalho, donat.nagy, dkrupp, gamesh411, Charusso, ASDenysPetrov, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D79420
2020-05-05 22:37:10 +08:00
|
|
|
// CHECK-NEXT: apiModeling.StdCLibraryFunctions
|
2019-09-13 02:53:48 +08:00
|
|
|
// CHECK-NEXT: apiModeling.TrustNonnull
|
|
|
|
// CHECK-NEXT: apiModeling.llvm.CastValue
|
|
|
|
// CHECK-NEXT: apiModeling.llvm.ReturnValue
|
2020-04-06 01:53:22 +08:00
|
|
|
// CHECK-NEXT: core.CallAndMessage
|
2019-09-13 02:53:48 +08:00
|
|
|
// CHECK-NEXT: core.DivideZero
|
|
|
|
// CHECK-NEXT: core.DynamicTypePropagation
|
|
|
|
// CHECK-NEXT: core.NonnilStringConstants
|
|
|
|
// CHECK-NEXT: core.NullDereference
|
|
|
|
// CHECK-NEXT: core.StackAddrEscapeBase
|
|
|
|
// CHECK-NEXT: core.StackAddressEscape
|
|
|
|
// CHECK-NEXT: core.UndefinedBinaryOperatorResult
|
|
|
|
// CHECK-NEXT: core.VLASize
|
|
|
|
// CHECK-NEXT: core.builtin.BuiltinFunctions
|
|
|
|
// CHECK-NEXT: core.builtin.NoReturnFunctions
|
|
|
|
// CHECK-NEXT: core.uninitialized.ArraySubscript
|
|
|
|
// CHECK-NEXT: core.uninitialized.Assign
|
|
|
|
// CHECK-NEXT: core.uninitialized.Branch
|
|
|
|
// CHECK-NEXT: core.uninitialized.CapturedBlockVariable
|
|
|
|
// CHECK-NEXT: core.uninitialized.UndefReturn
|
|
|
|
// CHECK-NEXT: deadcode.DeadStores
|
|
|
|
// CHECK-NEXT: nullability.NullabilityBase
|
|
|
|
// CHECK-NEXT: nullability.NullPassedToNonnull
|
|
|
|
// CHECK-NEXT: nullability.NullReturnedFromNonnull
|
|
|
|
// CHECK-NEXT: security.insecureAPI.SecuritySyntaxChecker
|
|
|
|
// CHECK-NEXT: security.insecureAPI.UncheckedReturn
|
|
|
|
// CHECK-NEXT: security.insecureAPI.getpw
|
|
|
|
// CHECK-NEXT: security.insecureAPI.gets
|
|
|
|
// CHECK-NEXT: security.insecureAPI.mkstemp
|
|
|
|
// CHECK-NEXT: security.insecureAPI.mktemp
|
|
|
|
// CHECK-NEXT: security.insecureAPI.vfork
|
|
|
|
// CHECK-NEXT: unix.API
|
|
|
|
// CHECK-NEXT: unix.cstring.CStringModeling
|
|
|
|
// CHECK-NEXT: unix.DynamicMemoryModeling
|
|
|
|
// CHECK-NEXT: unix.Malloc
|
|
|
|
// CHECK-NEXT: unix.MallocSizeof
|
|
|
|
// CHECK-NEXT: unix.MismatchedDeallocator
|
|
|
|
// CHECK-NEXT: unix.Vfork
|
|
|
|
// CHECK-NEXT: unix.cstring.BadSizeArg
|
|
|
|
// CHECK-NEXT: unix.cstring.NullArg
|
2016-08-08 21:41:04 +08:00
|
|
|
|
2019-09-13 02:53:48 +08:00
|
|
|
int main() {
|
|
|
|
int i;
|
|
|
|
(void)(10 / i);
|
|
|
|
}
|