<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 10, 2015 at 8:06 AM, Russell Wallace via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">According to the LLVM coding standards,<br><div><br></div><div><p style="margin:0.8em 0px 0.5em;color:rgb(0,0,0);font-family:'Lucida Grande','Lucida Sans Unicode',Geneva,Verdana,sans-serif;font-size:14px;line-height:21px">Immediately after the <a href="http://llvm.org/docs/CodingStandards.html#header-file-comment" style="color:rgb(202,121,0)" target="_blank">header file comment</a> (and include guards if working on a header file), the <a href="http://llvm.org/docs/CodingStandards.html#minimal-list-of-includes" style="color:rgb(202,121,0)" target="_blank">minimal list of #includes</a>required by the file should be listed. We prefer these <tt style="font-family:Consolas,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace;font-size:0.95em"><span>#include</span></tt>s to be listed in this order:</p><ol style="color:rgb(0,0,0);font-family:'Lucida Grande','Lucida Sans Unicode',Geneva,Verdana,sans-serif;font-size:14px;line-height:21px"><span></span><li>Main Module Header</li><li>Local/Private Headers</li><li><tt style="font-family:Consolas,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace;font-size:0.95em"><span>llvm/...</span></tt></li><li>System <tt style="font-family:Consolas,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace;font-size:0.95em"><span>#include</span></tt>s</li></ol><div><font color="#000000" face="Lucida Grande, Lucida Sans Unicode, Geneva, Verdana, sans-serif"><span style="font-size:14px;line-height:21px">If a program is using LLVM, and also using a third-party library such as GMP, where would the coding standard have the GMP include be placed relative to the above order?</span></font></div></div></div></blockquote><div><br>The LLVM coding conventions are really intended for LLVM's code itself, they probably don't cover many situations that would arise when using LLVM code in broader applications like this... (nor is it likely we'd want to add wording to the style guide to clarify those use cases, unfortunately).<br><br>That said, we do have one (zlib compression?) or two (maybe md5 too?) external libraries used in LLVM, I imagine they get bundled in with the system includes, but I've not looked (& given that there aren't many, they might not be done in any consistent/deliberate manner)<br><br>- Dave</div></div></div></div>