1 // RUN: %clang_cc1 -E %s 2>&1 | FileCheck %s -strict-whitespace
2 // PR6101
3 int a;
4 // CHECK: # 1 "{{.*}}line-directive-output.c"
5 
6 // Check that we do not emit an enter marker for the main file.
7 // CHECK-NOT: # 1 "{{.*}}line-directive-output.c" 1
8 
9 // CHECK: int a;
10 
11 // CHECK-NEXT: # 50 "{{.*}}line-directive-output.c"
12 // CHECK-NEXT: int b;
13 #line 50
14 int b;
15 
16 // CHECK: # 13 "{{.*}}line-directive-output.c"
17 // CHECK-NEXT: int c;
18 # 13
19 int c;
20 
21 
22 // CHECK-NEXT: # 1 "A.c"
23 #line 1 "A.c"
24 // CHECK-NEXT: # 2 "A.c"
25 #line 2
26 
27 // CHECK-NEXT: # 1 "B.c"
28 #line 1 "B.c"
29 
30 // CHECK-NEXT: # 1000 "A.c"
31 #line 1000 "A.c"
32 
33 int y;
34 
35 
36 
37 
38 
39 
40 
41 // CHECK: # 1010 "A.c"
42 int z;
43 
44 extern int x;
45 
46 # 3 "temp2.h" 1
47 extern int y;
48 
49 # 7 "A.c" 2
50 extern int z;
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 // CHECK: # 25 "A.c"
65 
66 
67 // CHECK: # 50 "C.c" 1
68 # 50 "C.c" 1
69 
70 
71 // CHECK-NEXT: # 2000 "A.c" 2
72 # 2000 "A.c" 2
73 # 42 "A.c"
74 # 44 "A.c"
75 # 49 "A.c"
76 
77 // CHECK: # 50 "a\n.c"
78 # 50 "a\012.c"
79 
80 # 1 "system.h" 3
81 # 2
82 void sys_foo(void);
83 // CHECK: # 1 "system.h" 3
84 // CHECK-NEXT: # 2 "system.h" 3
85 // CHECK-NEXT: void sys_foo(void);
86