<div dir="rtl"><div dir="ltr">Hi Rafael,</div><div dir="ltr"><br></div><div dir="ltr">clang can't compile libcxx/src/valarray.cpp after applying the patch (error message below).</div><div dir="ltr">Without the patch it compiles OK. I checked and verified with and without.</div>

<div dir="ltr"><br></div><div dir="ltr">Yaron</div><div dir="ltr"><br></div><div dir="ltr"><font face="courier new, monospace">In file included from ../src/valarray.cpp:12:<br></font></div><div dir="ltr"><div dir="ltr"><font face="courier new, monospace">/my/ceemple/libcxx/include\valarray:1009:60: error: explicit instantiation of</font></div>

<div dir="ltr"><font face="courier new, monospace">      'valarray' does not refer to a function template, variable template,</font></div><div dir="ltr"><font face="courier new, monospace">      member function, member class, or static data member</font></div>

<div dir="ltr"><font face="courier new, monospace">_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS valarray<size_t>::valarray(size_t))</font></div><div dir="ltr"><font face="courier new, monospace">                                                           ^</font></div>

<div dir="ltr"><font face="courier new, monospace">../src/valarray.cpp:10:54: note: expanded from macro '_LIBCPP_EXTERN_TEMPLATE'</font></div><div dir="ltr"><font face="courier new, monospace"><br></font></div><div dir="ltr">

<font face="courier new, monospace">#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;</font></div><div dir="ltr"><font face="courier new, monospace">                                                     ^</font></div>

<div dir="ltr"><font face="courier new, monospace">In file included from ../src/valarray.cpp:12:</font></div><div dir="ltr"><font face="courier new, monospace">/my/ceemple/libcxx/include\valarray:1010:60: error: explicit instantiation of</font></div>

<div dir="ltr"><font face="courier new, monospace">      '~valarray' does not refer to a function template, variable template,</font></div><div dir="ltr"><font face="courier new, monospace">      member function, member class, or static data member</font></div>

<div dir="ltr"><font face="courier new, monospace">_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS valarray<size_t>::~valarray())</font></div><div dir="ltr"><font face="courier new, monospace">                                                           ^</font></div>

<div dir="ltr"><font face="courier new, monospace">../src/valarray.cpp:10:54: note: expanded from macro '_LIBCPP_EXTERN_TEMPLATE'</font></div><div dir="ltr"><font face="courier new, monospace"><br></font></div><div dir="ltr">

<font face="courier new, monospace">#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;</font></div><div dir="ltr"><font face="courier new, monospace">                                                     ^</font></div>

<div dir="ltr"><font face="courier new, monospace">In file included from ../src/valarray.cpp:12:</font></div><div dir="ltr"><font face="courier new, monospace">/my/ceemple/libcxx/include\valarray:1011:65: error: explicit instantiation of</font></div>

<div dir="ltr"><font face="courier new, monospace">      'resize' does not refer to a function template, variable template,</font></div><div dir="ltr"><font face="courier new, monospace">      member function, member class, or static data member</font></div>

<div dir="ltr"><font face="courier new, monospace">_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void valarray<size_t>::resize...</font></div><div dir="ltr"><font face="courier new, monospace">                                                                ^</font></div>

<div dir="ltr"><font face="courier new, monospace">../src/valarray.cpp:10:54: note: expanded from macro '_LIBCPP_EXTERN_TEMPLATE'</font></div><div dir="ltr"><font face="courier new, monospace"><br></font></div><div dir="ltr">

<font face="courier new, monospace">#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;</font></div><div dir="ltr"><font face="courier new, monospace">                                                     ^</font></div>

<div dir="ltr"><font face="courier new, monospace">../src/valarray.cpp:16:28: error: explicit instantiation of 'valarray' does</font></div><div dir="ltr"><font face="courier new, monospace">      not refer to a function template, variable template, member function,</font></div>

<div dir="ltr"><font face="courier new, monospace">      member class, or static data member</font></div><div dir="ltr"><font face="courier new, monospace">template valarray<size_t>::valarray(size_t);</font></div><div dir="ltr">

<font face="courier new, monospace">                           ^</font></div><div dir="ltr"><font face="courier new, monospace">../src/valarray.cpp:17:28: error: explicit instantiation of '~valarray' does</font></div>

<div dir="ltr"><font face="courier new, monospace">      not refer to a function template, variable template, member function,</font></div><div dir="ltr"><font face="courier new, monospace">      member class, or static data member</font></div>

</div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div dir="ltr">2013/11/20 Rafael Espíndola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span></div>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 19 November 2013 19:39, NAKAMURA Takumi <<a href="mailto:geek4civic@gmail.com">geek4civic@gmail.com</a>> wrote:<br>


> Rafael,<br>
><br>
> Oh yeah, ... It seems C++ ABI diverged between Cygwin and Mingw since 4.7...<br>
> (FYI, also cygwin64 is different from x86_64-mingw32 in some point...)<br>
<br>
</div>Good catch. I confirmed this with a native gcc 4.8 on cywin. The<br>
updated patch change the abi only for mingw and adds a cygwin test.<br>
<br>
Cheers,<br>
Rafael<br>
<br>_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
<br></blockquote></div><br></div>