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

Thompson, John John_Thompson at playstation.sony.com
Fri Jan 31 14:05:50 PST 2014


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.

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?

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<mailto:John_Thompson at playstation.sony.com>> wrote:

Thank you both, Zach and Chad!



-John



From: Zach Davis [mailto:zdavkeos at gmail.com<mailto:zdavkeos at gmail.com>]
Sent: Friday, January 31, 2014 11:55 AM
To: Thompson, John
Cc: cfe-dev at cs.uiuc.edu<mailto: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<mailto: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<mailto: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/3655164c/attachment.html>


More information about the cfe-dev mailing list