[cfe-dev] TableGen warning groups: overlapping groups?

Ted Kremenek kremenek at apple.com
Wed Mar 18 09:12:49 PDT 2009


Right now in Diagnostics.td we have:

// Anything that can be controlled by an option subclasses this.
class OptionControlled;

class DiagnosticControlled<string text, string defaultMapping>
   : Diagnostic<text>, OptionControlled { ... }

class Warning<string text> : DiagnosticControlled<text, "warning"> {}
...

class Option<string name, list<OptionControlled> members> :  
OptionControlled {
   ....
   list<OptionControlled> Members = members;
}

Since a warning can belong to multiple Options, what are the semantics  
when one Option containing a DiagnosticControlled is enabled and  
another disabled?  Moreover, since Option also subclasses  
OptionControlled, conceivably it can belong to the  
list<OptionControlled> of another option.  I'm assuming this basically  
means "inline the DiagnosticControlled" values of the included Option,  
but the first question applies in spades to this case as well.

I'm only bringing this up because it seems like a really critical  
detail of the Diagnostic data model.



More information about the cfe-dev mailing list