<div dir="ltr">Hi,<div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Apr 22, 2014 at 1:30 AM, Marshall Clow <span dir="ltr"><<a href="mailto:mclow.lists@gmail.com" target="_blank">mclow.lists@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">Author: marshall<br>
Date: Mon Apr 21 17:30:32 2014<br>
New Revision: 206805<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=206805&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=206805&view=rev</a><br>
Log:<br>
Use compiler intrinsic __is_constructible if available<br>
<br>
Modified:<br>
    libcxx/trunk/include/type_traits<br></blockquote><div><br></div><div>This breaks the llvm compilation (in stage2 hence clang is the compiler here) for me on Linux/x86-64:</div><div><br></div><div><br></div><div><div>

[  546s] FAILED: /home/abuild/rpmbuild/BUILD/llvm/stage1/bin/clang++   -DGTEST_HAS_RTTI=0 -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -stdlib=libc++ -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -std=c++11 -fcolor-diagnostics -ffunction-sections -fdata-sections -O2 -g -DNDEBUG -Iunittests/ADT -I../unittests/ADT -Iinclude -I../include -I../utils/unittest/googletest/include    -Wno-variadic-macros -fno-exceptions -fno-rtti -MMD -MT unittests/ADT/CMakeFiles/ADTTests.dir/MakeUniqueTest.cpp.o -MF unittests/ADT/CMakeFiles/ADTTests.dir/MakeUniqueTest.cpp.o.d -o unittests/ADT/CMakeFiles/ADTTests.dir/MakeUniqueTest.cpp.o -c ../unittests/ADT/MakeUniqueTest.cpp</div>

<div>[  546s] 0  clang-3.5       0x0000000000a76d95 llvm::sys::PrintStackTrace(_IO_FILE*) + 37</div><div>[  546s] 1  clang-3.5       0x0000000000a77143</div><div>[  546s] 2  libpthread.so.0 0x00007f6c564c0a10</div><div>[  546s] 3  clang-3.5       0x00000000014c07ec clang::InitializationSequence::InitializeFrom(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>, bool) + 92</div>

<div>[  546s] 4  clang-3.5       0x00000000014c078d clang::InitializationSequence::InitializationSequence(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>, bool) + 429</div>

<div>[  546s] 5  clang-3.5       0x0000000001498516 clang::Sema::BuildTypeTrait(clang::TypeTrait, clang::SourceLocation, llvm::ArrayRef<clang::TypeSourceInfo*>, clang::SourceLocation) + 2550</div><div>[  546s] 6  clang-3.5       0x00000000015c7803</div>

<div>[  546s] 7  clang-3.5       0x00000000015ba688</div><div>[  546s] 8  clang-3.5       0x00000000015bdcea</div><div>[  546s] 9  clang-3.5       0x00000000015be918</div><div>[  546s] 10 clang-3.5       0x00000000015b34a6</div>

<div>[  546s] 11 clang-3.5       0x00000000015b1bcf</div><div>[  546s] 12 clang-3.5       0x00000000015b6e29 clang::Sema::SubstBaseSpecifiers(clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&) + 809</div>

<div>[  546s] 13 clang-3.5       0x00000000015b7516 clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) + 758</div>

<div>[  546s] 14 clang-3.5       0x00000000015b8e95 clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool) + 1781</div>

<div>[  546s] 15 clang-3.5       0x00000000015fd26e clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser&) + 734</div><div>[  546s] 16 clang-3.5       0x00000000015fced0 clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser&) + 16</div>

<div>[  546s] 17 clang-3.5       0x0000000001307851 clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*) + 273</div><div>[  546s] 18 clang-3.5       0x000000000143feee clang::Sema::BuildQualifiedDeclarationNameExpr(clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, bool) + 62</div>

<div>[  546s] 19 clang-3.5       0x00000000015c7c56</div><div>[  546s] 20 clang-3.5       0x00000000015ba040</div><div>[  546s] 21 clang-3.5       0x00000000015bdcea</div><div>[  546s] 22 clang-3.5       0x00000000015be918</div>

