Hello Alexey Serbin, Kudu Jenkins, Andrew Wong, Grant Henke, Bankim Bhavsar,
I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/15492 to look at the new patch set (#7). Change subject: iwyu: standardize on libc++ ...................................................................... iwyu: standardize on libc++ A common IWYU pain point is that the set of recommendations you get for C++ standard library headers differs depending on the system you run on. Pre-commit currently uses Ubuntu 14.10, so to guarantee a pass in pre-commit one must run IWYU on an Ubuntu 14.10 VM. Instead, let's standardize on libc++ for C++ standard library headers. Even though Kudu itself is built against the system's libstdc++, the standard library classes we use should be available in the same "public" headers regardless of implementation. And this way, all runs of IWYU will produce the same recommendations. A more comprehensive solution would be to standardize _all_ of Kudu on clang and libc++. That's a larger piece of work with its own issues (e.g. is it safe to statically link libc++ into the C++ client library?). This patch also introduces mappings for libc++. Some are from the IWYU repo while others are new for Kudu. I also included a patch to fix a bug in IWYU dealing with false <new> recommendations when processing a codebase using -fsized-deallocation. Finally, I removed almost all of the "muted" files from iwyu.py; the few remaining instances trip up IWYU without recourse. Note: strictly speaking we don't need to _build_ libc++, but it's a quick build and this is the easiest way to get the appropriate set of headers into thirdparty/installed/<prefix>/include. Change-Id: Ic807745271642b3d5d80ea0ad9bc413bdb0e34b5 --- M build-support/iwyu.py M build-support/iwyu/iwyu_tool.py A build-support/iwyu/mappings/libcxx-extra.imp A build-support/iwyu/mappings/libcxx.imp M thirdparty/build-definitions.sh M thirdparty/build-thirdparty.sh M thirdparty/download-thirdparty.sh A thirdparty/patches/llvm-iwyu-sized-deallocation.patch 8 files changed, 283 insertions(+), 45 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/92/15492/7 -- To view, visit http://gerrit.cloudera.org:8080/15492 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ic807745271642b3d5d80ea0ad9bc413bdb0e34b5 Gerrit-Change-Number: 15492 Gerrit-PatchSet: 7 Gerrit-Owner: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: Bankim Bhavsar <ban...@cloudera.com> Gerrit-Reviewer: Grant Henke <granthe...@apache.org> Gerrit-Reviewer: Kudu Jenkins (120)