Ismail Donmez changed bug 964143
What Removed Added
Status NEW IN_PROGRESS

Comment # 1 on bug 964143 from
(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.


You are receiving this mail because: