sanwou01 added a comment.

Hi Oli,

Thanks for taking a look! You're right, -w and -Werror could be implemented by 
passing them as MCTargetOptions flags.

This patch is indeed intended to enable -W options to promote or silence 
(categories of) warnings. To enable that, the first step is to be able to 
associate a diagnostic with an identifier. Clang defines IDs (and their warning 
groups) in Diagnostic*Kinds.td. The IDs need to be available where a diagnostic 
is raised, so a table for LLVM diagnostics (or just the enum) needs to live on 
the LLVM side (but they'd share encoding space with the clang enum, e.g., the 
clang diag enum starts where the llvm diag enum ends). It is then a matter of 
plumbing this ID from the point where the diagnostic gets raised, into an 
SMDiagnostic, and into the DiagnosticsEngine on the clang side.

Once the infrastructure is in place, the calls to `Report()` and friends can be 
updated with IDs on a case by case basis.

Thanks,
Sanne


https://reviews.llvm.org/D31501



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

Reply via email to