On Thu, Nov 28, 2019 at 4:04 PM Joseph Myers <jos...@codesourcery.com> wrote: > > On Thu, 28 Nov 2019, Julian Brown wrote: > > > Unlike e.g. the _FloatN types, when decimal floating-point types are > > enabled, common tree nodes are created for each float type size (e.g. > > dfloat32_type_node) and also a pointer to each type is created > > (e.g. dfloat32_ptr_type_node). tree-streamer.c:record_common_node emits > > these like: > > As far as I can tell, nothing actually uses those pointer nodes, or the > corresponding BT_DFLOAT32_PTR etc. defined in builtin-types.def. I don't > know if they ever were used, or if they were just added by analogy to e.g. > float_ptr_type_node. > > So I'd suggest simply removing all references to those tree nodes and > corresponding BT_*, from builtin-types.def, jit/jit-builtins.c (commented > out), tree-core.h, tree.c, tree.h. Hopefully that will solve the > offloading problem.
Indeed that seems to be the case and would be my suggestion as well. The issue with LTO streaming here is that pointers get streamed as two things but the error-mark replacement as one, that causes the mismatches. So please just remove those three global types. Richard. > -- > Joseph S. Myers > jos...@codesourcery.com