1 // RUN: %clang_cc1 -analyzer-checker-help \ 2 // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-STABLE 3 4 // RUN: %clang_cc1 -analyzer-checker-help-alpha \ 5 // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-ALPHA 6 7 // RUN: %clang_cc1 -analyzer-checker-help-developer \ 8 // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-DEVELOPER 9 10 // RUN: %clang_cc1 -analyzer-checker-help-developer \ 11 // RUN: -analyzer-checker-help-alpha \ 12 // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-DEVELOPER-ALPHA 13 14 // RUN: %clang_cc1 -analyzer-checker-help \ 15 // RUN: -analyzer-checker-help-alpha \ 16 // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-STABLE-ALPHA 17 18 // RUN: %clang_cc1 -analyzer-checker-help \ 19 // RUN: -analyzer-checker-help-developer \ 20 // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-STABLE-DEVELOPER 21 22 // RUN: %clang_cc1 -analyzer-checker-help \ 23 // RUN: -analyzer-checker-help-alpha \ 24 // RUN: -analyzer-checker-help-developer \ 25 // RUN: 2>&1 | FileCheck %s -check-prefix=CHECK-STABLE-ALPHA-DEVELOPER 26 27 // Note that alpha.cplusplus.IteratorModeling is not only an alpha, but also a 28 // hidden checker. In this case, we'd only like to see it in the developer list. 29 // CHECK-ALPHA-NOT: alpha.cplusplus.IteratorModeling 30 // CHECK-DEVELOPER: alpha.cplusplus.IteratorModeling 31 32 // CHECK-STABLE: core.DivideZero 33 // CHECK-DEVELOPER-NOT: core.DivideZero 34 // CHECK-ALPHA-NOT: core.DivideZero 35 36 // CHECK-STABLE-NOT: debug.ConfigDumper 37 // CHECK-DEVELOPER: debug.ConfigDumper 38 // CHECK-ALPHA-NOT: debug.ConfigDumper 39 40 41 // CHECK-STABLE-ALPHA: core.DivideZero 42 // CHECK-DEVELOPER-ALPHA-NOT: core.DivideZero 43 // CHECK-STABLE-DEVELOPER: core.DivideZero 44 45 // CHECK-STABLE-ALPHA-NOT: debug.ConfigDumper 46 // CHECK-DEVELOPER-ALPHA: debug.ConfigDumper 47 // CHECK-STABLE-DEVELOPER: debug.ConfigDumper 48 49 50 // CHECK-STABLE-ALPHA-DEVELOPER: core.DivideZero 51 // CHECK-STABLE-ALPHA-DEVELOPER: debug.ConfigDumper 52