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