Andy Gibbs | 266dba3 | 2012-10-19 12:49:32 +0000 | [diff] [blame] | 1 | // This test-case runs several sub-tests on -verify to ensure that correct |
| 2 | // diagnostics are generated in relation to the mis-use and non-use of the |
| 3 | // 'expected-no-diagnostics' directive. |
| 4 | |
Rafael Espindola | 96e7813 | 2013-07-04 16:16:58 +0000 | [diff] [blame] | 5 | // RUN: not %clang_cc1 -DTEST1 -verify %s 2>&1 | FileCheck -check-prefix=CHECK1 %s |
Andy Gibbs | 266dba3 | 2012-10-19 12:49:32 +0000 | [diff] [blame] | 6 | #ifdef TEST1 |
| 7 | // expected-no-diagnostics |
| 8 | // expected-note {{}} |
| 9 | |
| 10 | // CHECK1: error: 'error' diagnostics seen but not expected: |
| 11 | // CHECK1-NEXT: Line 8: expected directive cannot follow 'expected-no-diagnostics' directive |
| 12 | // CHECK1-NEXT: 1 error generated. |
| 13 | #endif |
| 14 | |
Rafael Espindola | 96e7813 | 2013-07-04 16:16:58 +0000 | [diff] [blame] | 15 | // RUN: not %clang_cc1 -DTEST2 -verify %s 2>&1 | FileCheck -check-prefix=CHECK2 %s |
Andy Gibbs | 266dba3 | 2012-10-19 12:49:32 +0000 | [diff] [blame] | 16 | #ifdef TEST2 |
| 17 | #warning X |
| 18 | // expected-warning@-1 {{X}} |
| 19 | // expected-no-diagnostics |
| 20 | |
| 21 | // CHECK2: error: 'error' diagnostics seen but not expected: |
| 22 | // CHECK2-NEXT: Line 19: 'expected-no-diagnostics' directive cannot follow other expected directives |
| 23 | // CHECK2-NEXT: 1 error generated. |
| 24 | #endif |
| 25 | |
Rafael Espindola | 96e7813 | 2013-07-04 16:16:58 +0000 | [diff] [blame] | 26 | // RUN: not %clang_cc1 -DTEST3 -verify %s 2>&1 | FileCheck -check-prefix=CHECK3 %s |
Alp Toker | 47ba7ec | 2013-11-05 12:45:40 +0000 | [diff] [blame] | 27 | // RUN: not %clang_cc1 -verify %s 2>&1 | FileCheck -check-prefix=CHECK3 %s |
Andy Gibbs | 266dba3 | 2012-10-19 12:49:32 +0000 | [diff] [blame] | 28 | #ifdef TEST3 |
| 29 | // no directives |
| 30 | |
| 31 | // CHECK3: error: no expected directives found: consider use of 'expected-no-diagnostics' |
| 32 | // CHECK3-NEXT: 1 error generated. |
| 33 | #endif |
| 34 | |
| 35 | // RUN: %clang_cc1 -E -DTEST4 -verify %s 2>&1 | FileCheck -check-prefix=CHECK4 %s |
| 36 | #ifdef TEST4 |
| 37 | #warning X |
| 38 | // expected-warning@-1 {{X}} |
| 39 | |
| 40 | // CHECK4-NOT: error: no expected directives found: consider use of 'expected-no-diagnostics' |
| 41 | #endif |