<div>[  546s] 23 clang-3.5       0x00000000015b34a6</div><div>[  546s] 24 clang-3.5       0x00000000015b1bcf</div><div>[  546s] 25 clang-3.5       0x00000000015b6e29 clang::Sema::SubstBaseSpecifiers(clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&) + 809</div>

<div>[  546s] 26 clang-3.5       0x00000000015b7516 clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) + 758</div>

<div>[  546s] 27 clang-3.5       0x00000000015b8e95 clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool) + 1781</div>

<div>[  546s] 28 clang-3.5       0x00000000015fd26e clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser&) + 734</div><div>[  546s] 29 clang-3.5       0x00000000015fced0 clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser&) + 16</div>

<div>[  546s] 30 clang-3.5       0x0000000001307851 clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*) + 273</div><div>[  546s] 31 clang-3.5       0x000000000143feee clang::Sema::BuildQualifiedDeclarationNameExpr(clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, bool) + 62</div>

<div>[  546s] 32 clang-3.5       0x00000000015c7c56</div><div>[  546s] 33 clang-3.5       0x00000000015ba040</div><div>[  546s] 34 clang-3.5       0x00000000015c6663</div><div>[  546s] 35 clang-3.5       0x00000000015ba47b</div>

<div>[  546s] 36 clang-3.5       0x00000000015b9ba1 clang::Sema::SubstExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) + 65</div><div>[  546s] 37 clang-3.5       0x00000000015dacfc</div><div>[  546s] 38 clang-3.5       0x00000000015da58b clang::Sema::InstantiateExceptionSpec(clang::SourceLocation, clang::FunctionDecl*) + 539</div>

<div>[  546s] 39 clang-3.5       0x0000000001430129 clang::Sema::ResolveExceptionSpec(clang::SourceLocation, clang::FunctionProtoType const*) + 121</div><div>[  546s] 40 clang-3.5       0x000000000144924e clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*) + 1086</div>

<div>[  546s] 41 clang-3.5       0x00000000013f56eb clang::Sema::BuildCXXConstructExpr(clang::SourceLocation, clang::QualType, clang::CXXConstructorDecl*, llvm::MutableArrayRef<clang::Expr*>, bool, bool, bool, unsigned int, clang::SourceRange) + 107</div>

<div>[  546s] 42 clang-3.5       0x00000000014cb35f</div><div>[  546s] 43 clang-3.5       0x00000000014c51a7 clang::InitializationSequence::Perform(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>, clang::QualType*) + 5687</div>

<div>[  546s] 44 clang-3.5       0x0000000001491862 clang::Sema::BuildCXXNew(clang::SourceRange, bool, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceRange, clang::QualType, clang::TypeSourceInfo*, clang::Expr*, clang::SourceRange, clang::Expr*, bool) + 6034</div>

<div>[  546s] 45 clang-3.5       0x00000000015c1619</div><div>[  546s] 46 clang-3.5       0x00000000015b9d90</div><div>[  546s] 47 clang-3.5       0x00000000015babff</div><div>[  546s] 48 clang-3.5       0x00000000015baed9</div>

<div>[  546s] 49 clang-3.5       0x00000000015c1fc7</div><div>[  546s] 50 clang-3.5       0x00000000015b9e3c</div><div>[  546s] 51 clang-3.5       0x00000000015cb8dd</div><div>[  546s] 52 clang-3.5       0x00000000015c7e81</div>

<div>[  546s] 53 clang-3.5       0x00000000015b9791 clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) + 65</div><div>[  546s] 54 clang-3.5       0x00000000015db557 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool) + 1863</div>

<div>[  546s] 55 clang-3.5       0x00000000015dc4c1 clang::Sema::PerformPendingInstantiations(bool) + 433</div><div>[  546s] 56 clang-3.5       0x00000000012f4e82 clang::Sema::ActOnEndOfTranslationUnit() + 498</div><div>
[  546s] 57 clang-3.5       0x000000000119b708 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 168</div>
<div>[  546s] 58 clang-3.5       0x0000000001198c46 clang::ParseAST(clang::Sema&, bool, bool) + 454</div><div>[  546s] 59 clang-3.5       0x0000000000ee9ab1 clang::CodeGenAction::ExecuteAction() + 65</div><div>[  546s] 60 clang-3.5       0x0000000000bbb3f9 clang::FrontendAction::Execute() + 57</div>

