<div dir="ltr">Hi Ben,<div><br></div><div>This change doesn't work when doing out-of-tree builds since `PTHREAD_LIB` is defined by LLVM's `config-ix.cmake` and</div><div>therefore isn't defined during out-of-tree builds. It looks like the pthread configuration needs to be lifted out of LLVM's</div><div>`config-ix.cmake` and placed somewhere the installed `AddLLVM.cmake` can see it.</div><div><br></div><div>I don't think it's critical to fix this for the 4.0 release, but it should get fixed.</div><div><br></div><div>@Ben do you see a better way to fix this?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 23, 2017 at 3:17 PM, Hans Wennborg via cfe-commits <span dir="ltr"><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@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">I've merged this to the release branch in r292834.<br>
<br>
Thanks,<br>
Hans<br>
<div class="HOEnZb"><div class="h5"><br>
On Fri, Jan 13, 2017 at 2:14 AM, Benjamin Kramer via cfe-commits<br>
<<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:<br>
> Author: d0k<br>
> Date: Fri Jan 13 04:14:07 2017<br>
> New Revision: 291892<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=291892&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=291892&view=rev</a><br>
> Log:<br>
> Fix the build of the include-fixer plugin for some shared cmake builds and MSVC.<br>
><br>
> - The include fixer plugin does not directly depend on pthread, but can<br>
> pick up pthread references transitively through inlining. Just add<br>
> pthreads to the linked libs unconditionally.<br>
> - MSVC emits bogus warnings when including <future> and building without<br>
> exceptions. Blacklist the warnings explicitly.<br>
><br>
> Modified:<br>
> clang-tools-extra/trunk/<wbr>include-fixer/<wbr>SymbolIndexManager.h<br>
> clang-tools-extra/trunk/<wbr>include-fixer/plugin/<wbr>CMakeLists.txt<br>
><br>
> Modified: clang-tools-extra/trunk/<wbr>include-fixer/<wbr>SymbolIndexManager.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/include-fixer/SymbolIndexManager.h?rev=291892&r1=291891&r2=291892&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/clang-tools-extra/<wbr>trunk/include-fixer/<wbr>SymbolIndexManager.h?rev=<wbr>291892&r1=291891&r2=291892&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- clang-tools-extra/trunk/<wbr>include-fixer/<wbr>SymbolIndexManager.h (original)<br>
> +++ clang-tools-extra/trunk/<wbr>include-fixer/<wbr>SymbolIndexManager.h Fri Jan 13 04:14:07 2017<br>
> @@ -13,8 +13,19 @@<br>
> #include "SymbolIndex.h"<br>
> #include "find-all-symbols/SymbolInfo.<wbr>h"<br>
> #include "llvm/ADT/StringRef.h"<br>
> +<br>
> +#ifdef _MSC_VER<br>
> +// Disable warnings from ppltasks.h transitively included by <future>.<br>
> +#pragma warning(push)<br>
> +#pragma warning(disable:4530)<br>
> +#endif<br>
> +<br>
> #include <future><br>
><br>
> +#ifdef _MSC_VER<br>
> +#pragma warning(pop)<br>
> +#endif<br>
> +<br>
> namespace clang {<br>
> namespace include_fixer {<br>
><br>
><br>
> Modified: clang-tools-extra/trunk/<wbr>include-fixer/plugin/<wbr>CMakeLists.txt<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/include-fixer/plugin/CMakeLists.txt?rev=291892&r1=291891&r2=291892&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/clang-tools-extra/<wbr>trunk/include-fixer/plugin/<wbr>CMakeLists.txt?rev=291892&r1=<wbr>291891&r2=291892&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- clang-tools-extra/trunk/<wbr>include-fixer/plugin/<wbr>CMakeLists.txt (original)<br>
> +++ clang-tools-extra/trunk/<wbr>include-fixer/plugin/<wbr>CMakeLists.txt Fri Jan 13 04:14:07 2017<br>
> @@ -9,4 +9,5 @@ add_clang_library(<wbr>clangIncludeFixerPlugi<br>
> clangParse<br>
> clangSema<br>
> clangTooling<br>
> + ${PTHREAD_LIB}<br>
> )<br>
><br>
><br>
> ______________________________<wbr>_________________<br>
> cfe-commits mailing list<br>
> <a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-commits</a><br>
______________________________<wbr>_________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-commits</a><br>
</div></div></blockquote></div><br></div>