[PATCH] module-map-checker - new tool for checking module.map coverage
John Thompson
john.thompson.jtsoftware at gmail.com
Thu Dec 19 08:09:55 PST 2013
Hi doug.gregor, rsmith, silvas,
This new tool uses clang libraries to load a module map and then collects all the header files in the module map directory and below (or optionally the set of include directories specified) and checks to see if the module map references all the files in its directory tree, whether explicilty referenced in the module map file, or implicitly covered by an umbrella directory or header. For umbrella headers, it will preprocess the file, using a PPCallbacks derivation to collect any headers included by the umbrella header. If any files are found which are not covered by the module map, the tool displays warning messages.
I would appreciate the usual review feedback regarding the tool doing what it should be doing functionally and the coding.
(Note that I'll be away from Dec 21 - Jan 5 for the holidays, so I won't be able to respond until after I return.)
Thanks, and Merry Christmas!
-John
http://llvm-reviews.chandlerc.com/D2443
Files:
test/lit.cfg
test/module-map-checker/Inputs/main-test/Level1A.h
test/module-map-checker/Inputs/main-test/UmbrellaInclude2.h
test/module-map-checker/Inputs/main-test/Level1B.h
test/module-map-checker/Inputs/main-test/Level2A.h
test/module-map-checker/Inputs/main-test/Level2B.h
test/module-map-checker/Inputs/main-test/Level3A.h
test/module-map-checker/Inputs/main-test/module.map
test/module-map-checker/Inputs/main-test/Sub/Level3B.h
test/module-map-checker/Inputs/main-test/UmbrellaFile.h
test/module-map-checker/Inputs/main-test/UmbrellaSub/Umbrell1.h
test/module-map-checker/Inputs/main-test/UmbrellaSub/Umbrell2.h
test/module-map-checker/Inputs/main-test/UmbrellaInclude1.h
test/module-map-checker/Inputs/includes-test/module.map
test/module-map-checker/Inputs/includes-test/NonIncludes/Level3A.h
test/module-map-checker/Inputs/includes-test/Includes1/Level1A.h
test/module-map-checker/Inputs/includes-test/Includes2/Level2A.h
test/module-map-checker/main-test.module-map-checker
test/module-map-checker/includes.module-map-checker
test/CMakeLists.txt
module-map-checker/ModuleMapChecker.cpp
module-map-checker/CMakeLists.txt
module-map-checker/Makefile
module-map-checker/ModuleMapChecker.h
CMakeLists.txt
Makefile
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2443.1.patch
Type: text/x-patch
Size: 40331 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131219/b546ff81/attachment.bin>
More information about the cfe-commits
mailing list