40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
| #if 0
 | |
| // RUN: not %clang_cc1 -verify %s 2>&1 | FileCheck %s
 | |
| 
 | |
| // Please note that all comments are inside "#if 0" blocks so that
 | |
| // VerifyDiagnosticConsumer sees no comments while processing this
 | |
| // test-case (and hence no expected-* directives).
 | |
| #endif
 | |
| 
 | |
| #include "verify2.h"
 | |
| #error source
 | |
| 
 | |
| #if 0
 | |
| // expected-error {{should be ignored}}
 | |
| 
 | |
| //      CHECK: error: no expected directives found: consider use of 'expected-no-diagnostics'
 | |
| // CHECK-NEXT: error: 'error' diagnostics seen but not expected:
 | |
| // CHECK-NEXT:   Line 5: header
 | |
| // CHECK-NEXT:   Line 10: source
 | |
| // CHECK-NEXT: 3 errors generated.
 | |
| #endif
 | |
| 
 | |
| #ifdef CHECK2
 | |
| // RUN: not %clang_cc1 -DCHECK2 -verify %s 2>&1 | FileCheck -check-prefix=CHECK2 %s
 | |
| 
 | |
| // The following checks that -verify can match "any line" in an included file.
 | |
| // The location of the diagnostic need therefore only match in the file, not to
 | |
| // a specific line number.  This is useful where -verify is used as a testing
 | |
| // tool for 3rd-party libraries where headers may change and the specific line
 | |
| // number of a diagnostic in a header is not important.
 | |
| 
 | |
| // expected-error@verify2.h:* {{header}}
 | |
| // expected-error@verify2.h:* {{unknown}}
 | |
| 
 | |
| //      CHECK2: error: 'error' diagnostics expected but not seen:
 | |
| // CHECK2-NEXT:   File {{.*}}verify2.h Line * (directive at {{.*}}verify2.c:32): unknown
 | |
| // CHECK2-NEXT: error: 'error' diagnostics seen but not expected:
 | |
| // CHECK2-NEXT:   File {{.*}}verify2.c Line 10: source
 | |
| // CHECK2-NEXT: 2 errors generated.
 | |
| #endif
 |