| 1 | // RUN: not clang-tidy %s \ |
| 2 | // RUN: -checks="-*,bugprone-suspicious-semicolon" -- -DERROR 2>&1 \ |
| 3 | // RUN: | FileCheck %s -check-prefix=CHECK-ERROR \ |
| 4 | // RUN: -implicit-check-not="{{warning|error}}:" |
| 5 | // RUN: not clang-tidy %s \ |
| 6 | // RUN: -checks="-*,bugprone-suspicious-semicolon,clang-diagnostic*" \ |
| 7 | // RUN: -- -DWERROR -Wno-everything -Werror=unused-variable 2>&1 \ |
| 8 | // RUN: | FileCheck %s -check-prefix=CHECK-WERROR \ |
| 9 | // RUN: -implicit-check-not="{{warning|error}}:" |
| 10 | |
| 11 | // Note: This test verifies that, the checker does not emit any warning for |
| 12 | // files that do not compile. |
| 13 | |
| 14 | bool g(); |
| 15 | |
| 16 | void f() { |
| 17 | if (g()); |
| 18 | // CHECK-WERROR: :[[@LINE-1]]:11: warning: potentially unintended semicolon [bugprone-suspicious-semicolon] |
| 19 | #if ERROR |
| 20 | int a |
| 21 | // CHECK-ERROR: :[[@LINE-1]]:8: error: expected ';' at end of declaration [clang-diagnostic-error] |
| 22 | #elif WERROR |
| 23 | int a; |
| 24 | // CHECK-WERROR: :[[@LINE-1]]:7: error: unused variable 'a' [clang-diagnostic-unused-variable] |
| 25 | #else |
| 26 | #error "One of ERROR or WERROR should be defined. |
| 27 | #endif |
| 28 | } |
| 29 | |