https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83764
--- Comment #2 from Leslie Zhai <lesliezhai at llvm dot org.cn> --- And GCC 8.x workaround just remove the assert: 6751 /* The virtual tables should always be born with constructors 6752 and we always should assume that they are avaialble for 6753 folding. At the moment we do not stream them in all cases, 6754 but it should never happen that ctor seem unreachable. */ 6755 gcc_assert (init); 6756 if (init == error_mark_node) 6757 { 6758 /* Pass down that we lost track of the target. */ 6759 if (can_refer) 6760 *can_refer = false; 6761 return NULL_TREE; 6762 }