Rafael Espindola | 96e7813 | 2013-07-04 16:16:58 +0000 | [diff] [blame] | 1 | // RUN: not %clang_cc1 -fsyntax-only -verify %s 2>&1 | FileCheck %s |
Richard Trieu | 2fe9b7f | 2011-12-15 00:38:15 +0000 | [diff] [blame] | 2 | |
| 3 | // Test the -verify flag. Each of the "x = y;" lines will produce a |
| 4 | // "use of undeclared identifier 'y'" error message. |
| 5 | |
| 6 | void test() { |
| 7 | int x; |
| 8 | // Proper matches here. |
| 9 | x = y; // expected-error{{use of undeclared identifier 'y'}} |
| 10 | x = y; // expected-error{{use of undeclared identifier}} |
| 11 | x = y; // expected-error{{undeclared identifier 'y'}} |
| 12 | x = y; // expected-error{{use of}} |
| 13 | x = y; // expected-error{{undeclared identifier}} |
| 14 | x = y; // expected-error{{'y'}} |
| 15 | |
| 16 | // Bad matches here. |
| 17 | x = y; // expected-error{{use of undeclared identifier 'y' is fine}} |
| 18 | x = y; // expected-error{{abuse of undeclared identifier 'y'}} |
| 19 | x = y; // expected-error{{good use of undeclared identifier 'y' in code}} |
| 20 | x = y; // expected-error{{ use of undeclared identifier 'y' }} |
| 21 | x = y; // expected-error{{use of undeclared identifier 'y' is disallowed}} |
| 22 | x = y; // expected-error{{please don't use of undeclared identifier 'y'}} |
| 23 | x = y; // expected-error{{use of undeclared identifier 'y'; please declare y before use}} |
| 24 | x = y; // expected-error{{use of use of undeclared identifier 'y'}} |
| 25 | x = y; // expected-error{{use of undeclared identifier 'y' identifier 'y'}} |
| 26 | } |
| 27 | |
| 28 | //CHECK: error: 'error' diagnostics expected but not seen: |
| 29 | //CHECK: Line 17: use of undeclared identifier 'y' is fine |
| 30 | //CHECK: Line 18: abuse of undeclared identifier 'y' |
| 31 | //CHECK: Line 19: good use of undeclared identifier 'y' in code |
| 32 | //CHECK: Line 20: use of undeclared identifier 'y' |
| 33 | //CHECK: Line 21: use of undeclared identifier 'y' is disallowed |
| 34 | //CHECK: Line 22: please don't use of undeclared identifier 'y' |
| 35 | //CHECK: Line 23: use of undeclared identifier 'y'; please declare y before use |
| 36 | //CHECK: Line 24: use of use of undeclared identifier 'y' |
| 37 | //CHECK: Line 25: use of undeclared identifier 'y' identifier 'y' |
| 38 | //CHECK: error: 'error' diagnostics seen but not expected: |
| 39 | //CHECK: Line 17: use of undeclared identifier 'y' |
| 40 | //CHECK: Line 18: use of undeclared identifier 'y' |
| 41 | //CHECK: Line 19: use of undeclared identifier 'y' |
| 42 | //CHECK: Line 20: use of undeclared identifier 'y' |
| 43 | //CHECK: Line 21: use of undeclared identifier 'y' |
| 44 | //CHECK: Line 22: use of undeclared identifier 'y' |
| 45 | //CHECK: Line 23: use of undeclared identifier 'y' |
| 46 | //CHECK: Line 24: use of undeclared identifier 'y' |
| 47 | //CHECK: Line 25: use of undeclared identifier 'y' |
| 48 | //CHECK: 18 errors generated. |