<div dir="ltr">The gcc version of xmmintrin.h is not compatible with clang. Clang has its own version. Maybe you need to explicitly add the clang include directory to your command line?</div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature">~Craig</div></div>
<br><div class="gmail_quote">On Thu, Jan 25, 2018 at 4:25 AM, Daniel Evers via cfe-dev <span dir="ltr"><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-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">





<div lang="DE" link="#0563C1" vlink="#954F72">
<div class="m_-8987193965151629324WordSection1">
<p class="MsoNormal">Hey!<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span lang="EN-US">I have a project which is compiled with GCC (7) and Clang (5.0)</span><span lang="EN-US" style="color:black">. The clang built uses the GCC tool chain, like this (Red Hat 7 with devtoolset-7):<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New";color:black">     clang++ -gcc-toolchain /opt/rh/devtoolset-7/root/usr […]<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">The code compiles and runs fine, but running clang-tidy (using the same compiler flags) chokes on the SSE built-ins in GCC’s headers:<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US" style="font-family:"Courier New"">/opt/rh/devtoolset-7/root/usr/<wbr>lib/gcc/x86_64-redhat-linux/7/<wbr>include/xmmintrin.h:54:3: error: argument to '__builtin_prefetch' must be a constant integer [clang-diagnostic-error]<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US" style="font-family:"Courier New"">  __builtin_prefetch (__P, (__I & 0x4) >> 2, __I & 0x3);<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US" style="font-family:"Courier New"">  ^<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US" style="font-family:"Courier New"">/opt/rh/devtoolset-7/root/usr/<wbr>lib/gcc/x86_64-redhat-linux/7/<wbr>include/xmmintrin.h:130:19: error: use of undeclared identifier '__builtin_ia32_addss' [clang-diagnostic-error]<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US" style="font-family:"Courier New"">  return (__m128) __builtin_ia32_addss ((__v4sf)__A, (__v4sf)__B);<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US" style="font-family:"Courier New"">                  ^<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US" style="font-family:"Courier New"">/opt/rh/devtoolset-7/root/usr/<wbr>lib/gcc/x86_64-redhat-linux/7/<wbr>include/xmmintrin.h:136:19: error: use of undeclared identifier '__builtin_ia32_subss' [clang-diagnostic-error]<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US" style="font-family:"Courier New"">  return (__m128) __builtin_ia32_subss ((__v4sf)__A, (__v4sf)__B);<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">[more errors following…]<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">This happens as soon as I include </span>
<span lang="EN-US" style="font-family:"Courier New""><xmmintrin.h></span><span lang="EN-US"> (e.g. indirectly via Boost.UUID).<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I’m wondering that the clang compiler accepts the code, while clang-tidy doesn’t.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Any ideas how to fix this? My current workaround is to disable SSE-support in Boost.UUID via macro for clang-tidy, but the problem will re-appear as soon as some other lib tries to use SSE instructions.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Cheers,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Daniel Evers<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
<br>
<hr>
<font face="Arial" color="Gray" size="1"><br>
Utimaco TS GmbH<br>
Germanusstr. 4, D.52080 Aachen, Germany, Tel: <a href="tel:+49%20241%2016960" value="+4924116960" target="_blank">+49-241-1696-0</a>, <a href="http://www.utimaco.com" target="_blank">www.utimaco.com</a><br>
Seat: Aachen – Registergericht Aachen HRB 18923<br>
VAT ID No.: DE 815 496 507<br>
Managementboard: Malte Pollmann (Chairman) CEO, Dr. Frank J. Nellissen CFO<br>
<br>
This communication is confidential. We only send and receive email on the basis of the terms set out at <a href="https://www.utimaco.com/en/e-mail-disclaimer/" target="_blank">https://www.utimaco.com/en/e-<wbr>mail-disclaimer/</a>
<br>
</font>
</div>

<br>______________________________<wbr>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div>