> Longer term, I'd like to be able to control warnings on a line by > line basis. The ability to say "I've examined this expression / > line / block / whatever of code and I'm happy with it with-regard-to > warning XYZ, please be quiet" would be very valuable. > > Based on Gaby's comments, it sounds like fine-grained control would > be a much bigger project.
Right, what you'd basically have to do is attach the warning control state (or state diffs) to the tree objects, and make sure they propogate all over the place, and figure out which one(s) to use when you need to issue a diagnostic. Like, if you add a signed and unsigned, and they have conflicting signedness warning settings, what do you do? I had thought of keeping a table of pragma-settings-by-line-number and, for diagnostics with line number information, doing the lookup to see what was in effect at that line. But the complications are worse than the benefits.