<div dir="ltr"><div><div><div>Hi,<br><br>FYI, from the backtrace, it seems that this is related to:<br><a href="http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20140707/109506.html">http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20140707/109506.html</a><br>
<br></div>It seems that the types after the packed parameters are not canonicalized in some cases.<br></div>I am working on this (my patch is incorrect at the moment), but haven't got a correct solution yet.<br><br>Sincerely,<br>
</div>Logan<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 17, 2014 at 10:34 PM, Alp Toker <span dir="ltr"><<a href="mailto:alp@nuanti.com" target="_blank">alp@nuanti.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=""><br>
On 17/07/2014 16:29, İsmail Dönmez wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
Just tried trunk and its still broken wrt. __is_constructible<br>
</blockquote>
<br></div>
The reduced test case doesn't include uses of __is_constructable or any other type trait primitive.<br>
<br>
I can confirm though that it does crash somewhere in parameter pack handling, which is used to pass types to the built-in:<br>
<br>
<br>
Assertion failed: (Replacement.isCanonical() && "replacement types must always be canonical"), function getSubstTemplateTypeParmType, file /Users/alp/Projects/llvm-work/<u></u>upstream/clang/lib/AST/<u></u>ASTContext.cpp, line 3040.<br>

6  libclangAST.dylib          0x000000010ee7d210 clang::ASTContext::<u></u>getSubstTemplateTypeParmPackTy<u></u>pe(clang::TemplateTypeParmType const*, clang::TemplateArgument const&) + 0<br>
7  libclangSema.dylib         0x000000010e9b1dab clang::TreeTransform<(<u></u>anonymous namespace)::<u></u>TemplateInstantiator>::<u></u>TransformType(clang::<u></u>TypeLocBuilder&, clang::TypeLoc) + 6595<br>
8  libclangSema.dylib         0x000000010e9b0144 clang::TreeTransform<(<u></u>anonymous namespace)::<u></u>TemplateInstantiator>::<u></u>TransformType(clang::<u></u>TypeSourceInfo*) + 200<br>
9  libclangSema.dylib         0x000000010e9bc053 clang::TreeTransform<(<u></u>anonymous namespace)::<u></u>TemplateInstantiator>::<u></u>TransformTemplateArgument(<u></u>clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&) + 119<br>

<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
ismail<div class=""><br>
<br>
<br>
<br>
On Tue, Apr 29, 2014 at 3:51 PM, İsmail Dönmez <<a href="mailto:ismail@donmez.ws" target="_blank">ismail@donmez.ws</a> <mailto:<a href="mailto:ismail@donmez.ws" target="_blank">ismail@donmez.ws</a>>> wrote:<br>

<br>
    Hi,<br>
<br>
    Attached is a testcase with unrelated errors in it. I am still<br>
    trying to reduce a non-error version but if this one works cool.<br>
<br>
    Get latest libcxx and compile with clang++ -std=c++11 -c testcase.ii<br>
<br>
<br>
<br>
    On Fri, Apr 25, 2014 at 9:49 PM, Richard Smith <<a href="mailto:metafoo@gmail.com" target="_blank">metafoo@gmail.com</a><br></div><div class="">
    <mailto:<a href="mailto:metafoo@gmail.com" target="_blank">metafoo@gmail.com</a>>> wrote:<br>
<br>
        Any chance you could produce a reduced testcase and file a bug<br>
        against Clang? =)<br>
<br>
<br>
        On Fri Apr 25 2014 at 11:37:56 AM, İsmail Dönmez<br></div><div class="">
        <<a href="mailto:ismail@donmez.ws" target="_blank">ismail@donmez.ws</a> <mailto:<a href="mailto:ismail@donmez.ws" target="_blank">ismail@donmez.ws</a>>> wrote:<br>
<br>
            Hi,<br>
<br>
<br>
            On Fri, Apr 25, 2014 at 6:09 PM, Marshall Clow<br></div><div class="">
            <<a href="mailto:mclow.lists@gmail.com" target="_blank">mclow.lists@gmail.com</a> <mailto:<a href="mailto:mclow.lists@gmail.com" target="_blank">mclow.lists@gmail.com</a>><u></u>> wrote:<br>
<br>
<br>
                On Apr 24, 2014, at 2:44 AM, İsmail Dönmez<br></div>
                <<a href="mailto:ismail@donmez.ws" target="_blank">ismail@donmez.ws</a> <mailto:<a href="mailto:ismail@donmez.ws" target="_blank">ismail@donmez.ws</a>>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">
                Hi,<br>
<br>
<br>
                On Tue, Apr 22, 2014 at 1:30 AM, Marshall Clow<br>
                <<a href="mailto:mclow.lists@gmail.com" target="_blank">mclow.lists@gmail.com</a><br></div><div><div class="h5">
                <mailto:<a href="mailto:mclow.lists@gmail.com" target="_blank">mclow.lists@gmail.com</a>><u></u>> wrote:<br>
<br>
                    Author: marshall<br>
                    Date: Mon Apr 21 17:30:32 2014<br>
                    New Revision: 206805<br>
<br>
                    URL:<br>
                    <a href="http://llvm.org/viewvc/llvm-project?rev=206805&view=rev" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project?rev=206805&view=rev</a><br>
                    Log:<br>
                    Use compiler intrinsic __is_constructible if<br>
                    available<br>
<br>
                    Modified:<br>
                    libcxx/trunk/include/type_<u></u>traits<br>
<br>
<br>
                This breaks the llvm compilation (in stage2 hence<br>
                clang is the compiler here) for me on Linux/x86-64:<br>
</div></div></blockquote><div><div class="h5">
<br>
                Sorry; was in meetings all day yesterday.<br>
                Looks like a bug in the __is_constructible code in clang.<br>
<br>
                As a workaround (and a check to make sure that’s what<br>
                it is), would you please change (in type_traits)<br>
<br>
                #if __has_feature(is_<u></u>constructible)<br>
                to<br>
                #if 0<br>
<br>
                and let me know if that fixes the crash?<br>
<br>
<br>
            This indeed fixes the crash.<br>
<br>
            Regards.<br>
<br>
<br>
            ______________________________<u></u>_________________<br>
            cfe-commits mailing list<br></div></div>
            <a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank">cfe-commits@cs.uiuc.edu</a> <mailto:<a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank">cfe-commits@cs.uiuc.<u></u>edu</a>><br>
            <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/cfe-commits</a><div class=""><br>
<br>
<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank">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/<u></u>mailman/listinfo/cfe-commits</a><br>
</div></blockquote><span class="HOEnZb"><font color="#888888">
<br>
-- <br>
<a href="http://www.nuanti.com" target="_blank">http://www.nuanti.com</a><br>
the browser experts</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
______________________________<u></u>_________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank">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/<u></u>mailman/listinfo/cfe-commits</a><br>
</div></div></blockquote></div><br></div>