[PATCH] D63979: actually also compile output in tests for -frewrite-includes
This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Closed by commit rL372250: actually also compile output in tests for -frewrite-includes (authored by llunak, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D63979?vs=207226&id=220725#toc Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63979/new/ https://reviews.llvm.org/D63979 Files: cfe/trunk/test/Frontend/Inputs/NextIncludes/rewrite-includes9.h cfe/trunk/test/Frontend/Inputs/rewrite-includes1.h cfe/trunk/test/Frontend/Inputs/rewrite-includes2.h cfe/trunk/test/Frontend/Inputs/rewrite-includes3.h cfe/trunk/test/Frontend/Inputs/rewrite-includes4.h cfe/trunk/test/Frontend/Inputs/rewrite-includes5.h cfe/trunk/test/Frontend/Inputs/rewrite-includes6.h cfe/trunk/test/Frontend/Inputs/rewrite-includes7.h cfe/trunk/test/Frontend/rewrite-includes-cli-include.c cfe/trunk/test/Frontend/rewrite-includes-conditions.c cfe/trunk/test/Frontend/rewrite-includes.c Index: cfe/trunk/test/Frontend/rewrite-includes.c === --- cfe/trunk/test/Frontend/rewrite-includes.c +++ cfe/trunk/test/Frontend/rewrite-includes.c @@ -1,8 +1,9 @@ -// RUN: not %clang_cc1 -verify -E -frewrite-includes -DFIRST -I %S/Inputs -I %S/Inputs/NextIncludes %s -o - | FileCheck -strict-whitespace %s -// RUN: not %clang_cc1 -verify -E -frewrite-includes -P -DFIRST -I %S/Inputs -I %S/Inputs/NextIncludes %s -o - | FileCheck -check-prefix=CHECKNL -strict-whitespace %s +// RUN: %clang_cc1 -E -frewrite-includes -DFIRST -I %S/Inputs -I %S/Inputs/NextIncludes %s -o - | FileCheck -strict-whitespace %s +// RUN: %clang_cc1 -E -frewrite-includes -P -DFIRST -I %S/Inputs -I %S/Inputs/NextIncludes %s -o - | FileCheck -check-prefix=CHECKNL -strict-whitespace %s +// RUN: %clang_cc1 -E -frewrite-includes -DFIRST -I %S/Inputs -I %S/Inputs/NextIncludes %s -o - | %clang_cc1 -Wall -Wextra -Wconversion -DFIRST -x c -fsyntax-only 2>&1 | FileCheck -check-prefix=COMPILE --implicit-check-not warning: %s // STARTCOMPARE #define A(a,b) a ## b -A(1,2) +A(in,t) a; #include "rewrite-includes1.h" #ifdef FIRST #define HEADER "rewrite-includes3.h" @@ -21,94 +22,95 @@ #include "rewrite-includes7.h" #include "rewrite-includes8.h" #include "rewrite-includes9.h" +static int unused; // ENDCOMPARE // CHECK: {{^}}# 1 "{{.*}}rewrite-includes.c"{{$}} // CHECK: {{^}}// STARTCOMPARE{{$}} // CHECK-NEXT: {{^}}#define A(a,b) a ## b{{$}} -// CHECK-NEXT: {{^}}A(1,2){{$}} +// CHECK-NEXT: {{^}}A(in,t) a;{{$}} // CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}} // CHECK-NEXT: {{^}}#include "rewrite-includes1.h"{{$}} // CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}} -// CHECK-NEXT: {{^}}# 6 "{{.*}}rewrite-includes.c"{{$}} +// CHECK-NEXT: {{^}}# 7 "{{.*}}rewrite-includes.c"{{$}} // CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|)}}rewrite-includes1.h" 1{{$}} // CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}} // CHECK-NEXT: {{^}}#pragma clang system_header{{$}} // CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}} // CHECK-NEXT: {{^}}# 2 "{{.*[/\\]Inputs(/|)}}rewrite-includes1.h" 3{{$}} -// CHECK-NEXT: {{^}}included_line1{{$}} +// CHECK-NEXT: {{^}}int included_line1;{{$}} // CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}} // CHECK-NEXT: {{^}}#include "rewrite-includes2.h"{{$}} // CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}} // CHECK-NEXT: {{^}}# 3 "{{.*[/\\]Inputs(/|)}}rewrite-includes1.h" 3{{$}} // CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|)}}rewrite-includes2.h" 1 3{{$}} -// CHECK-NEXT: {{^}}included_line2{{$}} +// CHECK-NEXT: {{^}}int included_line2;{{$}} // CHECK-NEXT: {{^}}# 4 "{{.*[/\\]Inputs(/|)}}rewrite-includes1.h" 2 3{{$}} -// CHECK-NEXT: {{^}}# 7 "{{.*}}rewrite-includes.c" 2{{$}} +// CHECK-NEXT: {{^}}# 8 "{{.*}}rewrite-includes.c" 2{{$}} // CHECK-NEXT: {{^}}#ifdef FIRST{{$}} // CHECK-NEXT: {{^}}#define HEADER "rewrite-includes3.h"{{$}} // CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}} // CHECK-NEXT: {{^}}#include HEADER{{$}} // CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}} -// CHECK-NEXT: {{^}}# 9 "{{.*}}rewrite-includes.c"{{$}} +// CHECK-NEXT: {{^}}# 10 "{{.*}}rewrite-includes.c"{{$}} // CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|)}}rewrite-includes3.h" 1{{$}} -// CHECK-NEXT: {{^}}included_line3{{$}} -// CHECK-NEXT: {{^}}# 10 "{{.*}}rewrite-includes.c" 2{{$}} +// CHECK-NEXT: {{^}}unsigned int included_line3 = -10;{{$}} +// CHECK-NEXT: {{^}}# 11 "{{.*}}rewrite-includes.c" 2{{$}} // CHECK-NEXT: {{^}}#else{{$}} -// CHECK-NEXT: {{^}}# 11 "{{.*}}rewrite-includes.c"{{$}} +// CHECK-NEXT: {{^}}# 12 "{{.*}}rewrite-includes.c"{{$}} // CHECK-NEXT: {{^}}#if 0 /* expa
[PATCH] D63979: actually also compile output in tests for -frewrite-includes
llunak created this revision. llunak added a project: clang. Herald added a subscriber: cfe-commits. This depends on https://reviews.llvm.org/D63508 (where I posted one version of a patch that created broken output without the tests catching it). Repository: rC Clang https://reviews.llvm.org/D63979 Files: clang/test/Frontend/Inputs/NextIncludes/rewrite-includes9.h clang/test/Frontend/Inputs/rewrite-includes1.h clang/test/Frontend/Inputs/rewrite-includes2.h clang/test/Frontend/Inputs/rewrite-includes3.h clang/test/Frontend/Inputs/rewrite-includes4.h clang/test/Frontend/Inputs/rewrite-includes5.h clang/test/Frontend/Inputs/rewrite-includes6.h clang/test/Frontend/Inputs/rewrite-includes7.h clang/test/Frontend/rewrite-includes-cli-include.c clang/test/Frontend/rewrite-includes-conditions.c clang/test/Frontend/rewrite-includes.c Index: clang/test/Frontend/rewrite-includes.c === --- clang/test/Frontend/rewrite-includes.c +++ clang/test/Frontend/rewrite-includes.c @@ -1,8 +1,9 @@ -// RUN: not %clang_cc1 -verify -E -frewrite-includes -DFIRST -I %S/Inputs -I %S/Inputs/NextIncludes %s -o - | FileCheck -strict-whitespace %s -// RUN: not %clang_cc1 -verify -E -frewrite-includes -P -DFIRST -I %S/Inputs -I %S/Inputs/NextIncludes %s -o - | FileCheck -check-prefix=CHECKNL -strict-whitespace %s +// RUN: %clang_cc1 -E -frewrite-includes -DFIRST -I %S/Inputs -I %S/Inputs/NextIncludes %s -o - | FileCheck -strict-whitespace %s +// RUN: %clang_cc1 -E -frewrite-includes -P -DFIRST -I %S/Inputs -I %S/Inputs/NextIncludes %s -o - | FileCheck -check-prefix=CHECKNL -strict-whitespace %s +// RUN: %clang_cc1 -E -frewrite-includes -DFIRST -I %S/Inputs -I %S/Inputs/NextIncludes %s -o - | %clang_cc1 -Wall -Wextra -Wconversion -DFIRST -x c -fsyntax-only 2>&1 | FileCheck -check-prefix=COMPILE --implicit-check-not warning: %s // STARTCOMPARE #define A(a,b) a ## b -A(1,2) +A(in,t) a; #include "rewrite-includes1.h" #ifdef FIRST #define HEADER "rewrite-includes3.h" @@ -21,94 +22,95 @@ #include "rewrite-includes7.h" #include "rewrite-includes8.h" #include "rewrite-includes9.h" +static int unused; // ENDCOMPARE // CHECK: {{^}}# 1 "{{.*}}rewrite-includes.c"{{$}} // CHECK: {{^}}// STARTCOMPARE{{$}} // CHECK-NEXT: {{^}}#define A(a,b) a ## b{{$}} -// CHECK-NEXT: {{^}}A(1,2){{$}} +// CHECK-NEXT: {{^}}A(in,t) a;{{$}} // CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}} // CHECK-NEXT: {{^}}#include "rewrite-includes1.h"{{$}} // CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}} -// CHECK-NEXT: {{^}}# 6 "{{.*}}rewrite-includes.c"{{$}} +// CHECK-NEXT: {{^}}# 7 "{{.*}}rewrite-includes.c"{{$}} // CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|)}}rewrite-includes1.h" 1{{$}} // CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}} // CHECK-NEXT: {{^}}#pragma clang system_header{{$}} // CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}} // CHECK-NEXT: {{^}}# 2 "{{.*[/\\]Inputs(/|)}}rewrite-includes1.h" 3{{$}} -// CHECK-NEXT: {{^}}included_line1{{$}} +// CHECK-NEXT: {{^}}int included_line1;{{$}} // CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}} // CHECK-NEXT: {{^}}#include "rewrite-includes2.h"{{$}} // CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}} // CHECK-NEXT: {{^}}# 3 "{{.*[/\\]Inputs(/|)}}rewrite-includes1.h" 3{{$}} // CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|)}}rewrite-includes2.h" 1 3{{$}} -// CHECK-NEXT: {{^}}included_line2{{$}} +// CHECK-NEXT: {{^}}int included_line2;{{$}} // CHECK-NEXT: {{^}}# 4 "{{.*[/\\]Inputs(/|)}}rewrite-includes1.h" 2 3{{$}} -// CHECK-NEXT: {{^}}# 7 "{{.*}}rewrite-includes.c" 2{{$}} +// CHECK-NEXT: {{^}}# 8 "{{.*}}rewrite-includes.c" 2{{$}} // CHECK-NEXT: {{^}}#ifdef FIRST{{$}} // CHECK-NEXT: {{^}}#define HEADER "rewrite-includes3.h"{{$}} // CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}} // CHECK-NEXT: {{^}}#include HEADER{{$}} // CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}} -// CHECK-NEXT: {{^}}# 9 "{{.*}}rewrite-includes.c"{{$}} +// CHECK-NEXT: {{^}}# 10 "{{.*}}rewrite-includes.c"{{$}} // CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|)}}rewrite-includes3.h" 1{{$}} -// CHECK-NEXT: {{^}}included_line3{{$}} -// CHECK-NEXT: {{^}}# 10 "{{.*}}rewrite-includes.c" 2{{$}} +// CHECK-NEXT: {{^}}unsigned int included_line3 = -10;{{$}} +// CHECK-NEXT: {{^}}# 11 "{{.*}}rewrite-includes.c" 2{{$}} // CHECK-NEXT: {{^}}#else{{$}} -// CHECK-NEXT: {{^}}# 11 "{{.*}}rewrite-includes.c"{{$}} +// CHECK-NEXT: {{^}}# 12 "{{.*}}rewrite-includes.c"{{$}} // CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}} // CHECK-NEXT: {{^}}#include "rewrite-includes4.h"{{$}} // CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}} -// CHECK-NEXT: {{^}}# 11 "{{.*}}rewrite-includes.c"{{$}} // CHECK-NEXT: {{^}}# 12 "{{.*}}rewrite-includes.c"{{$}} -// CHECK-NEXT: {{^}}#endif{{$}