[PATCH] D54472: Disable invalid isPodLike<> specialization
Fedor Sergeev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 21 03:20:44 PST 2019
fedor.sergeev added a comment.
I'm sorry to bring bad news, but this fails for our gcc 4.9.2 build, when building llvm/tools/llvm-xray/xray-converter.cpp.
Failures looks like this:
] g++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools/llvm-xray -I/llvm/tools/llvm-xray -Iinclude -I/home/fsergeev/work/llvm-upstre
am/llvm/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -fdiagnostics-color -ffunction-sections -fdata-sections -O2 -g -UNDEBUG -fno-exceptions -fno-rtti -c /llvm/tools/llvm-xr
ay/xray-converter.cpp
In file included from /llvm/tools/llvm-xray/xray-converter.cpp:14:0:
/llvm/tools/llvm-xray/trie-node.h: In instantiation of ‘struct TrieNode<{anonymous}::StackIdData>’:
gcc/include/c++/4.9.2/type_traits:1183:45: required by substitution of ‘template<class _Tp1, class _Up1, class> static std::true_type std::__is_assignable_helper<_Tp, _Up>::__test
(int) [with _Tp1 = llvm::detail::trivial_helper<TrieNode<{anonymous}::StackIdData>*>&; _Up1 = const llvm::detail::trivial_helper<TrieNode<{anonymous}::StackIdData>*>&; <template-parameter-1-3> = <missing>]’
gcc/include/c++/4.9.2/type_traits:1192:30: required from ‘class std::__is_assignable_helper<llvm::detail::trivial_helper<TrieNode<{anonymous}::StackIdData>*>&, const llvm::detail:
:trivial_helper<TrieNode<{anonymous}::StackIdData>*>&>’
gcc/include/c++/4.9.2/type_traits:1197:12: required from ‘struct std::is_assignable<llvm::detail::trivial_helper<TrieNode<{anonymous}::StackIdData>*>&, const llvm::detail::trivial
_helper<TrieNode<{anonymous}::StackIdData>*>&>’
gcc/include/c++/4.9.2/type_traits:1209:12: required from ‘struct std::__is_copy_assignable_impl<llvm::detail::trivial_helper<TrieNode<{anonymous}::StackIdData>*>, true>’
gcc/include/c++/4.9.2/type_traits:1215:12: required from ‘struct std::is_copy_assignable<llvm::detail::trivial_helper<TrieNode<{anonymous}::StackIdData>*> >’
/llvm/include/llvm/Support/type_traits.h:142:25: required from ‘constexpr const bool llvm::is_trivially_copyable<TrieNode<{anonymous}::StackIdData>*>::has_trivial_copy_assign’
/llvm/include/llvm/Support/type_traits.h:163:32: required from ‘constexpr const bool llvm::is_trivially_copyable<TrieNode<{anonymous}::StackIdData>*>::value’
/llvm/include/llvm/ADT/SmallVector.h:321:7: required from ‘class llvm::SmallVectorImpl<TrieNode<{anonymous}::StackIdData>*>’
/llvm/include/llvm/ADT/SmallVector.h:845:7: required from ‘class llvm::SmallVector<TrieNode<{anonymous}::StackIdData>*, 4u>’
/llvm/tools/llvm-xray/xray-converter.cpp:174:43: required from here
/llvm/tools/llvm-xray/trie-node.h:38:52: error: ‘TrieNode<AssociatedData>::Callees’ has incomplete type
llvm::SmallVector<TrieNode<AssociatedData> *, 4> Callees;
^
In file included from /llvm/include/llvm/ADT/STLExtras.h:20:0,
from /llvm/include/llvm/ADT/StringRef.h:12,
from /llvm/include/llvm/ADT/StringMap.h:16,
from /llvm/include/llvm/Support/Host.h:16,
from /llvm/include/llvm/ADT/Hashing.h:48,
from /llvm/include/llvm/ADT/ArrayRef.h:12,
from /llvm/include/llvm/ADT/DenseMapInfo.h:16,
from /llvm/include/llvm/ADT/DenseMap.h:16,
from /llvm/tools/llvm-xray/func-id-helper.h:15,
from /llvm/tools/llvm-xray/xray-converter.h:16,
from /llvm/tools/llvm-xray/xray-converter.cpp:12:
Here I have a reproducer that shows the problem on godbolt:
https://gcc.godbolt.org/z/Tgk7M0
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D54472/new/
https://reviews.llvm.org/D54472
More information about the llvm-commits
mailing list