r207975 - Add -Wmodule-build to make it easy to see when modules are (re)built

Tobias Grosser tobias at grosser.es
Tue May 6 00:48:55 PDT 2014


On 05/05/2014 22:07, Ben Langmuir wrote:
>
> On May 5, 2014, at 12:54 PM, Richard Smith <richard at metafoo.co.uk> wrote:
>
>> On Mon, May 5, 2014 at 12:27 PM, Ben Langmuir <blangmuir at apple.com> wrote:
>> Hi Richard,
>>
>> I agree in principle, but I was under the impression remark wasn’t fully baked for clang diagnostics yet.  For example, the commit message says:
>>
>>> This patch is by intention minimal in terms of parameter handling. More
>>> experience and more discussions will most likely lead to further enhancements
>>> in the parameter handling.
>
 >
>> And indeed, I gave it a spin and immediately noticed that it prints out [ -Rmodule-build ] in the diagnostics, which is actively misleading when -R is not a supported diagnostic option spelling.
>>
>> Yeah, we don't support the command-line interface for it yet, but that should be straightforward. That burden has basically been deferred to the first "lucky" person who wants to add a remark. Looks like that might be you? :)

I did not want to make the impression to avoid the work here.

> Adding Tobias who wrote the commit message I’m interpreting :)

Thanks.

> I took “more experience and more discussions” to mean we didn’t know what we wanted yet.  If my interpretation is incorrect, and it really is just a matter of wiring up -R like a simplified* -W, then I agree that it should be straightforward to implement

Yes, your interpretation is right. At that point, the idea of remarks
themselves was rather clear and already tested in Polly, but for the 
command line interface there where different proposals that where mostly 
discussed in the white. The idea was to get the basic infrastructure in 
place and then use discussions around upcoming remarks (vectorizer and 
inliner were the most likely ones) to drive the design of the command lines.

Almost immediately after I committed these patches, Diego stepped up to 
work on the inliner and vectorizer remarks and for those the
command line options -Rpass=passname e.g., -Rpass=inline have been
chosen. With your change, we now seem to have another complimentary
use-case for remarks. That is great.

> * By simplified, I mean that I assume we don’t want all of the special case -W options like everything, error, system-headers ...

 From what I learned from the previous remark discussions I think the a 
simplified -R option is really the way to go. Am I right, that for
your remark, using a flag -Rmodule-build would be what you would
like to use?

I already looked previously into how to implement the -R flags best.
As a first step, independent on decisions about the actual flags,
I implemented a patch that untangles the tblgen stuff for the
diagnostics. I reposted it under '[patch] tblgen: Modularize the 
diagnostic emitter'. Maybe you would like to have a look.

Cheers,
Tobias





More information about the cfe-commits mailing list