On Wed, Aug 31, 2022 at 05:01:04PM -0500, Peter Bergner wrote: > The problem goes away if I use use -O1 or above, I drop -flto or I use > the code I originally posted without the ptr_vector_*_type > > The assert in gimple_canonical_types_compatible_p() we're hitting is: > 13673 default: > 13674 /* Consider all types with language specific trees in them > mutually > 13675 compatible. This is executed only from verify_type and false > 13676 positives can be tolerated. */ > 13677 gcc_assert (!in_lto_p); > 13678 return true; > > I have no idea why ptr_vector_*_type would behave differently here than > build_pointer_type (vector_*_type_node). Using the build_pointer_type() > fixed it for me, so that's why I went with it. :-) Maybe this is a bug > in lto???
It looks like left-over debugging code. Or this truly should never happen in LTO? Segher