<div>[  546s] 61 clang-3.5       0x0000000000b924dd clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 829</div><div>[  546s] 62 clang-3.5       0x0000000000c22e14 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 3332</div>

<div>[  546s] 63 clang-3.5       0x000000000063b01a cc1_main(char const**, char const**, char const*, void*) + 554</div><div>[  546s] 64 clang-3.5       0x000000000063775e main + 1086</div><div>[  546s] 65 libc.so.6       0x00007f6c556feb15 __libc_start_main + 245</div>

<div>[  546s] 66 clang-3.5       0x00000000006371cf</div><div>[  546s] Stack dump:</div><div>[  546s] 0.<span class="" style="white-space:pre">   </span>Program arguments: /home/abuild/rpmbuild/BUILD/llvm/stage1/bin/clang-3.5 -cc1 -triple x86_64-suse-linux -emit-obj -disable-free -disable-llvm-verifier -main-file-name MakeUniqueTest.cpp -mrelocation-model pic -pic-level 2 -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -momit-leaf-frame-pointer -g -ffunction-sections -fdata-sections -coverage-file /home/abuild/rpmbuild/BUILD/llvm/stage2/unittests/ADT/CMakeFiles/ADTTests.dir/MakeUniqueTest.cpp.o -resource-dir /home/abuild/rpmbuild/BUILD/llvm/stage1/bin/../lib64/clang/3.5.0 -dependency-file unittests/ADT/CMakeFiles/ADTTests.dir/MakeUniqueTest.cpp.o.d -MT unittests/ADT/CMakeFiles/ADTTests.dir/MakeUniqueTest.cpp.o -D GTEST_HAS_RTTI=0 -D NDEBUG -D _GNU_SOURCE -D __STDC_CONSTANT_MACROS -D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -D NDEBUG -I unittests/ADT -I ../unittests/ADT -I include -I ../include -I ../utils/unittest/googletest/include -internal-isystem /usr/include/c++/v1 -internal-isystem /usr/local/include -internal-isystem /home/abuild/rpmbuild/BUILD/llvm/stage1/bin/../lib64/clang/3.5.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wall -W -Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wno-variadic-macros -pedantic -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /home/abuild/rpmbuild/BUILD/llvm/stage2 -ferror-limit 19 -fmessage-length 0 -fvisibility-inlines-hidden -mstackrealign -fno-rtti -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o unittests/ADT/CMakeFiles/ADTTests.dir/MakeUniqueTest.cpp.o -x c++ ../unittests/ADT/MakeUniqueTest.cpp </div>

<div>[  546s] 1.<span class="" style="white-space:pre">        </span><eof> parser at end of file</div><div>[  546s] 2.<span class="" style="white-space:pre">      </span>../include/llvm/ADT/STLExtras.h:268:1: instantiating function definition 'make_unique'</div>

<div>[  546s] clang-3.5: error: unable to execute command: Segmentation fault</div><div>[  546s] clang-3.5: error: clang frontend command failed due to signal (use -v to see invocation)</div><div>[  546s] clang version 3.5.0 (trunk 207088)</div>

<div>[  546s] Target: x86_64-suse-linux</div><div>[  546s] Thread model: posix</div><div>[  546s] clang-3.5: note: diagnostic msg: PLEASE submit a bug report to <a href="http://llvm.org/bugs/">http://llvm.org/bugs/</a> and include the crash backtrace, preprocessed source, and associated run script.</div>

<div>[  546s] clang-3.5: note: diagnostic msg: </div><div>[  546s] ********************</div><div>[  546s] </div><div>[  546s] PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:</div><div>[  546s] Preprocessed source(s) and associated run script(s) are located at:</div>

<div>[  546s] clang-3.5: note: diagnostic msg: /tmp/MakeUniqueTest-ff6298.cpp</div><div>[  546s] clang-3.5: note: diagnostic msg: /tmp/MakeUniqueTest-ff6298.sh</div><div>[  546s] clang-3.5: note: diagnostic msg: </div><div>

[  546s] </div><div>[  546s] ********************</div><div>[  549s] ninja: build stopped: subcommand failed.</div></div><div><br></div><div><br></div><div> </div></div></div></div>