From 86337d60f086eef27586db27d6ce92602ad26d54 Mon Sep 17 00:00:00 2001 From: Devin Coughlin Date: Wed, 14 Dec 2016 18:46:01 +0000 Subject: [PATCH] [Driver] Add tests for enabled static analyzer checkers. The driver passes flags to cc1 that enable various checkers based on the target triple. This commit adds tests for these flags on Darwin, Linux, and Windows. This is a test-only change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@289685 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../analyzer-target-enabled-checkers.cpp | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 test/Driver/analyzer-target-enabled-checkers.cpp diff --git a/test/Driver/analyzer-target-enabled-checkers.cpp b/test/Driver/analyzer-target-enabled-checkers.cpp new file mode 100644 index 0000000000..7b3f1e2723 --- /dev/null +++ b/test/Driver/analyzer-target-enabled-checkers.cpp @@ -0,0 +1,57 @@ +// Tests for static analyzer checkers that the driver enables by default based +// on the target triple. + +// RUN: %clang -### -target x86_64-apple-darwin10 --analyze %s 2>&1 | FileCheck --check-prefix=CHECK-DARWIN %s + +// CHECK-DARWIN: "-analyzer-checker=core" +// CHECK-DARWIN-SAME: "-analyzer-checker=unix" +// CHECK-DARWIN-SAME: "-analyzer-checker=osx" +// CHECK-DARWIN-SAME: "-analyzer-checker=deadcode" +// CHECK-DARWIN-SAME: "-analyzer-checker=cplusplus" +// CHECK-DARWIN-SAME: "-analyzer-checker=security.insecureAPI.UncheckedReturn" +// CHECK-DARWIN-SAME: "-analyzer-checker=security.insecureAPI.getpw" +// CHECK-DARWIN-SAME: "-analyzer-checker=security.insecureAPI.gets" +// CHECK-DARWIN-SAME: "-analyzer-checker=security.insecureAPI.mktemp" +// CHECK-DARWIN-SAME: "-analyzer-checker=security.insecureAPI.mkstemp" +// CHECK-DARWIN-SAME: "-analyzer-checker=security.insecureAPI.vfork" +// CHECK-DARWIN-SAME: "-analyzer-checker=nullability.NullPassedToNonnull" +// CHECK-DARWIN-SAME: "-analyzer-checker=nullability.NullReturnedFromNonnull" + + +// RUN: %clang -### -target x86_64-unknown-linux --analyze %s 2>&1 | FileCheck --check-prefix=CHECK-LINUX %s + +// CHECK-LINUX: "-analyzer-checker=core" +// CHECK-LINUX-SAME: "-analyzer-checker=unix" +// CHECK-LINUX-NOT: "-analyzer-checker=osx" +// CHECK-LINUX-SAME: "-analyzer-checker=deadcode" +// CHECK-LINUX-SAME: "-analyzer-checker=cplusplus" +// CHECK-LINUX-SAME: "-analyzer-checker=security.insecureAPI.UncheckedReturn" +// CHECK-LINUX-SAME: "-analyzer-checker=security.insecureAPI.getpw" +// CHECK-LINUX-SAME: "-analyzer-checker=security.insecureAPI.gets" +// CHECK-LINUX-SAME: "-analyzer-checker=security.insecureAPI.mktemp" +// CHECK-LINUX-SAME: "-analyzer-checker=security.insecureAPI.mkstemp" +// CHECK-LINUX-SAME: "-analyzer-checker=security.insecureAPI.vfork" +// CHECK-LINUX-SAME: "-analyzer-checker=nullability.NullPassedToNonnull" +// CHECK-LINUX-SAME: "-analyzer-checker=nullability.NullReturnedFromNonnull" + + +// RUN: %clang -### -target x86_64-windows --analyze %s 2>&1 | FileCheck --check-prefix=CHECK-WINDOWS %s + +// CHECK-WINDOWS: "-analyzer-checker=core" +// CHECK-WINDOWS-SAME: "-analyzer-checker=unix.API" +// CHECK-WINDOWS-SAME: "-analyzer-checker=unix.Malloc" +// CHECK-WINDOWS-SAME: "-analyzer-checker=unix.MallocSizeof" +// CHECK-WINDOWS-SAME: "-analyzer-checker=unix.MismatchedDeallocator" +// CHECK-WINDOWS-SAME: "-analyzer-checker=unix.cstring.BadSizeArg" +// CHECK-WINDOWS-SAME: "-analyzer-checker=unix.cstring.NullArg" +// CHECK-WINDOWS-NOT: "-analyzer-checker=osx" +// CHECK-WINDOWS-SAME: "-analyzer-checker=deadcode" +// CHECK-WINDOWS-SAME: "-analyzer-checker=cplusplus" +// CHECK-WINDOWS-SAME: "-analyzer-checker=security.insecureAPI.UncheckedReturn" +// CHECK-WINDOWS-SAME: "-analyzer-checker=security.insecureAPI.getpw" +// CHECK-WINDOWS-SAME: "-analyzer-checker=security.insecureAPI.gets" +// CHECK-WINDOWS-SAME: "-analyzer-checker=security.insecureAPI.mktemp" +// CHECK-WINDOWS-SAME: "-analyzer-checker=security.insecureAPI.mkstemp" +// CHECK-WINDOWS-SAME: "-analyzer-checker=security.insecureAPI.vfork" +// CHECK-WINDOWS-SAME: "-analyzer-checker=nullability.NullPassedToNonnull" +// CHECK-WINDOWS-SAME: "-analyzer-checker=nullability.NullReturnedFromNonnull" -- 2.40.0