<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">Hi everyone,</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue"; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">I'm picking up the upstreaming of index-while-building functionality for clang. For more context (the previous RFC and the patch reviews) please see the end of this message.</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue"; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">The code on <a href="http://github.com/apple/swift-clang" class="">github.com/apple/swift-clang</a> that I am going to upstream has evolved a little in the meantime.  I'm in the process of extracting incremental patches, roughly broken up by functionality, applying review feedback from the previous round as I go.</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue"; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">The rough plan is to have these patches:</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">* DirectoryWatcher - <a href="https://reviews.llvm.org/D58418" class="">https://reviews.llvm.org/D58418</a></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">* model of source file - <a href="https://reviews.llvm.org/D58478" class="">https://reviews.llvm.org/D58478</a></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">* Decl-s representation - depends on model of source file</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">* index file format</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">* tools/c-index-test/JSONAggregation.* - depends on index file format</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">* C API - depends on index file format</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">* Actions - depends on all of the above</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">* index while building feature in clang - depends on all of the above</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue"; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">This partitioning is optimized for better incremental code review, but a large portion of the tests will land in the later patches once everything is in place.  In places where we really ought to have dedicated unit tests I'll add them.</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue"; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">Big thanks in advance to anyone willing to take a look!</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue"; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">Thanks</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue"; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">Jan</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue"; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">---</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue"; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">The original RFC:</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class=""><a href="http://lists.llvm.org/pipermail/cfe-dev/2017-August/055246.html" class="">http://lists.llvm.org/pipermail/cfe-dev/2017-August/055246.html</a></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue"; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">Patches from the previous push:</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class=""><a href="https://reviews.llvm.org/D39050" class="">https://reviews.llvm.org/D39050</a></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class=""><a href="https://reviews.llvm.org/D40992" class="">https://reviews.llvm.org/D40992</a></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class=""><a href="https://reviews.llvm.org/D41407" class="">https://reviews.llvm.org/D41407</a></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue"; min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class="">Repository with current implementation:</div><div style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: "Helvetica Neue";" class=""><a href="https://github.com/apple/swift-clang" class="">https://github.com/apple/swift-clang</a></div></body></html>