| 1 | #if 0 |
| 2 | // RUN: not %clang_cc1 -verify %s 2>&1 | FileCheck %s |
| 3 | |
| 4 | // Please note that all comments are inside "#if 0" blocks so that |
| 5 | // VerifyDiagnosticConsumer sees no comments while processing this |
| 6 | // test-case (and hence no expected-* directives). |
| 7 | #endif |
| 8 | |
| 9 | #include "verify2.h" |
| 10 | #error source |
| 11 | |
| 12 | #if 0 |
| 13 | // expected-error {{should be ignored}} |
| 14 | |
| 15 | // CHECK: error: no expected directives found: consider use of 'expected-no-diagnostics' |
| 16 | // CHECK-NEXT: error: 'error' diagnostics seen but not expected: |
| 17 | // CHECK-NEXT: Line 5: header |
| 18 | // CHECK-NEXT: Line 10: source |
| 19 | // CHECK-NEXT: 3 errors generated. |
| 20 | #endif |
| 21 | |
| 22 | #ifdef CHECK2 |
| 23 | // RUN: not %clang_cc1 -DCHECK2 -verify %s 2>&1 | FileCheck -check-prefix=CHECK2 %s |
| 24 | |
| 25 | // The following checks that -verify can match "any line" in an included file. |
| 26 | // The location of the diagnostic need therefore only match in the file, not to |
| 27 | // a specific line number. This is useful where -verify is used as a testing |
| 28 | // tool for 3rd-party libraries where headers may change and the specific line |
| 29 | // number of a diagnostic in a header is not important. |
| 30 | |
| 31 | // expected-error@verify2.h:* {{header}} |
| 32 | // expected-error@verify2.h:* {{unknown}} |
| 33 | |
| 34 | // CHECK2: error: 'error' diagnostics expected but not seen: |
| 35 | // CHECK2-NEXT: File {{.*}}verify2.h Line * (directive at {{.*}}verify2.c:32): unknown |
| 36 | // CHECK2-NEXT: error: 'error' diagnostics seen but not expected: |
| 37 | // CHECK2-NEXT: File {{.*}}verify2.c Line 10: source |
| 38 | // CHECK2-NEXT: 2 errors generated. |
| 39 | #endif |
| 40 | |