<div dir="ltr"><div><span class="im"><span style="font-size:12.8000001907349px">Okay, just had a more constructive conversation with someone else on the Perl mailing list, copied below.</span><br></span></div><span class="im" style="font-size:12.8000001907349px"><div><span class="im" style="font-size:12.8000001907349px"><br></span></div>On Sun, Jul 26, 2015 at 2:15 AM, <span dir="ltr"><<a href="mailto:sisyphus1@optusnet.com.au" target="_blank">sisyphus1@optusnet.com.au</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">AIUI, you're requesting that, in order to work around a clang-cl bug, the following code in win32/win32.h:<br><br>extern const __declspec(selectany) <span class="il">union</span> { unsigned __int64 __q; double __d; }<br>__PL_nan_u = { 0x7FF8000000000000UI64 };<br><br>be rewritten as:<br><br><span class="il">union</span> <span class="il">U</span> { unsigned __int64 __q; double __d; };<br>extern const __declspec(selectany) <span class="il">U</span> __PL_nan_u = { 0x7FF8000000000000UI64 };<br></blockquote><div><br></div></span><div style="font-size:12.8000001907349px">Yes. (With the caveat that presumably the Clang and Microsoft C++ teams would disagree with each other on which compiler the bug would be more accurately said to be in - but without taking a position either way on that, yes, that is what I'm asking.) </div><span class="im" style="font-size:12.8000001907349px"><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">With that change in place, does clang-cl then successfully build perl ?<br>Or do additional issues then arise ?<br></blockquote><div><br></div></span><div style="font-size:12.8000001907349px">It gets past that file and goes on for a while more before hitting: </div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px"><div>..\perlio.c(3206,8) :  error: no member named '_file' in 'struct _iobuf'</div><div>    f->_file = -1;</div><div>    ~  ^</div><div>..\perlio.c(3394,28) :  error: no member named '_ptr' in 'struct _iobuf'</div><div>        STDCHAR *eptr = (STDCHAR*)PerlSIO_get_ptr(s);</div><div>                                  ^~~~~~~~~~~~~~~~~~</div></div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">However, that's not clang specific, it's because Microsoft did some kind of rearranging of the header files in Visual C++ 2015; clang is using the Microsoft system header files so both compilers now hit an identical error there. So all I can say is I know of no more clang-specific issues in building perl.<br></div><div style="font-size:12.8000001907349px"><br></div><blockquote class="gmail_quote" style="font-size:12.8000001907349px;margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">If no-one here puts up their hand to implement that change (or provides good reason that it ought not be implemented) you should send a bug report to <a href="mailto:perlbug@perl.org" target="_blank">perlbug@perl.org</a>.<span class="im"><br>Otherwise your request will perhaps "fall through the cracks".<br></span></blockquote><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">Okay, done.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 24, 2015 at 10:06 PM, Nico Weber <span dir="ltr"><<a href="mailto:thakis@chromium.org" target="_blank">thakis@chromium.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="">On Fri, Jul 24, 2015 at 12:05 PM, Nico Weber <span dir="ltr"><<a href="mailto:thakis@chromium.org" target="_blank">thakis@chromium.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span>On Thu, Jul 16, 2015 at 8:08 AM, Nico Weber <span dir="ltr"><<a href="mailto:thakis@chromium.org" target="_blank">thakis@chromium.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span>On Wed, Jul 15, 2015 at 10:45 AM, Russell Wallace <span dir="ltr"><<a href="mailto:russell.wallace@gmail.com" target="_blank">russell.wallace@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>Basic test results on Windows 7, visual studio 2013 (64 bit):</div><div><br></div><div>Build clang with visual studio - okay</div><div><br></div><div>Build clang with itself - okay</div><div><br></div><div>Build Python - okay</div><div><br></div><div>Build Ruby - fails on conftest.c, but 3.6 also failed so this is not a regression bug</div><div><br></div><div>Build Perl - fails. 3.6 also failed, but I think the error message was different, so this could be a regression bug but hopefully it's actually an improvement. Current error message:</div><div><br></div><div>        cl -c -I. -nologo -GF -W3 -I..\lib\CORE -I.\include -I. -I.. -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DPERLDLL -DPERL_CORE</div><div>  -O1 -MD -Zi -DNDEBUG -GL -fp:precise  -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -TP -EHsc -Foperllib.obj perllib.c</div><div>clang-cl.exe: warning: argument unused during compilation: '-GL'</div><div>In file included from perllib.c:10:</div><div>In file included from ..\lib\CORE\perl.h:3060:</div><div>In file included from .\win32thread.h:4:</div><div>./win32.h(284,25) :  error: 'selectany' can only be applied to data items with external linkage</div></div></blockquote><div><br></div></span><div>That line is:</div><div><div>extern const __declspec(selectany) union { unsigned __int64 __q; double __d; } __PL_nan_u = { 0x7FF8000000000000UI64 };</div></div><div><br></div><div>If it's written like so, clang-cl accepts it:</div><div><div>union U { unsigned __int64 __q; double __d; };</div><div>extern const __declspec(selectany) U __PL_nan_u = { 0x7FF8000000000000UI64 };</div></div><div><br></div><div>I guess cl.exe applies the declspec to __PL_nan_u while we try to apply it to the type? (Even though it's written before "union", so according to <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__msdn.microsoft.com_en-2Dus_library_dabb5z75.aspx&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=DDUMf06MYELAe1Nlv7KChiwJLLHbYha4jtK_AOiWqwQ&m=dxNVDP0Y8E0glOkUhBQn-e9ma6hHAU5n2Z_IMxU609I&s=oZ9fBXUixUn0Ty8lRN0Fd-JqoPvauxYBCePoPeJAWzE&e=" target="_blank">https://msdn.microsoft.com/en-us/library/dabb5z75.aspx</a> it should apply to the variable.) Is there a bug filed for this?</div></div></div></div></blockquote><div><br></div></span><div>(Filed <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__llvm.org_bugs_show-5Fbug.cgi-3Fid-3D24251&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=DDUMf06MYELAe1Nlv7KChiwJLLHbYha4jtK_AOiWqwQ&m=dxNVDP0Y8E0glOkUhBQn-e9ma6hHAU5n2Z_IMxU609I&s=S1rw9ERvs1nuSfVY7y4vZlR7rioXOjRvSf_99fNhSAI&e=" target="_blank">https://llvm.org/bugs/show_bug.cgi?id=24251</a>)</div></div></div></div></blockquote><div><br></div></span><div>After some discussion on that bug, we think it'd be better if perl could change that header, given that it's pretty new code (see the bug above for details). Russel, could you try to reach out to upstream perl?</div><div><div class="h5"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span><div dir="ltr"><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><span>On Wed, Jul 15, 2015 at 1:25 AM, Hans Wennborg <span dir="ltr"><<a href="mailto:hans@chromium.org" target="_blank">hans@chromium.org</a>></span> wrote:<br></span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span>Hi all,<br>
<br>
The 3.7 release branch was created from trunk at r242221 today (around<br>
10:40 pm UTC).<br>
<br>
Branch policy:<br>
<br>
- Any doc changes can go in. Updates to the release notes are highly<br>
encouraged, and should be committed directly to the branch.<br>
<br>
- All other patches should be approved by the release manager (me) and<br>
the appropriate code owner. To get a change merged, commit it to<br>
trunk, and then reply to the commit email with myself and the code<br>
owner cc'd, asking for approval.<br>
<br>
- Fixes to complete existing features may be merged. However, the<br>
features must be completed before Phase II of testing starts,<br>
otherwise they should be disabled. If you recently committed something<br>
experimental to trunk, please make sure it's disabled on the branch.<br>
<br>
- For any bug fixes that you think might apply to the release branch,<br>
please cc me on the commit message.<br>
<br>
Cheers,<br>
Hans<br>
_______________________________________________<br></span><span>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" rel="noreferrer" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</span></blockquote></div><br></div>
<br></span>_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@cs.uiuc.edu" target="_blank">lldb-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><br>
<br></blockquote></div><br></div></div>
</blockquote></div></div></div><br></div></div>
</blockquote></div></div></div><br></div></div>
</blockquote></div><br></div>