1 // RUN: not %clang_cc1 -fsyntax-only -pedantic-errors %s 2>&1 | FileCheck %s --check-prefix=PRESUMED
2 // RUN: not %clang_cc1 -fsyntax-only -pedantic-errors -fno-diagnostics-use-presumed-location %s 2>&1 | FileCheck %s --check-prefix=SPELLING
3 
4 #line 100
5 #define X(y) y
6 X(int n = error);
7 
8 // PRESUMED: diag-presumed.c:101:11: error: use of undeclared identifier 'error'
9 // SPELLING: diag-presumed.c:6:11: error: use of undeclared identifier 'error'
10 
11 ;
12 // PRESUMED: diag-presumed.c:106:1: error: extra ';' outside of a functio
13 // SPELLING: diag-presumed.c:11:1: error: extra ';' outside of a functio
14 
15 # 1 "thing1.cc" 1
16 # 1 "thing1.h" 1
17 # 1 "systemheader.h" 1 3
18 ;
19 // No diagnostic here: we're in a system header, even if we're using spelling
20 // locations for the diagnostics..
21 // PRESUMED-NOT: extra ';'
22 // SPELLING-NOT: extra ';'
23 
24 another error;
25 // PRESUMED: included from {{.*}}diag-presumed.c:110:
26 // PRESUMED: from thing1.cc:1:
27 // PRESUMED: from thing1.h:1:
28 // PRESUMED: systemheader.h:7:1: error: unknown type name 'another'
29 
30 // SPELLING-NOT: included from
31 // SPELLING: diag-presumed.c:24:1: error: unknown type name 'another'
32 
33 # 1 "thing1.h" 2
34 # 1 "thing1.cc" 2
35