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