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