On 19 Mar 2017, at 08:00, Adrian Chadd <adrian_at_freebsd.org> wrote: > > ===> lib/clang (all) > ===> lib/clang/libllvm (all) > In file included from > /usr/home/adrian/work/freebsd/head-embedded/obj/mips_ap/mips.mips/usr/home/adrian/work/freebsd/head-embedded/src/tmp/usr/include/c++/v1/math.h:309:0, > from > /usr/home/adrian/work/freebsd/head-embedded/obj/mips_ap/mips.mips/usr/home/adrian/work/freebsd/head-embedded/src/tmp/usr/include/c++/v1/cmath:305, > from > /usr/home/adrian/work/freebsd/head-embedded/src/lib/clang/include/llvm/Support/DataTypes.h:34, > from > /usr/home/adrian/work/freebsd/head-embedded/src/contrib/llvm/include/llvm/ADT/Hashing.h:48, > from > /usr/home/adrian/work/freebsd/head-embedded/src/contrib/llvm/include/llvm/ADT/ArrayRef.h:13, > from > /usr/home/adrian/work/freebsd/head-embedded/src/contrib/llvm/include/llvm/ADT/DenseMapInfo.h:17, > from > /usr/home/adrian/work/freebsd/head-embedded/src/contrib/llvm/include/llvm/ADT/DenseMap.h:17, > from > /usr/home/adrian/work/freebsd/head-embedded/src/contrib/llvm/include/llvm/IR/ValueMap.h:29, > from > /usr/home/adrian/work/freebsd/head-embedded/src/contrib/llvm/include/llvm/Transforms/Utils/ValueMapper.h:18, > from > /usr/home/adrian/work/freebsd/head-embedded/src/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp:15: > /usr/home/adrian/work/freebsd/head-embedded/obj/mips_ap/mips.mips/usr/home/adrian/work/freebsd/head-embedded/src/tmp/usr/include/c++/v1/type_traits: > In substitution of 'template<class _Tp, class ... _Args, class> static > std::__1::true_type > std::__1::__is_constructible_helper::__test_nary(int) [with _Tp = > {anonymous}::MDNodeMapper::Data; _Args = {}; <template-parameter-1-3> > = <missing>]': > /usr/home/adrian/work/freebsd/head-embedded/obj/mips_ap/mips.mips/usr/home/adrian/work/freebsd/head-embedded/src/tmp/usr/include/c++/v1/type_traits:2993:59: > required from 'struct > std::__1::__is_default_constructible<{anonymous}::MDNodeMapper::Data, > false>' > /usr/home/adrian/work/freebsd/head-embedded/obj/mips_ap/mips.mips/usr/home/adrian/work/freebsd/head-embedded/src/tmp/usr/include/c++/v1/type_traits:3015:8: > required from 'struct > std::__1::__libcpp_is_constructible<{anonymous}::MDNodeMapper::Data>' > /usr/home/adrian/work/freebsd/head-embedded/obj/mips_ap/mips.mips/usr/home/adrian/work/freebsd/head-embedded/src/tmp/usr/include/c++/v1/type_traits:3043:29: > required from 'struct > std::__1::is_constructible<{anonymous}::MDNodeMapper::Data>' > /usr/home/adrian/work/freebsd/head-embedded/obj/mips_ap/mips.mips/usr/home/adrian/work/freebsd/head-embedded/src/tmp/usr/include/c++/v1/type_traits:3229:29: > required from 'struct > std::__1::is_default_constructible<{anonymous}::MDNodeMapper::Data>' > /usr/home/adrian/work/freebsd/head-embedded/obj/mips_ap/mips.mips/usr/home/adrian/work/freebsd/head-embedded/src/tmp/usr/include/c++/v1/utility:352:15: > required from 'static constexpr bool std::__1::pair<_T1, > _T2>::_CheckArgs::__enable_default() [with _U1 = const > llvm::Metadata*; _U2 = {anonymous}::MDNodeMapper::Data; _T1 = const > llvm::Metadata*; _T2 = {anonymous}::MDNodeMapper::Data]' > /usr/home/adrian/work/freebsd/head-embedded/obj/mips_ap/mips.mips/usr/home/adrian/work/freebsd/head-embedded/src/tmp/usr/include/c++/v1/utility:403:71: > required by substitution of 'template<bool _Dummy, typename > std::__1::enable_if<typename std::__1::conditional<_MaybeEnable, > std::__1::pair<const llvm::Metadata*, > {anonymous}::MDNodeMapper::Data>::_CheckArgs, > std::__1::__check_tuple_constructor_fail>::type:: > __enable_default<const Metadata*, Data>(), bool>::type <anonymous> > > constexpr std::__1::pair<_T1, _T2>::pair() [with bool _Dummy = true; > typename std::__1::enable_if<typename > std::__1::conditional<_MaybeEnable, std::__1::pair<const > llvm::Metadata*, {anonymous}::MDNodeMapper::Data>::_CheckArgs, > std::__1::__check_tuple_constructor_fail>::type:: > __enable_default<const Metadata*, Data>(), bool>::type <anonymous> = > <missing>]' > /usr/home/adrian/work/freebsd/head-embedded/src/contrib/llvm/include/llvm/ADT/DenseMap.h:39:8: > required from 'struct llvm::detail::DenseMapPair<const > llvm::Metadata*, {anonymous}::MDNodeMapper::Data>' > /usr/home/adrian/work/freebsd/head-embedded/src/contrib/llvm/include/llvm/Support/AlignOf.h:111:6: > required from 'class > llvm::detail::AlignerImpl<llvm::detail::DenseMapPair<const > llvm::Metadata*, {anonymous}::MDNodeMapper::Data> [32], > llvm::SmallDenseMap<const llvm::Metadata*, > {anonymous}::MDNodeMapper::Data, 32u>::LargeRep, char, char, char, > char, char, char, char, char>' > /usr/home/adrian/work/freebsd/head-embedded/src/contrib/llvm/include/llvm/Support/AlignOf.h:138:8: > required from 'struct > llvm::AlignedCharArrayUnion<llvm::detail::DenseMapPair<const > llvm::Metadata*, {anonymous}::MDNodeMapper::Data> [32], > llvm::SmallDenseMap<const llvm::Metadata*, > {anonymous}::MDNodeMapper::Data, 32u>::LargeRep, char, char, char, > char, char, char, char, char>' > /usr/home/adrian/work/freebsd/head-embedded/src/contrib/llvm/include/llvm/ADT/DenseMap.h:759:59: > required from 'class llvm::SmallDenseMap<const llvm::Metadata*, > {anonymous}::MDNodeMapper::Data, 32u>' > /usr/home/adrian/work/freebsd/head-embedded/src/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp:182:47: > required from here > /usr/home/adrian/work/freebsd/head-embedded/obj/mips_ap/mips.mips/usr/home/adrian/work/freebsd/head-embedded/src/tmp/usr/include/c++/v1/type_traits:2980:9: > error: constructor required before non-static data member for > '{anonymous}::MDNodeMapper::Data::HasChanged' has been parsed > class = decltype(_Tp(_VSTD::declval<_Args>()...))> > ^ > /usr/home/adrian/work/freebsd/head-embedded/obj/mips_ap/mips.mips/usr/home/adrian/work/freebsd/head-embedded/src/tmp/usr/include/c++/v1/type_traits:2980:9: > error: constructor required before non-static data member for > '{anonymous}::MDNodeMapper::Data::ID' has been parsed > *** Error code 1 FWIW, I finally took some time to look at this properly, and it turns out it is a gcc bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70528 The fix, https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=235002, has not been merged to the gcc 5.x branch, even though it seems fairly trivial. We might want to apply this one manually to our gcc 5 ports, for the mean time, while prodding upstream to merge it. -Dimitry
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:11 UTC