https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114445

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Andrew Stubbs from comment #3)
> sizeof(void*) is defined to match. It's a requirement of offloading that all
> basic types are the same, and structs are laid out the same, with the same
> endian and alignment, etc.

I think the void * size indeed better matches, but for say integral types they
don't need to match except for printf family of functions, what is most
important is that the host types have their counterparts in the offloading
compilation (so, corresponding modes exist).  Because the types are laid out
during the compilation before splitting the LTO offloading code.

Reply via email to