rsmith added a comment.

There seem to be two principled approaches here:

1. `DiagnosticsEngine` has a `Group` named `"everything"` (all of its interface 
supports that group, and from the point of view of someone using 
`DiagnosticsEngine` it behaves like any other group), or
2. There is no such group, and everyone calling into `DiagnosticsEngine` treats 
it as a special case if they want to allow it.

This patch is more ad-hoc: some of the `DiagnosticsEngine` interface would 
allow `"everything"`, but other parts would reject it, and we would still have 
a special case for `"everything"` in `clang::ProcessWarningOptions`. That 
results in a confusing interface contract for `DiagnosticsEngine`.

Can you move the special case code out of `DiagnosticsEngine` and into the 
pragma handler for now?


http://reviews.llvm.org/D15095



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to