Path to this page:
./
devel/include-what-you-use,
Analyze #includes in C and C++ source files
Branch: CURRENT,
Version: 0.22nb2,
Package name: include-what-you-use-0.22nb2,
Maintainer: pkgsrc-users"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.
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.
Required to run:[
lang/clang] [
lang/python37]
Required to build:[
pkgtools/cwrappers] [
lang/gcc5]
Master sites:
Filesize: 778.009 KB
Version history: (Expand)
- (2024-11-01) Updated to version: include-what-you-use-0.22nb2
- (2024-11-01) Updated to version: include-what-you-use-0.22nb1
- (2024-07-06) Updated to version: include-what-you-use-0.22
- (2024-05-29) Updated to version: include-what-you-use-0.21nb1
- (2024-04-22) Updated to version: include-what-you-use-0.21
- (2023-11-08) Updated to version: include-what-you-use-0.20nb1
CVS history: (Expand)
2024-04-22 09:48:47 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
include-what-you-use: updated to 0.21
iwyu 0.21 compatible with llvm+clang 17 is released. Major changes:
[iwyu] Improve analysis of type aliases (typedef and using)
[iwyu] Improve analysis of namespace aliases (namespace xyz = foobar)
[iwyu] Improve support for elaborated forward declarations (typedef struct Foo Bar;)
[iwyu] Improve handling of "autocast" and function return types, \
particularly with complex template types.
[iwyu] Add new IWYU pragma: always_keep, which lets a header announce that it \
should always be kept wherever included
[iwyu] Automatically use builtin libc++ mappings if libc++ is the active \
standard library
[mappings] Improve mappings for libc++ and posix headers
|
2023-11-08 14:21:43 by Thomas Klausner | Files touched by this commit (2377) |
Log message:
*: recursive bump for icu 74.1
|
2023-10-06 21:25:48 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
include-what-you-use: updated to 0.20
IWYU 0.20
[iwyu] Support IWYU pragma: export for forward-declarations
[iwyu] Silently break cycles in mappings instead of crashing
[iwyu] Require full type inside typeid()
[iwyu] Improve template reporting and resugaring
[iwyu] Improve reporting of explicit template instantiations
[iwyu] Fix a few crashers
[iwyu] Improve logging (many small fixes)
Abandon python2 for scripts in favor of python3
|
2023-08-14 07:25:36 by Thomas Klausner | Files touched by this commit (1247) |
Log message:
*: recursive bump for Python 3.11 as new default
|
2023-07-18 16:11:18 by Nia Alarie | Files touched by this commit (35) |
Log message:
devel: Adapt packages to use USE_(CC|CXX)_FEATURES
|
2023-04-19 10:12:01 by Adam Ciarcinski | Files touched by this commit (2359) | |
Log message:
revbump after textproc/icu update
|
2022-11-23 17:21:30 by Adam Ciarcinski | Files touched by this commit (1878) | |
Log message:
massive revision bump after textproc/icu update
|
2022-11-14 19:53:25 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
include-what-you-use: updated to 0.19
IWYU 0.19
Compatible with Clang 15.
[iwyu] New --comment_style option to control verbosity of 'why' comments
[iwyu] New --regex option to select regex dialect
[iwyu] Add support for regex replacement in mappings
[iwyu] Add begin_keep/end_keep pragmas for protecting ranges of includes or \
forward-declares
[iwyu] Fix several crasher bugs for unusual inputs
[iwyu] More exhaustive handling of type aliases and enums
[iwyu] Recognize IWYU pragmas in CRLF source files
[iwyu] Respect configured toolchain on macOS (and overrides via -nostdinc++ + \
-isystem)
[fix_includes] Recognize namespace alias declarations
[mappings] Improve mappings for POSIX and libc headers
[cmake] Build now requires a C++17 compiler (as does LLVM)
[cmake] Support LLVM external project build (see README)
|