1 // RUN: %clang_cc1 -fminimize-whitespace -E %s 2>&1 | FileCheck %s --strict-whitespace --check-prefix=MINCOL
2 // RUN: %clang_cc1 -fminimize-whitespace -E -C %s 2>&1 | FileCheck %s --strict-whitespace --check-prefix=MINCCOL
3 // RUN: %clang_cc1 -fminimize-whitespace -E -P %s 2>&1 | FileCheck %s --strict-whitespace --check-prefix=MINWS
4 // RUN: %clang_cc1 -fminimize-whitespace -E -C -P %s 2>&1 | FileCheck %s --strict-whitespace --check-prefix=MINCWS
5 // The follow empty lines ensure that a #line directive is emitted instead of newline padding after the RUN comments.
12 #define NOT_OMP omp something
15 int a
; /* span-comment */
16 int b
; // line-comment
17 _Pragma ( "omp barrier" ) x
// more line-comments
18 #pragma omp nothing // another comment
20 int e
; // again a line
25 // MINCOL: {{^}}# 15 "{{.*}}minimize-whitespace.c"{{$}}
26 // MINCOL: {{^}}int a;{{$}}
27 // MINCOL-NEXT: {{^}}int b;{{$}}
28 // MINCOL-NEXT: {{^}}#pragma omp barrier{{$}}
29 // MINCOL-NEXT: # 17 "{{.*}}minimize-whitespace.c"
30 // MINCOL-NEXT: {{^}}x{{$}}
31 // MINCOL-NEXT: {{^}}#pragma omp nothing{{$}}
32 // MINCOL-NEXT: {{^ }}#pragma omp something{{$}}
33 // MINCOL-NEXT: {{^}}int e;{{$}}
34 // MINCOL-NEXT: {{^}}int f;{{$}}
36 // FIXME: Comments after pragmas disappear, even without -fminimize-whitespace
37 // MINCCOL: {{^}}# 15 "{{.*}}minimize-whitespace.c"{{$}}
38 // MINCCOL: {{^}}int a;/* span-comment */{{$}}
39 // MINCCOL-NEXT: {{^}}int b;// line-comment{{$}}
40 // MINCCOL-NEXT: {{^}}#pragma omp barrier{{$}}
41 // MINCCOL-NEXT: # 17 "{{.*}}minimize-whitespace.c"
42 // MINCCOL-NEXT: {{^}}x// more line-comments{{$}}
43 // MINCCOL-NEXT: {{^}}#pragma omp nothing{{$}}
44 // MINCCOL-NEXT: {{^ }}#pragma omp something{{$}}
45 // MINCCOL-NEXT: {{^}}int e;// again a line{{$}}
46 // MINCCOL-NEXT: {{^}}int f;{{$}}
48 // MINWS: {{^}}int a;int b;{{$}}
49 // MINWS-NEXT: {{^}}#pragma omp barrier{{$}}
50 // MINWS-NEXT: {{^}}x{{$}}
51 // MINWS-NEXT: {{^}}#pragma omp nothing{{$}}
52 // MINWS-NEXT: {{^ }}#pragma omp something int e;int f;{{$}}
54 // FIXME: Comments after pragmas disappear, even without -fminimize-whitespace
55 // MINCWS: {{^}}int a;/* span-comment */int b;// line-comment{{$}}
56 // MINCWS-NEXT: {{^}}#pragma omp barrier{{$}}
57 // MINCWS-NEXT: {{^}}x// more line-comments{{$}}
58 // MINCWS-NEXT: {{^}}#pragma omp nothing{{$}}
59 // MINCWS-NEXT: {{^ }}#pragma omp something int e;// again a line{{$}}
60 // MINCWS-NEXT: {{^}}int f;