1 // RUN: not %clang_cc1 -fsyntax-only -verify %s 2>&1 | FileCheck %s
3 // Test the -verify flag. Each of the "x = y;" lines will produce a
4 // "use of undeclared identifier 'y'" error message.
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'}}
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'}}
28 //CHECK: error: 'expected-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: 'expected-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.