[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