<div dir="ltr">Breaks on windows. <div><pre style="font-family:"courier new",courier,monotype,monospace;color:rgb(0,0,0);font-size:medium"><span class="gmail-stdout">In file included from C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\yvals.h:7:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xkeycheck.h(250,5):  error: The C++ Standard Library forbids macroizing keywords. Enable warning C4005 to find the forbidden macro.
   #error The C++ Standard Library forbids macroizing keywords. Enable warning C4005 to find the forbidden macro.
    ^</span></pre><pre><span class="gmail-stdout"><font color="#000000" face="courier new, courier, monotype, monospace" size="3"><a href="http://lab.llvm.org:8011/builders/sanitizer-windows/builds/10026/steps/build%20LLVMFuzzer/logs/stdio">http://lab.llvm.org:8011/builders/sanitizer-windows/builds/10026/steps/build%20LLVMFuzzer/logs/stdio</a><br></font></span></pre><br>Why did the cmake check on windows decide to use the -D hack? <pre><span class="gmail-stdout"><font color="#000000" face="courier new, courier, monotype, monospace" size="3"><br></font></span></pre><pre><span class="gmail-stdout"><font color="#000000" face="courier new, courier, monotype, monospace" size="3"><br></font></span></pre></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 21, 2017 at 10:39 AM, Kuba Mracek via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-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">Author: kuba.brecka<br>
Date: Fri Apr 21 12:39:50 2017<br>
New Revision: 301007<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=301007&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=301007&view=rev</a><br>
Log:<br>
[libFuzzer] Changing thread_local to __thread in libFuzzer<br>
<br>
Old Apple compilers do not support thread_local keyword. This patch adds -Dthread_local=__thread when the compiler doesn't support thread_local.<br>
<br>
Differential Revision: <a href="https://reviews.llvm.org/D32312" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D32312</a><br>
<br>
<br>
Modified:<br>
    llvm/trunk/lib/Fuzzer/<wbr>CMakeLists.txt<br>
<br>
Modified: llvm/trunk/lib/Fuzzer/<wbr>CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/CMakeLists.txt?rev=301007&r1=301006&r2=301007&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Fuzzer/<wbr>CMakeLists.txt?rev=301007&r1=<wbr>301006&r2=301007&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/lib/Fuzzer/<wbr>CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Fuzzer/<wbr>CMakeLists.txt Fri Apr 21 12:39:50 2017<br>
@@ -1,3 +1,16 @@<br>
+include(<wbr>CheckCXXSourceCompiles)<br>
+<br>
+CHECK_CXX_SOURCE_COMPILES("<br>
+    static thread_local int blah;<br>
+    int main() {<br>
+      return 0;<br>
+    }<br>
+    " HAS_THREAD_LOCAL)<br>
+<br>
+if( NOT HAS_THREAD_LOCAL )<br>
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dthread_local=__thread")<br>
+endif()<br>
+<br>
 set(LIBFUZZER_FLAGS_BASE "${CMAKE_CXX_FLAGS}")<br>
 # Disable the coverage and sanitizer instrumentation for the fuzzer itself.<br>
 set(CMAKE_CXX_FLAGS "${LIBFUZZER_FLAGS_BASE} -fno-sanitize-coverage=trace-<wbr>pc-guard,edge,trace-cmp,<wbr>indirect-calls,8bit-counters -Werror")<br>
<br>
<br>
______________________________<wbr>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>