<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 11, 2016 at 5:02 PM, Chris Lattner 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"><span class=""><br>
> On Mar 11, 2016, at 1:14 AM, Chandler Carruth via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br>
><br>
> The crazy clang-format folks have taught it to sort includes, and clang-tidy has a nice way to run it across all of LLVM and Clang.<br>
><br>
> Before I just submit the fixes (and any bug reports to the clang-format folks if it sorts things weirdly) I wanted to double check that folks would be ok with this. My understanding is that the sorting should match the LLVM conventions, but if not, I'll make sure to get that fixed first.<br>
<br>
</span>Does it do it the “right” way?  I think it is important for a .cpp file to include its corresponding header first (to ensure it stays self contained).<br></blockquote><div><br></div><div>Believe it does, yes. At least for the basic/obvious cases:<br><br>foo.cpp containing includes of b.h, foo.h, a.h -> foo.h, a.h, b.h<br><br>(also, with modules builds, it may no longer be necessary to include the primary header first to ensure it remains self contained (but yeah, until we're all using modules builds, it'll be useful so that non-modular builds don't silently break this invariant))</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
-Chris<br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div><br></div></div>