2
I Use This!
Activity Not Available

Commits : Listings

Analyzed about 1 year ago. based on code collected about 1 year ago.
Jan 20, 2023 — Jan 20, 2024
Commit Message Contributor Files Modified Lines Added Lines Removed Code Location Date
First shot at allowing code-authors to use forward-declares as a signal to iwyu that it should not use its stricter-than-required rules for typedefs and autocasts (that is, iwyu requires the full type for Foo in 'typedef Foo MyTypedef' while C++ does not). More... almost 14 years ago
Fixed a place where we were declaring a use where we shouldn't have been: when forward-declaring a template type, we were were saying we 'used' the type we were declaring. This isn't true: a declaration isn't a use. Normally it didn't cause any problems (the declaration and use are in the same file!) but it does in our new test, where we forward-declare an explicit specialization that's defined in another file. More... almost 14 years ago
Correctly deal with non-class types that can be redeclared: functions, typedefs, etc. We just require one of the redecls to be visible, not all of them. More... almost 14 years ago
It turns out that clang's isBeforeInTranslationUnitThan doesn't distinguish between symbols in the same macro (or if it does, then not in a way that I'm able to take advantage of, perhaps because I'm comparing a decl to a SourceLocation rather than two decls). Special-case that situation to just always say "yes, a is before b". This fixes the tests (which I've also augmented to capture outside badinc.h). More... almost 14 years ago
Rather than comparing line numbers to say that one decl comes before another, use isBeforeInTranslationUnitThan. It's more accurate; in particular, it will work better with macros (which appear to be on one line). More... almost 14 years ago
Distinguish properly between system and user include directories as specified on the compiler line, when deciding whether to use "" or <>. Hard-code in some rules for google3 where we don't do it quite right. More... almost 14 years ago
In preparation for my typedef-fixing work: GetClassRedecls() should really just work on both normal classes and class templates. Changed the API so it does. More... almost 14 years ago
There was an earlier bug with an entry in the include-picker map omitting the necessary quotes around the filename. The check for this was suppressed because we shared the same code for the filename map and symbol map. Separate out that code so we can do the check and avoid future problems. More... almost 14 years ago
Makes the help strings for iwyu's command line flags clearer: More... almost 14 years ago
OK, it's time to acknowledge that iwyu_test really only tests the include-picker. iwyu_test was always a terrible name, anyway. More... almost 14 years ago
Allow include-what-you-use to run in --transitive_includes_only mode (controlled by a flag). In this mode, we will throw out suggestions that file a #include file b if file b is not visible in file a's transitive includes; that is, all we do is move indirect includes to direct includes, we never add a 'totally new' include. More... almost 14 years ago
Reorganize the commandline flags by storing them in a globally accessible 'commandlineflags' struct. This replaces the rather ad-hoc collection of variables and functions, spread across 3 different files, that we have now. The motivation is adding a new commandline flag that I want to be visible in yet a fourth file; I figured that was a good time to consolidate. Now iwyu_globals holds everything. More... almost 14 years ago
The rule that files like 'foo/internal/bar.h' should always be treated as private headers, and mapped to the nearest including public header, was too strict. The basic problem: what if 'foo/internal/baz.h' tried to include 'foo/internal/bar.h'? It should be able to. In some cases, 'foo/internal/bar.h' isn't even included from any non-internal file, and we end up suggesting to #include <built-in> (the only non-private include in the include-chain). More... almost 14 years ago
Allow inserting a forward-declare into a namespace even if that namespace doesn't have an existing forward-declare in it. I do this by creating a new reorder_span where we want to insert the new forward-declare. More... almost 14 years ago
Fixed bug in fixed_include.py that would cause it to sometimes emit duplicate include lines. The bug was triggered when two different analyses of the same file wanted to add the same include but with different explanations. The fix is to strip comments from lines before putting them in the set of lines to add. Note: Emitted commments will be from only one of the analyses. More... almost 14 years ago
Makes the IWYU script run in the 'safe' mode by default, now that we decided it's the mode to use for the fix-it. More... almost 14 years ago
Allow // comments at the end of pragma statements. More... almost 14 years ago
(no-op for opensource) More... almost 14 years ago
Make it so --safe mode only triggers for .h files. The idea behind safe mode is we don't delete anything that #includers might rely on us for, but only .h files have includers. .cc files don't. So it's always safe to remove #includes from .cc files (if they're not needed). More... almost 14 years ago
It turns out the bottleneck for iwyu is all the vcs checkout commands. Speed that up by doing them all in parallel. This requires some restructuring so we collect all the changes first, do the g4 checkouts (only to necessary files), and then apply the changes. More... almost 14 years ago
Make sure that running --safe twice doesn't cause us to add the same comment twice. More... almost 14 years ago
Revamp the transitive-closure code to be faster. I basically do this by caching when nodes are done, so we don't need to re-compute their transitive closure multiple times. More... almost 14 years ago
Add a test to make sure we handle #includes properly when moving them to a .cc file from an associated .h file. More... almost 14 years ago
Oops, got a test case wrong -- missed a mapping. Dean even pointed this out to me, but I didn't see it until after I had submitted. :-( More... almost 14 years ago
Declaring all 'unused' third-party #includes as private was too aggressive: it was too likely to conflict with some of the hard-coded values in third-party map. Plus, it's not necessary, since we know these files are not included from any google (non-third-party) code anyway. So remove that, and update the tests appropriately. More... almost 14 years ago
Add special support for third-party code, to make it less likely we'll suggest adding an internal third-party header. Basically, we stop trying to do include-what-you-use fixes on third-party code. More... almost 14 years ago
Handle dependencies on 'using' declarations properly. If we use a type via a using declaration, we need to make sure to use that using declaration as well. It may be in a different file from the type! More... almost 14 years ago
Fix namespace-ending regexp to allow for leading whitespace, in case we see code like More... almost 14 years ago
For some reason I was telling the include-picker about includes-as-written rather than the actual file-path of the included file. Since the include-picker deals with actual file-paths (of the decls), this made no sense, and indeed we were seeing when code depended on a search path, we weren't finding the proper include-mapping for it. More... almost 14 years ago
Blah, I forgot to add this file to CL 20697431. :-( More... almost 14 years ago