-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathindex.html
493 lines (389 loc) · 38.7 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>include-what-you-use - A tool for use with clang to analyze #includes in C and C++ source files</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<style>
.iwyu-nav,
.iwyu-nav ul {
list-style: none;
}
.iwyu-nav {
padding-left: 0;
}
.iwyu-nav ul {
padding-left: 0;
}
/*TODO(vsapsai): maybe line-height will be a better way to get some space between rows*/
.iwyu-nav li {
margin-bottom: 10px;
}
.iwyu-nav li ul {
margin-top: 5px;
}
h4 {
padding-top: 1em;
}
</style>
</head>
<body class="container">
<div class="row">
<h1>include-what-you-use</h1>
<p class="lead">A tool for use with clang to analyze #includes in C and C++ source files</p>
</div>
<div class="row">
<ul class="iwyu-nav col-md-2">
<li><a href="http://groups.google.com/group/include-what-you-use">Discussion list</a></li>
<li><a href="https://github.com/include-what-you-use/include-what-you-use/issues">Issues</a></li>
<li><a href="https://github.com/include-what-you-use/include-what-you-use">Source</a></li>
<li>
<strong>Docs</strong>
<ul>
<li><a href="https://github.com/include-what-you-use/include-what-you-use/blob/master/CONTRIBUTING.md" title="Introduction to include-what-you-use for developers and bug-fixers">Instructions for developers</a></li>
<li><a href="https://github.com/include-what-you-use/include-what-you-use/blob/master/README.md" title="How to install and run include-what-you-use">Instructions for users</a></li>
<li><a href="https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/WhyIWYU.md" title="Why bother with include-what-you-use?">Why include what you use</a></li>
<li><a href="https://github.com/include-what-you-use/include-what-you-use/tree/master/docs">All docs</a></li>
</ul>
</li>
<li>
<strong>Downloads</strong>
<ul>
<li><a href="/downloads/">All downloads</a></li>
<li><a href="http://clang.llvm.org/get_started.html">Download clang</a></li>
</ul>
</li>
</ul>
<div class="col-md-10">
<p>"Include what you use" means this: for every symbol (type, function variable, or macro) that you use in foo.cc, either foo.cc or foo.h should #include a .h file that exports the declaration of that symbol. The include-what-you-use tool is a program that can be built with the clang libraries in order to analyze #includes of source files to find include-what-you-use violations, and suggest fixes for them.</p>
<p>The main goal of include-what-you-use is to remove superfluous #includes. It does this both by figuring out what #includes are not actually needed for this file (for both .cc and .h files), and replacing #includes with forward-declares when possible.</p>
<h4>10 Nov 2024</h4>
<p>iwyu 0.23 compatible with llvm+clang 19 is released. Major changes:</p>
<ul>
<li>[iwyu] New policy for finding compiler built-in headers (breaking change)</li>
<li>[iwyu] Treat types from overridden method signatures as provided by base</li>
<li>[iwyu] Analyze associated headers more closely with their source file</li>
<li>[iwyu] Many improvements for template analysis</li>
<li>[iwyu] Accept -xc++-header</li>
<li>[iwyu] Improve reporting of binary operators in macros</li>
<li>[iwyu] Improve heuristics for reporting overloaded functions</li>
<li>[iwyu] Consider variable definitions uses of extern declarations</li>
<li>[mappings] Add mapping generator for GNU libstdc++</li>
<li>[mappings] Regenerate mappings for GNU libstdc++ version 11</li>
<li>[mappings] Improve dynamic <code>@headername</code> mappings</li>
<li>[mappings] Update public standard library header list for C++23</li>
<li>[mappings] Improve mappings for standard C library</li>
<li>[iwyu_tool] Add new 'clang-warning' formatter</li>
<li>[iwyu_tool] Default to system core count if -j is omitted</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.23%22">the <code>iwyu 0.23</code> milestone</a>.</p>
<p>Contributions in this release by Alejandro Colomar, Alfredo Correa, Bolshakov, Chris Down, firewave, Jean-Philippe Gravel, Kim Gräsman, kon72, Michele Caini, Petar Vutov, Richard, scuzqy, ShalokShalom, Thomas Tanner. Sorry if we've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.23.src.tar.gz">include-what-you-use-0.23.src.tar.gz</a>. It is equivalent to the <code>0.23</code> tag and <code>clang_19</code> branch.</p>
<h4>11 Mar 2024</h4>
<p>iwyu 0.22 compatible with llvm+clang 18 is released. Major changes:</p>
<ul>
<li>[iwyu] Improve type analysis for typedefs, aliases and templates</li>
<li>[iwyu] Improve analysis of macros expanding macros</li>
<li>[iwyu] Improve IWYU driver for better validation and job handling</li>
<li>[iwyu] Reject IWYU invocations with precompiled headers (see FAQ)</li>
<li>[iwyu_tool] Better preserve failure exit codes</li>
<li>[mappings] Add mappings for libstdc++ <code><debug/...></code> headers</li>
<li>[mappings] Make mappings for POSIX and standard C headers stricter (more portable)</li>
<li>[doc] Add separate FAQ page for longer-form practical user documentation</li>
<li>[ci] IWYU now runs on itself in CI (finally!)</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.22%22">the <code>iwyu 0.22</code> milestone</a>.</p>
<p>Contributions in this release by Alejandro Colomar, Bolshakov, David Kilroy, Kim Gräsman, kon72. Sorry if we've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.22.src.tar.gz">include-what-you-use-0.22.src.tar.gz</a>. It is equivalent to the <code>0.22</code> tag and <code>clang_18</code> branch.</p>
<h4>08 Nov 2023</h4>
<p>iwyu 0.21 compatible with llvm+clang 17 is released. Major changes:</p>
<ul>
<li>[iwyu] Improve analysis of type aliases (<code>typedef</code> and <code>using</code>)</li>
<li>[iwyu] Improve analysis of namespace aliases (<code>namespace xyz = foobar</code>)</li>
<li>[iwyu] Improve support for elaborated forward declarations (<code>typedef struct Foo Bar;</code>)</li>
<li>[iwyu] Improve handling of "autocast" and function return types, particularly with complex template types.</li>
<li>[iwyu] Add new <code>IWYU pragma: always_keep</code>, which lets a header announce that it should always be kept wherever included</li>
<li>[iwyu] Automatically use builtin libc++ mappings if libc++ is the active standard library</li>
<li>[mappings] Improve mappings for libc++ and posix headers</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.21%22">the <code>iwyu 0.21</code> milestone</a>.</p>
<p>Contributions in this release by Alejandro Colomar, Andrey Ali Khan Bolshakov, David Kilroy, Florian Schmaus, Kim Gräsman. Sorry if we've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.21.src.tar.gz">include-what-you-use-0.21.src.tar.gz</a>. It is equivalent to the <code>0.21</code> tag and <code>clang_17</code> branch.</p>
<h4>02 Apr 2023</h4>
<p>iwyu 0.20 compatible with llvm+clang 16 is released. Major changes:</p>
<ul>
<li>[iwyu] Support <code>IWYU pragma: export</code> for forward-declarations</li>
<li>[iwyu] Silently break cycles in mappings instead of crashing</li>
<li>[iwyu] Require full type inside <code>typeid()</code></li>
<li>[iwyu] Improve template reporting and resugaring</li>
<li>[iwyu] Improve reporting of explicit template instantiations</li>
<li>[iwyu] Fix a few crashers</li>
<li>[iwyu] Improve logging (many small fixes)</li>
<li>Abandon python2 for scripts in favor of python3</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.20%22">the <code>iwyu 0.20</code> milestone</a>.</p>
<p>Contributions in this release by Andrey Ali Khan Bolshakov, David Kilroy, Kim Gräsman, Matthew Fennell, Petr Bred, Sameer Rahmani, Seth R. Johnson. Sorry if we've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.20.src.tar.gz">include-what-you-use-0.20.src.tar.gz</a>. It is equivalent to the <code>0.20</code> tag and <code>clang_16</code> branch.</p>
<h4>02 Nov 2022</h4>
<p>iwyu 0.19 compatible with llvm+clang 15 is released. Major changes:</p>
<ul>
<li>[iwyu] New <code>--comment_style</code> option to control verbosity of 'why' comments</li>
<li>[iwyu] New <code>--regex</code> option to select regex dialect</li>
<li>[iwyu] Add support for regex replacement in mappings</li>
<li>[iwyu] Add <code>begin_keep</code>/<code>end_keep</code> pragmas for protecting ranges of includes or forward-declares</li>
<li>[iwyu] Fix several crasher bugs for unusual inputs</li>
<li>[iwyu] More exhaustive handling of type aliases and enums</li>
<li>[iwyu] Recognize IWYU pragmas in CRLF source files</li>
<li>[iwyu] Respect configured toolchain on macOS (and overrides via <code>-nostdinc++</code> + <code>-isystem</code>)</li>
<li>[fix_includes] Recognize namespace alias declarations</li>
<li>[mappings] Improve mappings for POSIX and libc headers</li>
<li>[cmake] Build now requires a C++17 compiler (as does LLVM)</li>
<li>[cmake] Support LLVM external project build (see README)</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.19%22">the <code>iwyu 0.19</code> milestone</a>.</p>
<p>Contributions in this release by Aaron Puchert, Alejandro Colomar, Andrey Ali Khan Bolshakov, Boleyn Su, Daniel Hannon, Et7f3, fanquake, Jan Kokemüller, Jean-Philippe Gravel, jspam, Kim Gräsman. Sorry if we've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.19.src.tar.gz">include-what-you-use-0.19.src.tar.gz</a>. It is equivalent to the <code>0.19</code> tag and <code>clang_15</code> branch.</p>
<h4>31 Mar 2022</h4>
<p>iwyu 0.18 compatible with llvm+clang 14 is released. Major changes:</p>
<ul>
<li>[iwyu] Fix crash on C++20 consteval expressions</li>
<li>[iwyu] Use more conventional exit codes (breaking change!)</li>
<li>[iwyu_tool] Fix deprecation warning for python3</li>
<li>[iwyu] Fix crash on va_list on AArch64</li>
<li>[iwyu] Improved support for using-declarations based on new Clang design</li>
</ul>
<p>Note the breaking change for exit codes; IWYU now always returns zero by default. See the README for more information and manual overrides.</p>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.18%22">the <code>iwyu 0.18</code> milestone</a>.</p>
<p>Contributions in this release by Carlos Galvez and Kim Grasman. Sorry if we've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.18.src.tar.gz">include-what-you-use-0.18.src.tar.gz</a>. It is equivalent to the <code>0.18</code> tag and <code>clang_14</code> branch.</p>
<h4>05 Dec 2021</h4>
<p>iwyu 0.17 compatible with llvm+clang 13 is released. Major changes:</p>
<ul>
<li>[iwyu] Improve support for various C++ features (builtins, CTAD, specializations, type aliases)</li>
<li>[iwyu] Fix crash on invalid code</li>
<li>[iwyu] Remove hard dependency on x86 LLVM target</li>
<li>[mappings] Improve mappings for GNU libc</li>
<li>[iwyu_tool] More concise output for clang output format</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.17%22">the <code>iwyu 0.17</code> milestone</a>.</p>
<p>Contributions in this release by Alejandro Colomar, Bolshakov, David Fetter, Kim Grasman, Omar Sandoval, Salman Javed, Sven Panne. Sorry if we've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.17.src.tar.gz">include-what-you-use-0.17.src.tar.gz</a>. It is equivalent to the <code>0.17</code> tag and <code>clang_13</code> branch.</p>
<h4>26 May 2021</h4>
<p>iwyu 0.16 compatible with llvm+clang 12 is released. Major changes:</p>
<ul>
<li>[iwyu_tool] Accept <code>--load/-l</code> argument for load limiting</li>
<li>[iwyu_tool] Signal success/failure with exit code</li>
<li>[mappings] Harmonize mapping generators</li>
<li>[mappings] Add mapping generator for CPython</li>
<li>[mappings] Improve mappings for libstdc++ and Boost</li>
<li>[cmake] Add explicit C++14 compiler flag</li>
<li>... and many internal improvements</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.16%22">the <code>iwyu 0.16</code> milestone</a>.</p>
<p>Contributions in this release by Alexey Storozhev, Florian Schmaus, Kim Grasman, Omer Anson, saki7. Sorry if we've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.16.src.tar.gz">include-what-you-use-0.16.src.tar.gz</a>. It is equivalent to the <code>0.16</code> tag and <code>clang_12</code> branch.</p>
<h4>21 November 2020</h4>
<p>iwyu 0.15 compatible with llvm+clang 11 is released. Major changes:</p>
<ul>
<li>[iwyu] Fix crash due to undefined behavior in AST traversal</li>
<li>[iwyu] Improve handling of operator new including C++17 features</li>
<li>[iwyu] Improve handling of templates</li>
<li>[iwyu_tool] Remove known compiler wrappers from the command list</li>
<li>[mappings] Improve Qt mapping generator</li>
<li>[mappings] Improve boost mappings</li>
<li>[mappings] Improve built-in mappings for <code><time.h></code></li>
<li>[mappings] Add built-in mappings for <code>max_align_t</code>, <code>ptrdiff_t</code>, and <code>wchar_t</code></li>
<li>[cmake] Support shared LLVM/Clang libraries and other improvements</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.15%22">the <code>iwyu 0.15</code> milestone</a>.</p>
<p>Contributions in this release by Andrea Bocci, David Callu, Emil Gedda, Florian Schmaus, John Bytheway, Kim Grasman, Liam Keegan, Omar Sandoval, pppyx, Romain Geissler, Seth R Johnson, Tim Gates. Sorry if we've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.15.src.tar.gz">include-what-you-use-0.15.src.tar.gz</a>. It is equivalent to the <code>0.15</code> tag and <code>clang_11</code> branch.</p>
<h4>17 May 2020</h4>
<p>iwyu 0.14 compatible with llvm+clang 10 is released. Major changes:</p>
<ul>
<li>[iwyu] Report non-builtin enum base types</li>
<li>[iwyu] Disable forward-declares for decls in inline namespaces</li>
<li>[iwyu] Make C structs forward-declarable again</li>
<li>[iwyu] Always keep Qt .moc includes</li>
<li>[iwyu] Include binary type traits in analysis (e.g. <code>__is_convertible_to</code>)</li>
<li>[iwyu_tool] Fail fast if include-what-you-use is not found</li>
<li>[iwyu_tool] Print all diagnostic ouptut to stderr</li>
<li>[fix_includes] Improve file extension detection</li>
<li>Add man page for include-what-you-use</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.14%22">the <code>iwyu 0.14</code> milestone</a>.</p>
<p>Contributions in this release by Aaron Puchert, Kim Grasman, Miklos Vajna, Nick Overdijk, Uladzislau Paulovich. Sorry if we've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.14.src.tar.gz">include-what-you-use-0.14.src.tar.gz</a>. It is equivalent to the <code>0.14</code> tag and <code>clang_10</code> branch.</p>
<h4>26 October 2019</h4>
<p>iwyu 0.13 compatible with llvm+clang 9.0 is released. Major changes:</p>
<ul>
<li>[iwyu] Improved handling of relative includes in mappings and pragmas</li>
<li>[iwyu] Path normalization now collapses <code>..</code></li>
<li>[iwyu] Improve <code>--no_fwd_decls</code> not to remove required forward declarations</li>
<li>[iwyu] Improved handling of builtin templates</li>
<li>[iwyu] Don't mark forward declarations <code>final</code></li>
<li>[iwyu] Tolerate <code>using</code> declarations in precompiled header</li>
<li>[mappings] Add script to generate Qt mappings, and new mappings for Qt 5.11</li>
<li>[iwyu_tool] Use <code>directory</code> from compilation database if available</li>
<li>Numerous documentation and build improvements</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.13%22">the <code>iwyu 0.13</code> milestone</a>.</p>
<p>Contributions in this release by Alexander Grund, i-ky, John Bytheway, Julien Cabieces, Kim Grasman, Levente Győző Lénárt, Miklos Vajna, Uladzislau Paulovich and Zachary Henkel. Sorry if we've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.13.src.tar.gz">include-what-you-use-0.13.src.tar.gz</a>. It is equivalent to the <code>0.13</code> tag and <code>clang_9.0</code> branch. Note that there's no <code>clang_9.0</code> tag this time, to avoid tag/branch confusion.</p>
<h4>15 April 2019</h4>
<p>iwyu 0.12 compatible with llvm+clang 8.0 is released. Major changes:</p>
<ul>
<li>[iwyu] New command-line option: <code>--keep</code> to mirror <code>IWYU pragma: keep</code></li>
<li>[iwyu] New command-line option: <code>--cxx17ns</code> to suggest compact C++17 nested namespaces</li>
<li>[iwyu] Improve <code>--no_fwd_decls</code> to optimize for minimal number of redeclarations</li>
<li>[iwyu] Improved mappings for POSIX types and let mappings apply to builtins as well</li>
<li>[iwyu] More principled handling of explicit template instantiations</li>
<li>[iwyu_tool] Breaking change: extra args are no longer automatically prefixed with <code>-Xiwyu</code> (so you can use them for Clang args too)</li>
<li>[iwyu_tool] Better Windows support</li>
<li>[fix_includes] Better handling of template forward-decls</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.12%22">https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.12%22</a></p>
<p>Contributions in this release by Asier Lacasta, David Robillard, Ignat Loskutov, Jakub Wilk, John Bytheway, J.Ru, Kim Grasman, Martin Villagra, Miklos Vajna, tomKPZ, Tom Rix. Sorry if we've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.12.src.tar.gz">include-what-you-use-0.12.src.tar.gz</a>. It is equivalent to the <code>clang_8.0</code> tag.</p>
<h4>8 December 2018</h4>
<p>iwyu 0.11 compatible with llvm+clang 7.0 is released. Major changes:</p>
<ul>
<li>[iwyu] Improved recognition of template and specialization uses</li>
<li>[iwyu] Improved CMake build system, see docs for build instructions</li>
<li>[mappings] Improved mappings for Boost, Intel intrinsics and libstdc++</li>
<li>[iwyu_tool] Several bug fixes and improvements</li>
<li>[iwyu_tool] Add <code>--basedir</code> argument to interpret IWYU output from another source tree</li>
<li>[fix_includes] Handle namespaces better</li>
<li>[fix_includes] Add <code>--only_re</code> switch to filter affected files</li>
<li>[fix_includes] Add <code>--reorder/--noreorder</code> switch to toggle reordering of includes</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.11%22">https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.11%22</a></p>
<p>Contributions in this release by Asier Lacasta, Christian Venegas, Ignat Loskutov, J.Ru, Kim Grasman, Martin Villagra, Paul Seyfert, Phantal, Philip Pfaffe, Scott Ramsby, Tom Rix, Victor Poughon. Sorry if we've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.11.src.tar.gz">include-what-you-use-0.11.src.tar.gz</a>. It is equivalent to the <code>clang_7.0</code> tag.</p>
<h4>30 April 2018</h4>
<p>iwyu 0.10 compatible with llvm+clang 6.0 is released. Major changes:</p>
<ul>
<li>Add <code>--no_fwd_decls</code> option to avoid replacing includes with forward-declarations</li>
<li>Treat definitions of free functions as uses of the corresponding prototypes</li>
<li>Support C++11 range-for loops</li>
<li>Several template misattribution bugs fixed</li>
<li>Better support for non-ASCII encodings in fix_includes.py</li>
<li>Remove support for VCS commands from fix_includes.py</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.10%22">https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.10%22</a></p>
<p>Contributions in this release by bungeman, Kim Gräsman, Alex Kirchhoff, J. Ru, Orgad Shaneh, Christoph Weiss. Sorry if we've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.10.src.tar.gz">include-what-you-use-0.10.src.tar.gz</a>. It is equivalent to the <code>clang_6.0</code> tag.</p>
<h4>11 March 2018</h4>
<p>iwyu 0.9 compatible with llvm+clang 5.0 is released. Major changes:</p>
<ul>
<li>Improve handling of template arguments</li>
<li>Improve support of JSON compilation databases (<code>arguments</code> field)</li>
<li>Improve support for function pointers to templates</li>
<li>Allow <code>IWYU pragma: keep</code> on forward declarations</li>
<li>Fix a few crash scenarios on C++11 using-declarations</li>
<li>iwyu_tool.py now supports parallel execution</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.9%22+is%3Aclosed">https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.9%22+is%3Aclosed</a></p>
<p>Contributions in this release by J. Ru, Kim Gräsman, Kristoffer Henriksson, Paul Seyfert. Sorry if we've missed anyone.</p>
<p><strong>NOTE:</strong> From now on we will not be able to produce binary releases. There are well-maintained packages for
several platforms, and we rely on community contributions to increase availability here.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.9.src.tar.gz">include-what-you-use-0.9.src.tar.gz</a>. It is equivalent to the <code>clang_5.0</code> tag.</p>
<h4>3 August 2017</h4>
<p>iwyu 0.8 compatible with llvm+clang 4.0.0 is released. Major changes:</p>
<ul>
<li>Add support for <code>IWYU pragma: associated</code></li>
<li>Better validation of pragma syntax in general.</li>
<li>Improve support for out-of-tree builds, especially with MSVC.</li>
<li>Add more compiler-like output for <code>iwyu_tool.py</code></li>
<li>Further improve location reporting in macros.</li>
<li>Stricter requirements for arrays of templates.</li>
<li>Better recognition of <code>typedef</code> types for by-value arguments.</li>
<li>Better function pointers support.</li>
<li>Documentation improvements.</li>
<li>Extend <code>IWYU pragma: keep</code> to work with forward declarations.</li>
<li>Fix Windows path handling in <code>fix_includes.py</code></li>
<li>Better libc++ container support.</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.8%22+is%3Aclosed">https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.8%22+is%3Aclosed</a></p>
<p>Contributions in this release by Eugene Zelenko, ivankoster, Kim Gräsman, Kristoffer Henriksson, mineo, nocnokneo, svenpanne, Volodymyr Sapsai, xuzhen1994. Sorry if we've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.8.src.tar.gz">include-what-you-use-0.8.src.tar.gz</a>. It is equivalent to <code>clang_4.0</code> tag.</p>
<h4>30 October 2016</h4>
<p>iwyu 0.7 compatible with llvm+clang 3.9 is released. Major changes:</p>
<ul>
<li>Add preliminary mappings for libc++.</li>
<li>Require the complete type for pointer arithmetic.</li>
<li>Recognize nested classes in friend declarations.</li>
<li>Better handling of X-macros/textual includes.</li>
<li>Better handling of self-checking private headers (that raise an <code>#error</code> if included directly).</li>
<li>Improve IWYU's understanding of implicit include dirs; the current source file's dirname is always a candidate now.</li>
<li>Add implicit include dirs for libc++ on Darwin targets.</li>
<li>Lots of internal cleanup based on output from clang-tidy.</li>
<li>Reduce logging strategically, to get more relevant output.</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.7%22+is%3Aclosed">https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.7%22+is%3Aclosed</a></p>
<p>Thanks for all your contributions and help Bothari, Eugene Zelenko, Flamefire, Kim Gräsman. Sorry if I've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.7.src.tar.gz">include-what-you-use-0.7.src.tar.gz</a>. It is equivalent to <code>clang_3.9</code> tag.</p>
<h4>15 May 2016</h4>
<p>iwyu 0.6 compatible with llvm+clang 3.8 is released. In this version we</p>
<ul>
<li>Added mappings for Qt 5.4.</li>
<li>Added better analysis of uses in macros.</li>
<li>Added <code>--no_comments</code> switch to suppress why-comments.</li>
<li>Fixed bug with global namespace qualifier on friend declarations.</li>
<li>Fixed bug in <code>fix_includes.py</code> generating invalid diff output.</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.6%22+is%3Aclosed">https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.6%22+is%3Aclosed</a></p>
<p>Thanks for all your contributions and help JVApen, Kim Gräsman, Philip Pfaffe, pseyfert, realazthat, Sylvestre Ledru, ThosRTanner. Sorry if I've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.6.src.tar.gz">include-what-you-use-0.6.src.tar.gz</a>. It is equivalent to <code>clang_3.8</code> tag.</p>
<h4>17 December 2015</h4>
<p>iwyu 0.5 compatible with llvm+clang 3.7 is released. In this version we</p>
<ul>
<li>Migrated to GitHub. It includes updated docs and improved testing infrastructure.</li>
<li>Added Boost and Qt mappings.</li>
<li>Have better support for using declarations.</li>
<li>Allow <code>size_t</code> from multiple headers.</li>
<li>Fixed handling includes with common path prefix.</li>
</ul>
<p>For the full list of closed issues see <a href="https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.5%22+is%3Aclosed">https://github.com/include-what-you-use/include-what-you-use/issues?q=milestone%3A%22iwyu+0.5%22+is%3Aclosed</a></p>
<p>Thanks for all your contributions Scott Howard, bungeman, tpltnt, Chris Glover, Kim Gräsman. And thank you for all you help Jérémie Delaitre, Richard Thomson, dpunset, Earnestly, Dave Johansen, ThosRTanner. Sorry if I've missed anyone.</p>
<p>The source code can be downloaded from <a href="/downloads/include-what-you-use-0.5.src.tar.gz">include-what-you-use-0.5.src.tar.gz</a>. It is equivalent to <code>clang_3.7</code> tag.</p>
<h4>4 June 2015</h4>
<p>iwyu 0.4 compatible with llvm+clang 3.6 is released. It contains the following changes:</p>
<ul>
<li>fix_includes.py compatible with Python 3.</li>
<li>iwyu_tool.py to run include-what-you-use with compilation database.</li>
<li>Various bugfixes.</li>
</ul>
<p>For the full list of closed issues see <a href="https://code.google.com/p/include-what-you-use/issues/list?can=1&q=closed-after%3A2014%2F10%2F23+closed-before%3A2015%2F6%2F2">https://code.google.com/p/include-what-you-use/issues/list?can=1&q=closed-after%3A2014%2F10%2F23+closed-before%3A2015%2F6%2F2</a></p>
<p>This release received many contributions and I want to thank SmSpillaz, Paul Redmond, Chris Glover, Ryan Pavlik, showard314, Fabian Gruber, Kim Gräsman for your help. And thanks to Dave Johansen, MMendez534, Sylvestre Ledru for packaging include-what-you-use. Sorry if I've missed anyone.</p>
<p>The source code can be downloaded from <a href="http://include-what-you-use.org/downloads/include-what-you-use-0.4.src.tar.gz">include-what-you-use-0.4.src.tar.gz</a>. It is equivalent to <code>clang_3.6</code> tag.</p>
<h4>25 November 2014</h4>
<p>iwyu 0.3 compatible with llvm+clang 3.5 is released. In this version we have</p>
<ul>
<li>Added rudimentary support for C code.</li>
<li>Improved MSVC support for templated code and precompiled headers.</li>
<li>Added support for public STL #includes, which improves the IWYU experience for libc++ users.</li>
</ul>
<p>For the full list of closed issues see <a href="https://code.google.com/p/include-what-you-use/issues/list?q=closed-after%3A2014%2F02%2F23&can=1">https://code.google.com/p/include-what-you-use/issues/list?q=closed-after%3A2014%2F02%2F23&can=1</a></p>
<p>The source code can be downloaded from <a href="http://include-what-you-use.com/downloads/include-what-you-use-3.5.src.tar.gz">include-what-you-use-3.5.src.tar.gz</a>. It is equivalent to <code>clang_3.5</code> tag.</p>
<h4>22 February 2014</h4>
<p>iwyu version compatible with llvm+clang 3.4 is released. The source code can be downloaded from <a href="http://include-what-you-use.com/downloads/include-what-you-use-3.4.src.tar.gz">include-what-you-use-3.4.src.tar.gz</a>. It is equivalent to <code>clang_3.4</code> tag.</p>
<h4>11 August 2013</h4>
<p>We are moving downloads to Google Drive. iwyu version compatible with llvm+clang 3.3 can be found at <a href="https://docs.google.com/file/d/0ByBfuBCQcURXQktsT3ZjVmZtWkU/edit">include-what-you-use-3.3.tar.gz</a>. It is equivalent to <code>clang_3.3</code> tag.</p>
<h4>6 December 2011</h4>
<p>Now that clang 3.0 is out, I released a version of iwyu that works against clang 3.0. It is equivalent to r330. It is available in the 'downloads' section on the side pane. To use, just <code>cd</code> to <code>llvm/tools/clang/tools</code> in your llvm/clang tree, and untar <code>include-what-you-use-3.0-1.tar.gz</code> from that location. Then cd to <code>include-what-you-use</code> and type <code>make</code>. (A cmakefile is also available.) You can run <code>make check-iwyu</code> to run the iwyu test suite.</p>
<h4>24 June 2011</h4>
<p>It was just pointed out to me the tarball I built against llvm+clang 2.9 doesn't actually compile with llvm+clang 2.9. I must have made a mistake packaging it. I've tried again; according to my tests, anyway, the new version works as it's supposed to.</p>
<h4>8 June 2011</h4>
<p>I finally got around to releasing a tarball that builds against llvm+clang 2.9. See the 'downloads' section on the side pane. This is a rather old version of iwyu at this point, so you'll do much better to download a current clang+llvm and the svn-root version of include-what-you-use, and build from that. See <a href="http://code.google.com/p/include-what-you-use/source/browse/trunk/README.txt?r=260">README.txt</a> for more details.</p>
<h4>13 April 2011</h4>
<p>Work has been continuing at a furious pace on include-what-you-use. It's definitely beta quality by now. :-) Well, early beta. I've not been making regular releases, but the SVN repository is being frequently updated, so don't take the lack of news here to mean a lack of activity.</p>
<h4>4 February 2011</h4>
<p>I'm very pleased to announce the very-alpha, version 0.1 release of include-what-you-use. See the wiki links on the right for instructions on how to download, install, and run include-what-you-use.</p>
<p>I'm releasing the code as it is now under a "release early and often" approach. It's still very early in iwyu, and the program will probably have mistakes on any non-trivial piece of code. Furthermore, it still has google-specific bits that may not make much sense in an opensource release. This will all get fixed over time. Feel free to dig in and suggest patches to help the fixing along!</p>
<p>If you want to follow the discussion on include-what-you-use, and/or keep up to date with changes, subscribe to the
<a href="http://groups.google.com/group/include-what-you-use">Google Group</a>.</p>
</div>
</div>
</body>
</html>