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 | |