[cfe-dev] How to add a -W flag?

Richard Smith richard at metafoo.co.uk
Fri Jan 31 15:27:34 PST 2014


On Fri, Jan 31, 2014 at 2:05 PM, Thompson, John <
John_Thompson at playstation.sony.com> wrote:

>  Richard,
>
>
>
> I'm working on a fixit such that when a type or other symbol can't be
> found, it will search all the modules, and if the missing identifier is
> found, it will implicitly import the module, display a fixit warning, and
> continue.  This is something Doug Gregor suggested to me at the last
> conference when I asked for ideas of some things I might do to help the
> modules effort.
>

By "search all the modules" I assume you mean search the global module
index? (We already do this in the case where the name is found in a
non-visible submodule of a loaded module.)

It seems a bit weird for our diagnostics to depend on what happens to be in
the global module index, but I don't have any alternative suggestion.

I'll post on Phabricator very shortly (hopefully this afternoon) a rough
> preview patch soon which just handles one case of a missing type, along
> with some questions, as there's some more work needed that I'm not sure how
> to do yet, and the process I came up with of getting the global module
> index to cover all the modules is kind of iffy, so I wanted to have someone
> with more knowledge of the module system look at it.  Can I put you as a
> reviewer, or can you suggest someone?
>

I don't think there's anyone better than Doug or myself.


> Thanks.
>
>
>
> -John
>
>
>
> *From:* Richard Smith [mailto:metafoo at gmail.com]
> *Sent:* Friday, January 31, 2014 12:56 PM
> *To:* Thompson, John; Zach Davis; Chad Rosier; cfe-dev at cs.uiuc.edu
>
> *Subject:* Re: [cfe-dev] How to add a -W flag?
>
>
>
> You should start your diagnostic text with a lowercase letter. I'm also
> curious what you're diagnosing here! (Missing import of macros, maybe?)
>
> On Fri Jan 31 2014 at 12:47:21 PM, Thompson, John <
> John_Thompson at playstation.sony.com> wrote:
>
>  Thank you both, Zach and Chad!
>
>
>
> -John
>
>
>
> *From:* Zach Davis [mailto:zdavkeos at gmail.com]
> *Sent:* Friday, January 31, 2014 11:55 AM
> *To:* Thompson, John
> *Cc:* cfe-dev at cs.uiuc.edu
> *Subject:* Re: [cfe-dev] How to add a -W flag?
>
>
>
> I believe you need to add your warning to a group like so:
>
>   def warn_need_module_import : Warning<
>     "Use of identifier '%0' requires import/inclusion of the module '%1'">;
>
> becomes -->
>
>   def warn_need_module_import : Warning<
>     "Use of identifier '%0' requires import/inclusion of the module '%1'">,
>     InGroup<SomeGroup>;
>
> where "SomeGroup" is taken from DiagnosticGroups.td .
>
> You can add you own group as well, the format is like:
>
>   def SomeGroup : DiagGroup<"some-group">;
>
> and then you should be able to use -Wsome-group
>
>
>
> On Fri, Jan 31, 2014 at 1:29 PM, Thompson, John <
> John_Thompson at playstation.sony.com> wrote:
>
> I'm adding a warning to the end of the "Modules Issues" category in
> DiagnosticSemaKinds.td:
>
>
>
> def warn_need_module_import : Warning<
>
>   "Use of identifier '%0' requires import/inclusion of the module '%1'">;
>
>
>
> This makes test/Misc/warning-flags.c fail.
>
>
>
> A comment in that test file says:
>
>
>
>     If you add a new warning without a flag, this test will fail.  To fix
>
>     this test, simply add a warning group to that warning.
>
>
>
> I don't know what that means.  How do I add a warning group to the warning?
>
>
>
> Thanks.
>
>
>
> -John
>
>
>
>
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140131/703dcd55/attachment.html>


More information about the cfe-dev mailing list