| // RUN: %clang_cc1 -fminimize-whitespace -E %s 2>&1 | FileCheck %s --strict-whitespace --check-prefix=MINCOL | |
| // RUN: %clang_cc1 -fminimize-whitespace -E -C %s 2>&1 | FileCheck %s --strict-whitespace --check-prefix=MINCCOL | |
| // RUN: %clang_cc1 -fminimize-whitespace -E -P %s 2>&1 | FileCheck %s --strict-whitespace --check-prefix=MINWS | |
| // RUN: %clang_cc1 -fminimize-whitespace -E -C -P %s 2>&1 | FileCheck %s --strict-whitespace --check-prefix=MINCWS | |
| // The follow empty lines ensure that a #line directive is emitted instead of newline padding after the RUN comments. | |
| #define NOT_OMP omp something | |
| #define HASH # | |
| int a; /* span-comment */ | |
| int b ; // line-comment | |
| _Pragma ( "omp barrier" ) x // more line-comments | |
| #pragma omp nothing // another comment | |
| HASH pragma NOT_OMP | |
| int e; // again a line | |
| int \ | |
| f ; | |
| // MINCOL: {{^}}# 15 "{{.*}}minimize-whitespace.c"{{$}} | |
| // MINCOL: {{^}}int a;{{$}} | |
| // MINCOL-NEXT: {{^}}int b;{{$}} | |
| // MINCOL-NEXT: {{^}}#pragma omp barrier{{$}} | |
| // MINCOL-NEXT: # 17 "{{.*}}minimize-whitespace.c" | |
| // MINCOL-NEXT: {{^}}x{{$}} | |
| // MINCOL-NEXT: {{^}}#pragma omp nothing{{$}} | |
| // MINCOL-NEXT: {{^ }}#pragma omp something{{$}} | |
| // MINCOL-NEXT: {{^}}int e;{{$}} | |
| // MINCOL-NEXT: {{^}}int f;{{$}} | |
| // FIXME: Comments after pragmas disappear, even without -fminimize-whitespace | |
| // MINCCOL: {{^}}# 15 "{{.*}}minimize-whitespace.c"{{$}} | |
| // MINCCOL: {{^}}int a;/* span-comment */{{$}} | |
| // MINCCOL-NEXT: {{^}}int b;// line-comment{{$}} | |
| // MINCCOL-NEXT: {{^}}#pragma omp barrier{{$}} | |
| // MINCCOL-NEXT: # 17 "{{.*}}minimize-whitespace.c" | |
| // MINCCOL-NEXT: {{^}}x// more line-comments{{$}} | |
| // MINCCOL-NEXT: {{^}}#pragma omp nothing{{$}} | |
| // MINCCOL-NEXT: {{^ }}#pragma omp something{{$}} | |
| // MINCCOL-NEXT: {{^}}int e;// again a line{{$}} | |
| // MINCCOL-NEXT: {{^}}int f;{{$}} | |
| // MINWS: {{^}}int a;int b;{{$}} | |
| // MINWS-NEXT: {{^}}#pragma omp barrier{{$}} | |
| // MINWS-NEXT: {{^}}x{{$}} | |
| // MINWS-NEXT: {{^}}#pragma omp nothing{{$}} | |
| // MINWS-NEXT: {{^ }}#pragma omp something int e;int f;{{$}} | |
| // FIXME: Comments after pragmas disappear, even without -fminimize-whitespace | |
| // MINCWS: {{^}}int a;/* span-comment */int b;// line-comment{{$}} | |
| // MINCWS-NEXT: {{^}}#pragma omp barrier{{$}} | |
| // MINCWS-NEXT: {{^}}x// more line-comments{{$}} | |
| // MINCWS-NEXT: {{^}}#pragma omp nothing{{$}} | |
| // MINCWS-NEXT: {{^ }}#pragma omp something int e;// again a line{{$}} | |
| // MINCWS-NEXT: {{^}}int f; | |