<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.Code, li.Code, div.Code
        {mso-style-name:Code;
        mso-style-link:"Code Char";
        margin:0in;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        font-size:9.0pt;
        font-family:"Courier New";}
p.CodeCxSpFirst, li.CodeCxSpFirst, div.CodeCxSpFirst
        {mso-style-name:CodeCxSpFirst;
        mso-style-link:"Code Char";
        mso-style-type:export-only;
        margin:0in;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        font-size:9.0pt;
        font-family:"Courier New";}
p.CodeCxSpMiddle, li.CodeCxSpMiddle, div.CodeCxSpMiddle
        {mso-style-name:CodeCxSpMiddle;
        mso-style-link:"Code Char";
        mso-style-type:export-only;
        margin:0in;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        font-size:9.0pt;
        font-family:"Courier New";}
p.CodeCxSpLast, li.CodeCxSpLast, div.CodeCxSpLast
        {mso-style-name:CodeCxSpLast;
        mso-style-link:"Code Char";
        mso-style-type:export-only;
        margin:0in;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        font-size:9.0pt;
        font-family:"Courier New";}
span.CodeChar
        {mso-style-name:"Code Char";
        mso-style-link:Code;
        font-family:"Courier New";}
span.EmailStyle19
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:14.0pt">Hi Everyone, <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt">Anyone knows if this is a known bug that has been fixed?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt">Crash occurs with my clang 7.1.0 build but not with the trunk builds at (wandbox, godbolt):<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt">Test case:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt"><o:p> </o:p></span></p>
<pre><b><span style="color:#3A81C3">#include <nmmintrin.h><o:p></o:p></span></b></pre>
<pre><b><span style="color:#3A81C3"><o:p> </o:p></span></b></pre>
<pre><b><span style="color:#3A81C3">class</span></b> <b><span style="color:#BA2F59">Foo</span></b> <span style="color:#3A81C3">{</span><o:p></o:p></pre>
<pre>   <b><span style="color:#3A81C3">__attribute__</span></b><span style="color:#6C3163">(</span><span style="color:#2D9574">(</span>target<span style="color:#67B11D">(</span><span style="color:#2D9574">"default"</span><span style="color:#67B11D">)</span><span style="color:#2D9574">)</span><span style="color:#6C3163">)</span> <b><span style="color:#BA2F59">void</span></b> <b><span style="color:#6C3163">lexString</span></b><span style="color:#6C3163">()</span> <span style="color:#6C3163">{</span> <span style="color:#6C3163">}</span><o:p></o:p></pre>
<pre> <o:p></o:p></pre>
<pre>   <b><span style="color:#3A81C3">__attribute__</span></b><span style="color:#6C3163">(</span><span style="color:#2D9574">(</span>target<span style="color:#67B11D">(</span><span style="color:#2D9574">"sse4.2"</span><span style="color:#67B11D">)</span><span style="color:#2D9574">)</span><span style="color:#6C3163">)</span> <b><span style="color:#BA2F59">void</span></b> <b><span style="color:#6C3163">lexString</span></b><span style="color:#6C3163">()</span> <span style="color:#6C3163">{</span><o:p></o:p></pre>
<pre>      <b><span style="color:#3A81C3">static const</span></b> <b><span style="color:#BA2F59">char</span></b> <span style="color:#715AB1">whitespaces</span><span style="color:#2D9574">[</span><span style="color:#4E3163">16</span><span style="color:#2D9574">]</span> = <span style="color:#2D9574">" \t\r\n"</span>;<o:p></o:p></pre>
<pre>      <b><span style="color:#3A81C3">const</span></b> __m128i w = _mm_loadu_si128<span style="color:#2D9574">(</span><span style="color:#67B11D">(</span>__m128i *<span style="color:#67B11D">)</span>whitespaces<span style="color:#2D9574">)</span>;<o:p></o:p></pre>
<pre>   <span style="color:#6C3163">}</span><o:p></o:p></pre>
<pre><span style="color:#3A81C3">}</span>;<o:p></o:p></pre>
<p class="MsoNormal"><span style="font-size:14.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt">Stack trace:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#0  0x00002aaaabedd495 in raise () from /lib64/libc.so.6<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#1  0x00002aaaabedec75 in abort () from /lib64/libc.so.6<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#2  0x00002aaaac25093d in uw_update_context_1 (context=context@entry=0x3bcb6d0, fs=fs@entry=0x3bcb7c0)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">    at ../../../src/gcc-6.2.0/libgcc/unwind-dw2.c:1426<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#3  0x00002aaaac250c91 in uw_update_context (context=context@entry=0x3bcb6d0, fs=fs@entry=0x3bcb7c0)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">    at ../../../src/gcc-6.2.0/libgcc/unwind-dw2.c:1502<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#4  0x00002aaaac2513ed in _Unwind_Backtrace (trace=0x2aaaabfa9a30 <backtrace_helper>, trace_argument=0x3bcb980)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">    at ../../../src/gcc-6.2.0/libgcc/unwind.inc:303<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#5  0x00002aaaabfa9bc6 in backtrace () from /lib64/libc.so.6<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#6  0x0000000001271b0d in PrintStackTraceSignalHandler(void*) ()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#7  0x000000000126fa3e in llvm::sys::RunSignalHandlers() ()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#8  0x0000000001271c82 in SignalHandler(int) ()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#9  <signal handler called><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#10 0x0000000000eb4850 in llvm::Value::getName() const ()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#11 0x000000000147c3f0 in clang::CodeGen::CodeGenModule::emitMultiVersionFunctions() ()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#12 0x000000000147b789 in clang::CodeGen::CodeGenModule::Release() ()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#13 0x0000000001b165e4 in (anonymous namespace)::CodeGeneratorImpl::HandleTranslationUnit(clang::ASTContext&) ()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#14 0x0000000001b13c58 in clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) ()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#15 0x0000000002288cf5 in clang::ParseAST(clang::Sema&, bool, bool) ()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#16 0x000000000181d48c in clang::FrontendAction::Execute() ()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#17 0x00000000017cbc58 in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) ()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#18 0x00000000018adbc9 in clang::ExecuteCompilerInvocation(clang::CompilerInstance*) ()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#19 0x00000000007b9ae7 in cc1_main(llvm::ArrayRef<char const*>, char const*, void*) ()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt">#20 0x00000000007b7c67 in main ()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt">The crash goes away if </span>
<b><span style="font-size:10.0pt;font-family:Consolas">static const</span></b><span style="font-size:10.0pt;font-family:Consolas">
<b>char</b> whitespaces[16]</span><span style="font-size:14.0pt"> is changed to </span>
<b><span style="font-size:10.0pt;font-family:Consolas">const</span></b><span style="font-size:10.0pt;font-family:Consolas">
<b>char</b> whitespaces[16] </span><span style="font-size:14.0pt">by removing the
</span><b><span style="font-size:10.0pt;font-family:Consolas">static</span></b><b><span style="font-size:10.0pt">
</span></b><span style="font-size:14.0pt">keyword.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt">/Riyaz<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt"><o:p> </o:p></span></p>
</div>
</body>
</html>