https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118478
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I don't believe we should do two copy constructors for target, one on the host and one on the device. I don't think there was an agreement on that (unless it changed later) and I think all options are bad, the problem is that for arbitrary copy constructor you really don't know what it is doing with the object it is copying from and it at least when memory isn't shared, it can't copy construct from some host object, it has to be some bitwise copy (or with say some pointer tweaks) from host to the device. And some copy ctors could fail miserably on that.