blob: 15254931250c1afb6bde855cafcf90341d3ba81d [file] [log] [blame]
Lubos Lunak1e9c1d22019-09-18 19:12:14 +00001// RUN: %clang_cc1 -E -frewrite-includes -DFIRST -I %S/Inputs -I %S/Inputs/NextIncludes %s -o - | FileCheck -strict-whitespace %s
2// RUN: %clang_cc1 -E -frewrite-includes -P -DFIRST -I %S/Inputs -I %S/Inputs/NextIncludes %s -o - | FileCheck -check-prefix=CHECKNL -strict-whitespace %s
3// 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
David Blaikied5321242012-06-06 18:52:13 +00004// STARTCOMPARE
5#define A(a,b) a ## b
Lubos Lunak1e9c1d22019-09-18 19:12:14 +00006A(in,t) a;
David Blaikied5321242012-06-06 18:52:13 +00007#include "rewrite-includes1.h"
8#ifdef FIRST
9#define HEADER "rewrite-includes3.h"
10#include HEADER
11#else
12#include "rewrite-includes4.h"
13#endif
Lubos Lunak4c22f6a2013-07-20 14:23:27 +000014 // indented
David Blaikied5321242012-06-06 18:52:13 +000015#/**/include /**/ "rewrite-includes5.h" /**/ \
16
17#include "rewrite-includes6.h" // comment
18
19#include "rewrite-includes6.h" /* comment
20 continues */
21#include "rewrite-includes7.h"
22#include "rewrite-includes7.h"
Benjamin Kramerb10e6152013-04-16 19:08:41 +000023#include "rewrite-includes8.h"
Volodymyr Sapsai1f70bdd2018-04-13 17:43:15 +000024#include "rewrite-includes9.h"
Lubos Lunak1e9c1d22019-09-18 19:12:14 +000025static int unused;
David Blaikied5321242012-06-06 18:52:13 +000026// ENDCOMPARE
Lubos Lunak10961c02014-05-01 13:50:44 +000027// CHECK: {{^}}# 1 "{{.*}}rewrite-includes.c"{{$}}
David Blaikied5321242012-06-06 18:52:13 +000028// CHECK: {{^}}// STARTCOMPARE{{$}}
29// CHECK-NEXT: {{^}}#define A(a,b) a ## b{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +000030// CHECK-NEXT: {{^}}A(in,t) a;{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000031// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000032// CHECK-NEXT: {{^}}#include "rewrite-includes1.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000033// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +000034// CHECK-NEXT: {{^}}# 7 "{{.*}}rewrite-includes.c"{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000035// CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes1.h" 1{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000036// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000037// CHECK-NEXT: {{^}}#pragma clang system_header{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000038// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000039// CHECK-NEXT: {{^}}# 2 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes1.h" 3{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +000040// CHECK-NEXT: {{^}}int included_line1;{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000041// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000042// CHECK-NEXT: {{^}}#include "rewrite-includes2.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000043// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak4526b462014-05-01 21:11:57 +000044// CHECK-NEXT: {{^}}# 3 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes1.h" 3{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000045// CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes2.h" 1 3{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +000046// CHECK-NEXT: {{^}}int included_line2;{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000047// CHECK-NEXT: {{^}}# 4 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes1.h" 2 3{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +000048// CHECK-NEXT: {{^}}# 8 "{{.*}}rewrite-includes.c" 2{{$}}
David Blaikied5321242012-06-06 18:52:13 +000049// CHECK-NEXT: {{^}}#ifdef FIRST{{$}}
50// CHECK-NEXT: {{^}}#define HEADER "rewrite-includes3.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000051// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000052// CHECK-NEXT: {{^}}#include HEADER{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000053// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +000054// CHECK-NEXT: {{^}}# 10 "{{.*}}rewrite-includes.c"{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000055// CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes3.h" 1{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +000056// CHECK-NEXT: {{^}}unsigned int included_line3 = -10;{{$}}
57// CHECK-NEXT: {{^}}# 11 "{{.*}}rewrite-includes.c" 2{{$}}
David Blaikied5321242012-06-06 18:52:13 +000058// CHECK-NEXT: {{^}}#else{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +000059// CHECK-NEXT: {{^}}# 12 "{{.*}}rewrite-includes.c"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000060// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000061// CHECK-NEXT: {{^}}#include "rewrite-includes4.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000062// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000063// CHECK-NEXT: {{^}}# 12 "{{.*}}rewrite-includes.c"{{$}}
Lubos Lunak4c22f6a2013-07-20 14:23:27 +000064// CHECK-NEXT: {{^}}# 13 "{{.*}}rewrite-includes.c"{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +000065// CHECK-NEXT: {{^}}#endif{{$}}
66// CHECK-NEXT: {{^}}# 14 "{{.*}}rewrite-includes.c"{{$}}
Lubos Lunak4c22f6a2013-07-20 14:23:27 +000067// CHECK-NEXT: {{^}} // indented{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000068// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000069// CHECK-NEXT: {{^}}#/**/include /**/ "rewrite-includes5.h" /**/ {{\\}}{{$}}
70// CHECK-NEXT: {{^}} {{$}}
David Blaikie619117a2012-06-14 17:36:01 +000071// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +000072// CHECK-NEXT: {{^}}# 16 "{{.*}}rewrite-includes.c"{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000073// CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes5.h" 1{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +000074// CHECK-NEXT: {{^}}int included_line5;{{$}}
75// CHECK-NEXT: {{^}}# 17 "{{.*}}rewrite-includes.c" 2{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000076// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000077// CHECK-NEXT: {{^}}#include "rewrite-includes6.h" // comment{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000078// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +000079// CHECK-NEXT: {{^}}# 17 "{{.*}}rewrite-includes.c"{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000080// CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes6.h" 1{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000081// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000082// CHECK-NEXT: {{^}}#pragma once{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000083// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000084// CHECK-NEXT: {{^}}# 2 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes6.h"{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +000085// CHECK-NEXT: {{^}}int included_line6;{{$}}
86// CHECK-NEXT: {{^}}# 18 "{{.*}}rewrite-includes.c" 2{{$}}
David Blaikied5321242012-06-06 18:52:13 +000087// CHECK-NEXT: {{^}} {{$}}
David Blaikie619117a2012-06-14 17:36:01 +000088// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000089// CHECK-NEXT: {{^}}#include "rewrite-includes6.h" /* comment{{$}}
90// CHECK-NEXT: {{^}} continues */{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000091// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak4c22f6a2013-07-20 14:23:27 +000092// CHECK-NEXT: {{^}}# 20 "{{.*}}rewrite-includes.c"{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +000093// CHECK-NEXT: {{^}}# 21 "{{.*}}rewrite-includes.c"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000094// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000095// CHECK-NEXT: {{^}}#include "rewrite-includes7.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000096// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak4526b462014-05-01 21:11:57 +000097// CHECK-NEXT: {{^}}# 21 "{{.*}}rewrite-includes.c"{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +000098// CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes7.h" 1{{$}}
99// CHECK-NEXT: {{^}}#ifndef REWRITE_INCLUDES_7{{$}}
100// CHECK-NEXT: {{^}}#define REWRITE_INCLUDES_7{{$}}
101// CHECK-NEXT: {{^}}int included_line7;{{$}}
102// CHECK-NEXT: {{^}}#endif{{$}}
103// CHECK-NEXT: {{^}}# 5 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes7.h"{{$}}
104// CHECK-NEXT: {{^}}# 22 "{{.*}}rewrite-includes.c" 2{{$}}
105// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
106// CHECK-NEXT: {{^}}#include "rewrite-includes7.h"{{$}}
107// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak4c22f6a2013-07-20 14:23:27 +0000108// CHECK-NEXT: {{^}}# 22 "{{.*}}rewrite-includes.c"{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000109// CHECK-NEXT: {{^}}# 23 "{{.*}}rewrite-includes.c"{{$}}
Benjamin Kramerb10e6152013-04-16 19:08:41 +0000110// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
111// CHECK-NEXT: {{^}}#include "rewrite-includes8.h"{{$}}
112// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000113// CHECK-NEXT: {{^}}# 23 "{{.*}}rewrite-includes.c"{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +0000114// CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes8.h" 1{{$}}
Lubos Lunak533434f2019-09-18 19:09:41 +0000115// CHECK-NEXT: {{^}}#if 0 /* disabled by -frewrite-includes */{{$}}
116// CHECK-NEXT: {{^}}#if __has_include_next(<rewrite-includes8.h>){{$}}
117// CHECK-NEXT: {{^}}#endif{{$}}
118// CHECK-NEXT: {{^}}#endif /* disabled by -frewrite-includes */{{$}}
119// CHECK-NEXT: {{^}}#if 0 /* evaluated by -frewrite-includes */{{$}}
120// CHECK-NEXT: {{^}}# 2 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes8.h"{{$}}
121// CHECK-NEXT: {{^}}#if 0 /* disabled by -frewrite-includes */{{$}}
122// CHECK-NEXT: {{^}}#if 0{{$}}
123// CHECK-NEXT: {{^}}#elif __has_include(<rewrite-includes8.hfail>){{$}}
124// CHECK-NEXT: {{^}}#endif{{$}}
125// CHECK-NEXT: {{^}}#endif /* disabled by -frewrite-includes */{{$}}
126// CHECK-NEXT: {{^}}#elif 0 /* evaluated by -frewrite-includes */{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +0000127// CHECK-NEXT: {{^}}# 3 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes8.h"{{$}}
Benjamin Kramerb10e6152013-04-16 19:08:41 +0000128// CHECK-NEXT: {{^}}#endif{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +0000129// CHECK-NEXT: {{^}}# 4 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes8.h"{{$}}
Lubos Lunak533434f2019-09-18 19:09:41 +0000130// CHECK-NEXT: {{^}}#if 0 /* disabled by -frewrite-includes */{{$}}
131// CHECK-NEXT: {{^}}#if !__has_include("rewrite-includes8.h"){{$}}
132// CHECK-NEXT: {{^}}#endif{{$}}
133// CHECK-NEXT: {{^}}#endif /* disabled by -frewrite-includes */{{$}}
134// CHECK-NEXT: {{^}}#if 0 /* evaluated by -frewrite-includes */{{$}}
135// CHECK-NEXT: {{^}}# 5 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes8.h"{{$}}
Benjamin Kramerb10e6152013-04-16 19:08:41 +0000136// CHECK-NEXT: {{^}}#endif{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +0000137// CHECK-NEXT: {{^}}# 6 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes8.h"{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000138// CHECK-NEXT: {{^}}# 24 "{{.*}}rewrite-includes.c" 2{{$}}
Volodymyr Sapsai1f70bdd2018-04-13 17:43:15 +0000139// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
140// CHECK-NEXT: {{^}}#include "rewrite-includes9.h"{{$}}
141// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000142// CHECK-NEXT: {{^}}# 24 "{{.*}}rewrite-includes.c"{{$}}
Volodymyr Sapsai1f70bdd2018-04-13 17:43:15 +0000143// CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes9.h" 1{{$}}
Lubos Lunak533434f2019-09-18 19:09:41 +0000144// CHECK-NEXT: {{^}}#if 0 /* disabled by -frewrite-includes */{{$}}
145// CHECK-NEXT: {{^}}#if __has_include_next(<rewrite-includes9.h>){{$}}
146// CHECK-NEXT: {{^}}#endif{{$}}
147// CHECK-NEXT: {{^}}#endif /* disabled by -frewrite-includes */{{$}}
148// CHECK-NEXT: {{^}}#if 1 /* evaluated by -frewrite-includes */{{$}}
149// CHECK-NEXT: {{^}}# 2 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes9.h"{{$}}
Volodymyr Sapsai1f70bdd2018-04-13 17:43:15 +0000150// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
151// CHECK-NEXT: {{^}}#include_next <rewrite-includes9.h>{{$}}
152// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
153// CHECK-NEXT: {{^}}# 2 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes9.h"{{$}}
154// CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|\\\\)NextIncludes(/|\\\\)}}rewrite-includes9.h" 1{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000155// CHECK-NEXT: {{^}}int included_line9;{{$}}
Volodymyr Sapsai1f70bdd2018-04-13 17:43:15 +0000156// CHECK-NEXT: {{^}}# 3 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes9.h" 2{{$}}
157// CHECK-NEXT: {{^}}#endif{{$}}
158// CHECK-NEXT: {{^}}# 4 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes9.h"{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000159// CHECK-NEXT: {{^}}# 25 "{{.*}}rewrite-includes.c" 2{{$}}
160// CHECK-NEXT: {{^}}static int unused;{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000161// CHECK-NEXT: {{^}}// ENDCOMPARE{{$}}
162
163// CHECKNL: {{^}}// STARTCOMPARE{{$}}
164// CHECKNL-NEXT: {{^}}#define A(a,b) a ## b{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000165// CHECKNL-NEXT: {{^}}A(in,t) a;{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000166// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000167// CHECKNL-NEXT: {{^}}#include "rewrite-includes1.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000168// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
169// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000170// CHECKNL-NEXT: {{^}}#pragma clang system_header{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000171// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000172// CHECKNL-NEXT: {{^}}int included_line1;{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000173// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000174// CHECKNL-NEXT: {{^}}#include "rewrite-includes2.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000175// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000176// CHECKNL-NEXT: {{^}}int included_line2;{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000177// CHECKNL-NEXT: {{^}}#ifdef FIRST{{$}}
178// CHECKNL-NEXT: {{^}}#define HEADER "rewrite-includes3.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000179// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000180// CHECKNL-NEXT: {{^}}#include HEADER{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000181// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000182// CHECKNL-NEXT: {{^}}unsigned int included_line3 = -10;{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000183// CHECKNL-NEXT: {{^}}#else{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000184// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000185// CHECKNL-NEXT: {{^}}#include "rewrite-includes4.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000186// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000187// CHECKNL-NEXT: {{^}}#endif{{$}}
Lubos Lunak4c22f6a2013-07-20 14:23:27 +0000188// CHECKNL-NEXT: {{^}} // indented{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000189// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000190// CHECKNL-NEXT: {{^}}#/**/include /**/ "rewrite-includes5.h" /**/ {{\\}}{{$}}
191// CHECKNL-NEXT: {{^}} {{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000192// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000193// CHECKNL-NEXT: {{^}}int included_line5;{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000194// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000195// CHECKNL-NEXT: {{^}}#include "rewrite-includes6.h" // comment{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000196// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
197// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000198// CHECKNL-NEXT: {{^}}#pragma once{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000199// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000200// CHECKNL-NEXT: {{^}}int included_line6;{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000201// CHECKNL-NEXT: {{^}} {{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000202// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000203// CHECKNL-NEXT: {{^}}#include "rewrite-includes6.h" /* comment{{$}}
204// CHECKNL-NEXT: {{^}} continues */{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000205// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
206// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000207// CHECKNL-NEXT: {{^}}#include "rewrite-includes7.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000208// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000209// CHECKNL-NEXT: {{^}}#ifndef REWRITE_INCLUDES_7{{$}}
210// CHECKNL-NEXT: {{^}}#define REWRITE_INCLUDES_7{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000211// CHECKNL-NEXT: {{^}}int included_line7;{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000212// CHECKNL-NEXT: {{^}}#endif{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000213// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000214// CHECKNL-NEXT: {{^}}#include "rewrite-includes7.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000215// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Benjamin Kramerb10e6152013-04-16 19:08:41 +0000216// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
217// CHECKNL-NEXT: {{^}}#include "rewrite-includes8.h"{{$}}
218// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak533434f2019-09-18 19:09:41 +0000219// CHECKNL-NEXT: {{^}}#if 0 /* disabled by -frewrite-includes */{{$}}
220// CHECKNL-NEXT: {{^}}#if __has_include_next(<rewrite-includes8.h>){{$}}
Benjamin Kramerb10e6152013-04-16 19:08:41 +0000221// CHECKNL-NEXT: {{^}}#endif{{$}}
Lubos Lunak533434f2019-09-18 19:09:41 +0000222// CHECKNL-NEXT: {{^}}#endif /* disabled by -frewrite-includes */{{$}}
223// CHECKNL-NEXT: {{^}}#if 0 /* evaluated by -frewrite-includes */{{$}}
224// CHECKNL-NEXT: {{^}}#if 0 /* disabled by -frewrite-includes */{{$}}
225// CHECKNL-NEXT: {{^}}#if 0{{$}}
226// CHECKNL-NEXT: {{^}}#elif __has_include(<rewrite-includes8.hfail>){{$}}
227// CHECKNL-NEXT: {{^}}#endif{{$}}
228// CHECKNL-NEXT: {{^}}#endif /* disabled by -frewrite-includes */{{$}}
229// CHECKNL-NEXT: {{^}}#elif 0 /* evaluated by -frewrite-includes */{{$}}
230// CHECKNL-NEXT: {{^}}#endif{{$}}
231// CHECKNL-NEXT: {{^}}#if 0 /* disabled by -frewrite-includes */{{$}}
232// CHECKNL-NEXT: {{^}}#if !__has_include("rewrite-includes8.h"){{$}}
233// CHECKNL-NEXT: {{^}}#endif{{$}}
234// CHECKNL-NEXT: {{^}}#endif /* disabled by -frewrite-includes */{{$}}
235// CHECKNL-NEXT: {{^}}#if 0 /* evaluated by -frewrite-includes */{{$}}
Benjamin Kramerb10e6152013-04-16 19:08:41 +0000236// CHECKNL-NEXT: {{^}}#endif{{$}}
Volodymyr Sapsai1f70bdd2018-04-13 17:43:15 +0000237// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
238// CHECKNL-NEXT: {{^}}#include "rewrite-includes9.h"{{$}}
239// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak533434f2019-09-18 19:09:41 +0000240// CHECKNL-NEXT: {{^}}#if 0 /* disabled by -frewrite-includes */{{$}}
241// CHECKNL-NEXT: {{^}}#if __has_include_next(<rewrite-includes9.h>){{$}}
242// CHECKNL-NEXT: {{^}}#endif{{$}}
243// CHECKNL-NEXT: {{^}}#endif /* disabled by -frewrite-includes */{{$}}
244// CHECKNL-NEXT: {{^}}#if 1 /* evaluated by -frewrite-includes */{{$}}
Volodymyr Sapsai1f70bdd2018-04-13 17:43:15 +0000245// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
246// CHECKNL-NEXT: {{^}}#include_next <rewrite-includes9.h>{{$}}
247// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000248// CHECKNL-NEXT: {{^}}int included_line9;{{$}}
Volodymyr Sapsai1f70bdd2018-04-13 17:43:15 +0000249// CHECKNL-NEXT: {{^}}#endif{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000250// CHECKNL-NEXT: {{^}}static int unused;{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000251// CHECKNL-NEXT: {{^}}// ENDCOMPARE{{$}}
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000252
Lubos Lunak3425a892019-09-18 21:41:45 +0000253// COMPILE: Inputs{{[/\\]}}rewrite-includes3.h:1:31: warning: implicit conversion changes signedness:
Lubos Lunak1e9c1d22019-09-18 19:12:14 +0000254// COMPILE: rewrite-includes.c:25:12: warning: unused variable 'unused'