[PATCH] Macro and conditional checking feature addition to the modularize tool

Thompson, John John_Thompson at playstation.sony.com
Fri Jul 26 11:07:19 PDT 2013


Thank you so much!


From: Douglas Gregor [mailto:dgregor at apple.com]
Sent: Thursday, July 25, 2013 9:25 PM
To: Thompson, John
Cc: cfe-commits at cs.uiuc.edu
Subject: Re: [PATCH] Macro and conditional checking feature addition to the modularize tool

Hi John,

On Jul 19, 2013, at 1:18 PM, Thompson, John <John_Thompson at playstation.sony.com<mailto:John_Thompson at playstation.sony.com>> wrote:

The enclosed patch implements a much reworked new feature in the modularize tool for checking for inconsistent macro expansions and inconsistent condition expression evaluations in conditional directives with respect to C++ modules.  It also includes a modified test for it.

This is an implementation of the proposal I posted previously (but received no feedback), written up in this Google Doc: https://docs.google.com/document/d/1dxXKI8r-3NwQDR6Zm-JT9kh-hWrruw8tUKmG9emY8AU/edit?usp=sharing

For details about the implementation in prose form, I've written the following Google Docs document, with comments enabled: https://docs.google.com/document/d/1TBQF3nzk66Sw0hJV0cCsNFvwF_zQuO5WbjoMmPtEfHU/edit?usp=sharing

The patch is relative to the "extra" directory at tools/clang/extra.

I'm sorry it's such a large patch.  I've tried to put as much as I can of the new feature code in a new .h interface and .cpp implementation file, with just the bare minimum API to connect it to Modularize.cpp.

I'd appreciate your review feedback for this patch and/or permission to check in.

This looks great! The detail in these diagnostics will come in quite handy for others working to clean up headers for modules.

I looked through the latest version of the patch, and I don't have much in the way of specific feedback: the architecture looks solid, and I didn't see any issues with the implementation. Go ahead and commit, thanks!

            - Doug

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130726/beb80bc2/attachment.html>

More information about the cfe-commits mailing list