> On Nov 3, 2014, at 2:10 AM, Vassil Vassilev <[email protected]> wrote:
> 
> Hi guys,
>  I am working on http://llvm.org/bugs/show_bug.cgi?id=20507 Now the 
> diagnostic gets issued for:
>    Clang :: Modules/declare-use1.cpp
>    Clang :: Modules/declare-use2.cpp
>    Clang :: Modules/declare-use3.cpp
>    Clang :: Modules/strict-decluse.cpp
> 
> It says smth like: Modules/Inputs/declare-use/module.map:30:10: note: Header 
> file 'unavailable.h' not present in module 'XF'
> 
> I'd like to add an expected diag to the modulemap file. Eg:
> module XF {
>  ...
>  header "unavailable.h" // expected-note {{...}}
>  ...
> }
> 
> Is that the right way to go?
> 
> If yes, VerifyDiagnosticConsumer requires some callbacks (such as 
> HandleComment) which come from the Preprocessor. In the ModuleMapParser we 
> use raw lexing (without PP at all) and I was wondering what would be the 
> right way to go, in order to make the -verify flag work inside the module 
> maps. One solution that I see is to pass the comment handlers from the PP to 
> the ModuleMapParser, however IMO this would break the encapsulation. Do you 
> have better ideas?

Rather than complicate the module map parsing, we could always put the // 
expected line into the importing source file (using @file:line).  I thought 
this would Just Work (TM), but when I tried some silly examples the 
verification didn’t work.  I don’t know if that’s related to it being a module 
map file or something to do with the fatal error.  I’m not sure what’s going 
wrong there, but that’s the direction I would explore.

Ben

> 
> Many thanks,
> Vassil


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to