What | Removed | Added |
---|---|---|
Status | NEW | IN_PROGRESS |
(In reply to Richard Biener from comment #0) > LLVM currently fails to build with GCC 6 (see openSUSE:Factory:Staging:Gcc6): > > [ 5851s] FAILED: > /home/abuild/rpmbuild/BUILD/llvm-3.7.0.src/stage1/bin/clang++ > -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS > -D__STDC_LIMIT_MA > CROS -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter > -Wwrite-st > rings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long > -Wcovere > d-switch-default -Wnon-virtual-dtor -std=c++11 -ffunction-sections > -fdata-sectio > ns -O2 -g -DNDEBUG -fPIC -Ilib/CodeGen -I../lib/CodeGen -Iinclude > -I../include > -fno-exceptions -MMD -MT > lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LexicalScopes. > cpp.o -MF lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LexicalScopes.cpp.o.d -o > lib/Co > deGen/CMakeFiles/LLVMCodeGen.dir/LexicalScopes.cpp.o -c > ../lib/CodeGen/LexicalSc > opes.cpp > [ 5851s] In file included from ../lib/CodeGen/LexicalScopes.cpp:17: > [ 5851s] In file included from ../include/llvm/CodeGen/LexicalScopes.h:20: > [ 5851s] In file included from ../include/llvm/ADT/ArrayRef.h:14: > [ 5851s] In file included from ../include/llvm/ADT/SmallVector.h:29: > [ 5851s] In file included from > /usr/lib64/gcc/x86_64-suse-linux/6/../../../../in > clude/c++/6/memory:79: > [ 5851s] In file included from > /usr/lib64/gcc/x86_64-suse-linux/6/../../../../in > clude/c++/6/functional:55: > [ 5851s] > /usr/lib64/gcc/x86_64-suse-linux/6/../../../../include/c++/6/tuple:1381 > :14: error: no matching constructor for initialization of > 'tuple<llvm::LexicalSc > ope *&&, const llvm::DILocalScope *&&, nullptr_t &&, bool &&>' > [ 5851s] { return > tuple<_Elements&&...>(std::forward<_Elements>(__args)...); > } > [ 5851s] ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > [ 5851s] ../lib/CodeGen/LexicalScopes.cpp:156:36: note: in instantiation of > func > tion template specialization 'std::forward_as_tuple<llvm::LexicalScope *&, > const > llvm::DILocalScope *&, nullptr_t, bool>' requested here > [ 5851s] std::forward_as_tuple(Parent, Scope, > null > ptr, > [ 5851s] ^ > [ 5851s] > /usr/lib64/gcc/x86_64-suse-linux/6/../../../../include/c++/6/tuple:587: > 18: note: candidate template ignored: disabled by 'enable_if' [with _Dummy = > voi > d] > [ 5851s] _TCC<_Dummy>::template > [ 5851s] ^ > > > This looks like a clang bug to me (note how we use clang++ in the above. Thanks for the heads up, I'll report it upstream. > Why again don't we use libc++ with clang? ... We could do that but that means anything that links to llvm will have a libc++ dependency, and not sure how it would end up when you link libc++ and libstdc++ in the same program.