xref: /llvm-project/clang/test/Preprocessor/skip-empty-lines.c (revision 666906a8032709e59ca6c9fb7b7a5e05cafbd3bf)
1*c6b0b16cSMichael Kruse   int  a ;
2*c6b0b16cSMichael Kruse   int  b ;
3*c6b0b16cSMichael Kruse // A single empty line
4*c6b0b16cSMichael Kruse   int  c ;
5*c6b0b16cSMichael Kruse /*
6*c6b0b16cSMichael Kruse 
7*c6b0b16cSMichael Kruse more than 8 empty lines
8*c6b0b16cSMichael Kruse (forces a line marker instead of newline padding)
9*c6b0b16cSMichael Kruse 
10*c6b0b16cSMichael Kruse 
11*c6b0b16cSMichael Kruse 
12*c6b0b16cSMichael Kruse 
13*c6b0b16cSMichael Kruse */
14*c6b0b16cSMichael Kruse   int  d ;
15*c6b0b16cSMichael Kruse 
16*c6b0b16cSMichael Kruse // RUN: %clang_cc1 -E %s 2>&1 | FileCheck %s --strict-whitespace --check-prefix=LINEMARKERS
17*c6b0b16cSMichael Kruse // RUN: %clang_cc1 -E -P %s 2>&1 | FileCheck %s --strict-whitespace --check-prefix=COLSONLY
18*c6b0b16cSMichael Kruse // RUN: %clang_cc1 -E -fminimize-whitespace %s 2>&1 | FileCheck %s --strict-whitespace --check-prefix=MINCOL
19*c6b0b16cSMichael Kruse // RUN: %clang_cc1 -E -P -fminimize-whitespace %s 2>&1 | FileCheck %s --strict-whitespace --check-prefix=MINWS
20*c6b0b16cSMichael Kruse 
21*c6b0b16cSMichael Kruse // Check behavior after varying number of lines without emitted tokens.
22*c6b0b16cSMichael Kruse 
23*c6b0b16cSMichael Kruse // LINEMARKERS:      {{^}}# 1 "{{.*}}skip-empty-lines.c" 2
24*c6b0b16cSMichael Kruse // LINEMARKERS-NEXT: {{^}}  int a ;
25*c6b0b16cSMichael Kruse // LINEMARKERS-NEXT: {{^}}  int b ;
26*c6b0b16cSMichael Kruse // LINEMARKERS-EMPTY:
27*c6b0b16cSMichael Kruse // LINEMARKERS-NEXT: {{^}}  int c ;
28*c6b0b16cSMichael Kruse // LINEMARKERS-NEXT: {{^}}# 14 "{{.*}}skip-empty-lines.c"
29*c6b0b16cSMichael Kruse // LINEMARKERS-NEXT: {{^}}  int d ;
30*c6b0b16cSMichael Kruse 
31*c6b0b16cSMichael Kruse // COLSONLY:      {{^}}  int a ;
32*c6b0b16cSMichael Kruse // COLSONLY-NEXT: {{^}}  int b ;
33*c6b0b16cSMichael Kruse // COLSONLY-NEXT: {{^}}  int c ;
34*c6b0b16cSMichael Kruse // COLSONLY-NEXT: {{^}}  int d ;
35*c6b0b16cSMichael Kruse 
36*c6b0b16cSMichael Kruse // MINCOL:      {{^}}# 1 "{{.*}}skip-empty-lines.c" 2
37*c6b0b16cSMichael Kruse // MINCOL-NEXT: {{^}}int a;
38*c6b0b16cSMichael Kruse // MINCOL-NEXT: {{^}}int b;
39*c6b0b16cSMichael Kruse // MINCOL-EMPTY:
40*c6b0b16cSMichael Kruse // MINCOL-NEXT: {{^}}int c;
41*c6b0b16cSMichael Kruse // MINCOL-NEXT: {{^}}# 14 "{{.*}}skip-empty-lines.c"
42*c6b0b16cSMichael Kruse // MINCOL-NEXT: {{^}}int d;
43*c6b0b16cSMichael Kruse 
44*c6b0b16cSMichael Kruse // MINWS: {{^}}int a;int b;int c;int d;
45*c6b0b16cSMichael Kruse 
46