[cfe-dev] Warning options table

Ted Kremenek kremenek at apple.com
Tue Mar 3 19:03:43 PST 2009


On Mar 3, 2009, at 6:02 PM, Chris Lattner wrote:

> On Mar 3, 2009, at 5:53 PM, Ted Kremenek wrote:
>>>> 2) But more importantly, I simply think that separate files, the  
>>>> way we
>>>> have them now, are the better choice. So we have a SemaDiag.td, a
>>>> LexDiag.td, etc.
>>>
>>>
>>> For that, it is probably best to just have:
>>>
>>> let Library = "sema" in {
>>>
>>> at the top of each per-library file, and } at the end.
>>>
>>> -Chris
>>
>> Does having separate per-library files pose issues with  
>> implementing -Wall?  That is, to implement -Wall, or any other  
>> option whose warnings might cross  several libraries, don't we need  
>> the ability to potentially know about all the warnings across  
>> Clang?  I think that was the original motivation to put all the  
>> warnings in one TableGen file.
>
> We want each library to put its diags in separate .td files with a  
> "let" wrapping them, then we want one file that pulls in everything:
>
>
> Diagnostics.td:
>
> include "SemaDiags.td"
> include "ParserDiags.td"
> ...
>
> The tblgen backend should be invoked once for each library with the  
> full set of input, and only emit the diags corresponding to each  
> invocation.  e.g,
>
> tblgen Diagnostics.td -emit-clang-diags-info -clang-diags- 
> library=Sema -o Sema.inc
> tblgen Diagnostics.td -emit-clang-diags-info -clang-diags- 
> library=Parser -o Parser.inc
> ...

Right!  Sounds good to me.




More information about the cfe-dev mailing list