<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><br></div><br><div><div>On Nov 17, 2013, at 8:14 AM, Hal Finkel <<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">----- Original Message -----<br><blockquote type="cite">From: "Sean Silva" <<a href="mailto:silvas@purdue.edu">silvas@purdue.edu</a>><br>To: "Alp Toker" <<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>><br>Cc:<span class="Apple-converted-space"> </span><a href="mailto:reviews+D2190+public+af649f7838db3d64@llvm-reviews.chandlerc.com">reviews+D2190+public+af649f7838db3d64@llvm-reviews.chandlerc.com</a>, "Chandler Carruth" <<a href="mailto:chandlerc@gmail.com">chandlerc@gmail.com</a>>,<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>Sent: Sunday, November 17, 2013 1:43:06 AM<br>Subject: Re: [PATCH] Add warning capabilities in LLVM (backend part)<br><br><br><br><br><br><br><br><br>On Fri, Nov 15, 2013 at 2:07 PM, Alp Toker < <a href="mailto:alp@nuanti.com">alp@nuanti.com</a> > wrote:<br><br><br>Hi Quentin,<br><br>This is neat!<br><br>It could be nice to call it 'Diagnostic' rather than 'Report' in<br>order to follow the existing convention in clang.<br></blockquote><br>I agree that Diagnostic is a better name.<br><br><blockquote type="cite"><br>Even if it works slightly differently than clang diags right now, it<br>has pretty much the same purpose, is intended to feed into the clang<br>diag system, and I think there's potential for an "eventual"<br>unification of diagnostic facilities if this idea gets taken up in<br>LLVM core.<br><br>The benefit apart from familiar terminology would be that existing<br>language binding wrappers, serializations and editor integration<br>code could be lowered from clang and reused for standalone LLVM<br>diagnostics and other language frontends some day.<br><br><br><br>Yeah, this has been an outstanding project for a while now. I wonder<br>if we could get a GSOC on it.<br></blockquote><br>What exactly do you mean by this? Refactoring out parts of clang useful for other frontends/tools?<br></div></blockquote><div><br></div><div>I believe that is what he means. When I was screwing around with flang for a bit it would have been very useful.</div><br><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br>-Hal<br><br><blockquote type="cite"><br><br>-- Sean Silva<br><br><br><br><br><br>Alp.<br><br><br><br>On 15/11/2013 18:17, Quentin Colombet wrote:<br><br><br><br><br>Hi dblaikie, echristo, rengolin, chandlerc,<br><br>Hi,<br><br>This patch implements the proposal discussed a few months ago (<br><a href="http://lists.cs.uiuc.edu/">http://lists.cs.uiuc.edu/</a> pipermail/llvmdev/2013-July/ 063845.html )<br>regarding adding warning capabilities in LLVM.<br><br>//// Overview ////<br><br>The patch adds a new LLVMContext::report that can be used to<br>communicate to the front-end, if any, that something of interest<br>happened.<br>The report contains the following information:<br>- The kind of the report: What this is this about.<br>- The severity of the report: How bad this is.<br>- The default message to print: What should be reported.<br>- A data field: Some meta information.<br><br>The data field should be used to communicate all sort of data to the<br>front-end. Ultimately, this field should provide enough information<br>to the front-end so that it could build its own diagnostic if it<br>does not want to print the default message.<br>This means that both the back-end and the front-end should agree on<br>the structure of this field based on the pair kind/severity.<br>This feature is not stressed by this patch.<br><br>This patch introduces a new ReportHandlerTy and a new ReportContext<br>that should be set by the front-end to be able to map these reports<br>in its own diagnostics system.<br><br>//// Next Steps ////<br><br>- Send the patch for clang (I have it on hold).<br>- Switch to this reporting for all warnings printing happening in the<br>backend.<br>- Switch the InlineAsmDiagHandler to the new reporting mechanism.<br>This involves a bit of work, especially regarding the meta data.<br><br>Thanks for your reviews.<br><br>Cheers,<br>Quentin<br><br>PS: Sorry for the delay, it took my ages to get to this point in my<br>todolist.<br><br><a href="http://llvm-reviews.chandlerc">http://llvm-reviews.chandlerc</a>. com/D2190<br><br>Files:<br>include/llvm/IR/LLVMContext.h<br>lib/CodeGen/ PrologEpilogInserter.cpp<br>lib/IR/LLVMContext.cpp<br>lib/IR/LLVMContextImpl.cpp<br>lib/IR/LLVMContextImpl.h<br><br><br><br>______________________________ _________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>http://lists.cs.uiuc.edu/ mailman/listinfo/llvm-commits<br><br>--<br>http://www.nuanti.com<br>the browser experts<br><br><br><br>______________________________ _________________<br>llvm-commits mailing list<br>llvm-commits@cs.uiuc.edu<br>http://lists.cs.uiuc.edu/ mailman/listinfo/llvm-commits<br><br><br>_______________________________________________<br>llvm-commits mailing list<br>llvm-commits@cs.uiuc.edu<br>http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits<br><br></blockquote><br>--<span class="Apple-converted-space"> </span><br>Hal Finkel<br>Assistant Computational Scientist<br>Leadership Computing Facility<br>Argonne National Laboratory<br>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a></div></blockquote></div><br></body></html>