blob: bed87efa1f7af456bc1ad9fa2b2d7451a985970d [file] [log] [blame]
Rafael Espindola925213b2013-07-04 16:16:58 +00001// RUN: not %clang_cc1 -verify -E -frewrite-includes -DFIRST -I %S/Inputs %s -o - | FileCheck -strict-whitespace %s
2// RUN: not %clang_cc1 -verify -E -frewrite-includes -P -DFIRST -I %S/Inputs %s -o - | FileCheck -check-prefix=CHECKNL -strict-whitespace %s
David Blaikied5321242012-06-06 18:52:13 +00003// STARTCOMPARE
4#define A(a,b) a ## b
5A(1,2)
6#include "rewrite-includes1.h"
7#ifdef FIRST
8#define HEADER "rewrite-includes3.h"
9#include HEADER
10#else
11#include "rewrite-includes4.h"
12#endif
Lubos Lunak4c22f6a2013-07-20 14:23:27 +000013 // indented
David Blaikied5321242012-06-06 18:52:13 +000014#/**/include /**/ "rewrite-includes5.h" /**/ \
15
16#include "rewrite-includes6.h" // comment
17
18#include "rewrite-includes6.h" /* comment
19 continues */
20#include "rewrite-includes7.h"
21#include "rewrite-includes7.h"
Benjamin Kramerb10e6152013-04-16 19:08:41 +000022#include "rewrite-includes8.h"
David Blaikied5321242012-06-06 18:52:13 +000023// ENDCOMPARE
Lubos Lunak10961c02014-05-01 13:50:44 +000024// CHECK: {{^}}# 1 "{{.*}}rewrite-includes.c"{{$}}
David Blaikied5321242012-06-06 18:52:13 +000025// CHECK: {{^}}// STARTCOMPARE{{$}}
26// CHECK-NEXT: {{^}}#define A(a,b) a ## b{{$}}
27// CHECK-NEXT: {{^}}A(1,2){{$}}
David Blaikie619117a2012-06-14 17:36:01 +000028// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000029// CHECK-NEXT: {{^}}#include "rewrite-includes1.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000030// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak4526b462014-05-01 21:11:57 +000031// CHECK-NEXT: {{^}}# 6 "{{.*}}rewrite-includes.c"{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000032// CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes1.h" 1{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000033// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000034// CHECK-NEXT: {{^}}#pragma clang system_header{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000035// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000036// CHECK-NEXT: {{^}}# 2 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes1.h" 3{{$}}
David Blaikied5321242012-06-06 18:52:13 +000037// CHECK-NEXT: {{^}}included_line1{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000038// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000039// CHECK-NEXT: {{^}}#include "rewrite-includes2.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000040// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak4526b462014-05-01 21:11:57 +000041// CHECK-NEXT: {{^}}# 3 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes1.h" 3{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000042// CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes2.h" 1 3{{$}}
David Blaikied5321242012-06-06 18:52:13 +000043// CHECK-NEXT: {{^}}included_line2{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000044// CHECK-NEXT: {{^}}# 4 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes1.h" 2 3{{$}}
David Blaikied5321242012-06-06 18:52:13 +000045// CHECK-NEXT: {{^}}# 7 "{{.*}}rewrite-includes.c" 2{{$}}
46// CHECK-NEXT: {{^}}#ifdef FIRST{{$}}
47// CHECK-NEXT: {{^}}#define HEADER "rewrite-includes3.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000048// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000049// CHECK-NEXT: {{^}}#include HEADER{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000050// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak4526b462014-05-01 21:11:57 +000051// CHECK-NEXT: {{^}}# 9 "{{.*}}rewrite-includes.c"{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000052// CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes3.h" 1{{$}}
David Blaikied5321242012-06-06 18:52:13 +000053// CHECK-NEXT: {{^}}included_line3{{$}}
54// CHECK-NEXT: {{^}}# 10 "{{.*}}rewrite-includes.c" 2{{$}}
55// CHECK-NEXT: {{^}}#else{{$}}
Lubos Lunak4c22f6a2013-07-20 14:23:27 +000056// CHECK-NEXT: {{^}}# 11 "{{.*}}rewrite-includes.c"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000057// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000058// CHECK-NEXT: {{^}}#include "rewrite-includes4.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000059// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak4526b462014-05-01 21:11:57 +000060// CHECK-NEXT: {{^}}# 11 "{{.*}}rewrite-includes.c"{{$}}
David Blaikied5321242012-06-06 18:52:13 +000061// CHECK-NEXT: {{^}}# 12 "{{.*}}rewrite-includes.c"{{$}}
62// CHECK-NEXT: {{^}}#endif{{$}}
Lubos Lunak4c22f6a2013-07-20 14:23:27 +000063// CHECK-NEXT: {{^}}# 13 "{{.*}}rewrite-includes.c"{{$}}
64// CHECK-NEXT: {{^}} // indented{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000065// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000066// CHECK-NEXT: {{^}}#/**/include /**/ "rewrite-includes5.h" /**/ {{\\}}{{$}}
67// CHECK-NEXT: {{^}} {{$}}
David Blaikie619117a2012-06-14 17:36:01 +000068// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak4526b462014-05-01 21:11:57 +000069// CHECK-NEXT: {{^}}# 15 "{{.*}}rewrite-includes.c"{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000070// CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes5.h" 1{{$}}
David Blaikied5321242012-06-06 18:52:13 +000071// CHECK-NEXT: {{^}}included_line5{{$}}
Lubos Lunak4c22f6a2013-07-20 14:23:27 +000072// CHECK-NEXT: {{^}}# 16 "{{.*}}rewrite-includes.c" 2{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000073// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000074// CHECK-NEXT: {{^}}#include "rewrite-includes6.h" // comment{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000075// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak4526b462014-05-01 21:11:57 +000076// CHECK-NEXT: {{^}}# 16 "{{.*}}rewrite-includes.c"{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000077// CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes6.h" 1{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000078// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000079// CHECK-NEXT: {{^}}#pragma once{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000080// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000081// CHECK-NEXT: {{^}}# 2 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes6.h"{{$}}
David Blaikied5321242012-06-06 18:52:13 +000082// CHECK-NEXT: {{^}}included_line6{{$}}
Lubos Lunak4c22f6a2013-07-20 14:23:27 +000083// CHECK-NEXT: {{^}}# 17 "{{.*}}rewrite-includes.c" 2{{$}}
David Blaikied5321242012-06-06 18:52:13 +000084// CHECK-NEXT: {{^}} {{$}}
David Blaikie619117a2012-06-14 17:36:01 +000085// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000086// CHECK-NEXT: {{^}}#include "rewrite-includes6.h" /* comment{{$}}
87// CHECK-NEXT: {{^}} continues */{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000088// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak4526b462014-05-01 21:11:57 +000089// CHECK-NEXT: {{^}}# 19 "{{.*}}rewrite-includes.c"{{$}}
Lubos Lunak4c22f6a2013-07-20 14:23:27 +000090// CHECK-NEXT: {{^}}# 20 "{{.*}}rewrite-includes.c"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000091// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +000092// CHECK-NEXT: {{^}}#include "rewrite-includes7.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +000093// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak4526b462014-05-01 21:11:57 +000094// CHECK-NEXT: {{^}}# 20 "{{.*}}rewrite-includes.c"{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +000095// CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes7.h" 1{{$}}
David Blaikied5321242012-06-06 18:52:13 +000096// CHECK-NEXT: {{^}}#ifndef REWRITE_INCLUDES_7{{$}}
97// CHECK-NEXT: {{^}}#define REWRITE_INCLUDES_7{{$}}
98// CHECK-NEXT: {{^}}included_line7{{$}}
99// CHECK-NEXT: {{^}}#endif{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +0000100// CHECK-NEXT: {{^}}# 5 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes7.h"{{$}}
Lubos Lunak4c22f6a2013-07-20 14:23:27 +0000101// CHECK-NEXT: {{^}}# 21 "{{.*}}rewrite-includes.c" 2{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000102// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000103// CHECK-NEXT: {{^}}#include "rewrite-includes7.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000104// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak4526b462014-05-01 21:11:57 +0000105// CHECK-NEXT: {{^}}# 21 "{{.*}}rewrite-includes.c"{{$}}
Lubos Lunak4c22f6a2013-07-20 14:23:27 +0000106// CHECK-NEXT: {{^}}# 22 "{{.*}}rewrite-includes.c"{{$}}
Benjamin Kramerb10e6152013-04-16 19:08:41 +0000107// CHECK-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
108// CHECK-NEXT: {{^}}#include "rewrite-includes8.h"{{$}}
109// CHECK-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Lubos Lunak4526b462014-05-01 21:11:57 +0000110// CHECK-NEXT: {{^}}# 22 "{{.*}}rewrite-includes.c"{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +0000111// CHECK-NEXT: {{^}}# 1 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes8.h" 1{{$}}
Benjamin Kramerb10e6152013-04-16 19:08:41 +0000112// CHECK-NEXT: {{^}}#if (1)/*__has_include_next(<rewrite-includes8.h>)*/{{$}}
113// CHECK-NEXT: {{^}}#elif (0)/*__has_include(<rewrite-includes8.hfail>)*/{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +0000114// CHECK-NEXT: {{^}}# 3 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes8.h"{{$}}
Benjamin Kramerb10e6152013-04-16 19:08:41 +0000115// CHECK-NEXT: {{^}}#endif{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +0000116// CHECK-NEXT: {{^}}# 4 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes8.h"{{$}}
Benjamin Kramerb10e6152013-04-16 19:08:41 +0000117// CHECK-NEXT: {{^}}#if !(1)/*__has_include("rewrite-includes8.h")*/{{$}}
118// CHECK-NEXT: {{^}}#endif{{$}}
NAKAMURA Takumi5cbfb3b2013-08-29 16:11:17 +0000119// CHECK-NEXT: {{^}}# 6 "{{.*[/\\]Inputs(/|\\\\)}}rewrite-includes8.h"{{$}}
Lubos Lunak4c22f6a2013-07-20 14:23:27 +0000120// CHECK-NEXT: {{^}}# 23 "{{.*}}rewrite-includes.c" 2{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000121// CHECK-NEXT: {{^}}// ENDCOMPARE{{$}}
122
123// CHECKNL: {{^}}// STARTCOMPARE{{$}}
124// CHECKNL-NEXT: {{^}}#define A(a,b) a ## b{{$}}
125// CHECKNL-NEXT: {{^}}A(1,2){{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000126// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000127// CHECKNL-NEXT: {{^}}#include "rewrite-includes1.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000128// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
129// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000130// CHECKNL-NEXT: {{^}}#pragma clang system_header{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000131// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000132// CHECKNL-NEXT: {{^}}included_line1{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000133// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000134// CHECKNL-NEXT: {{^}}#include "rewrite-includes2.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000135// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000136// CHECKNL-NEXT: {{^}}included_line2{{$}}
137// CHECKNL-NEXT: {{^}}#ifdef FIRST{{$}}
138// CHECKNL-NEXT: {{^}}#define HEADER "rewrite-includes3.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000139// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000140// CHECKNL-NEXT: {{^}}#include HEADER{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000141// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000142// CHECKNL-NEXT: {{^}}included_line3{{$}}
143// CHECKNL-NEXT: {{^}}#else{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000144// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000145// CHECKNL-NEXT: {{^}}#include "rewrite-includes4.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000146// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000147// CHECKNL-NEXT: {{^}}#endif{{$}}
Lubos Lunak4c22f6a2013-07-20 14:23:27 +0000148// CHECKNL-NEXT: {{^}} // indented{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000149// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000150// CHECKNL-NEXT: {{^}}#/**/include /**/ "rewrite-includes5.h" /**/ {{\\}}{{$}}
151// CHECKNL-NEXT: {{^}} {{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000152// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000153// CHECKNL-NEXT: {{^}}included_line5{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000154// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000155// CHECKNL-NEXT: {{^}}#include "rewrite-includes6.h" // comment{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000156// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
157// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000158// CHECKNL-NEXT: {{^}}#pragma once{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000159// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000160// CHECKNL-NEXT: {{^}}included_line6{{$}}
161// CHECKNL-NEXT: {{^}} {{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000162// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000163// CHECKNL-NEXT: {{^}}#include "rewrite-includes6.h" /* comment{{$}}
164// CHECKNL-NEXT: {{^}} continues */{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000165// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
166// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000167// CHECKNL-NEXT: {{^}}#include "rewrite-includes7.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000168// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000169// CHECKNL-NEXT: {{^}}#ifndef REWRITE_INCLUDES_7{{$}}
170// CHECKNL-NEXT: {{^}}#define REWRITE_INCLUDES_7{{$}}
171// CHECKNL-NEXT: {{^}}included_line7{{$}}
172// CHECKNL-NEXT: {{^}}#endif{{$}}
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-includes7.h"{{$}}
David Blaikie619117a2012-06-14 17:36:01 +0000175// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
Benjamin Kramerb10e6152013-04-16 19:08:41 +0000176// CHECKNL-NEXT: {{^}}#if 0 /* expanded by -frewrite-includes */{{$}}
177// CHECKNL-NEXT: {{^}}#include "rewrite-includes8.h"{{$}}
178// CHECKNL-NEXT: {{^}}#endif /* expanded by -frewrite-includes */{{$}}
179// CHECKNL-NEXT: {{^}}#if (1)/*__has_include_next(<rewrite-includes8.h>)*/{{$}}
180// CHECKNL-NEXT: {{^}}#elif (0)/*__has_include(<rewrite-includes8.hfail>)*/{{$}}
181// CHECKNL-NEXT: {{^}}#endif{{$}}
182// CHECKNL-NEXT: {{^}}#if !(1)/*__has_include("rewrite-includes8.h")*/{{$}}
183// CHECKNL-NEXT: {{^}}#endif{{$}}
David Blaikied5321242012-06-06 18:52:13 +0000184// CHECKNL-NEXT: {{^}}// ENDCOMPARE{{$}}