https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120865
Benjamin Schulz <schulz.benjamin at googlemail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |WORKSFORME Status|UNCONFIRMED |RESOLVED --- Comment #8 from Benjamin Schulz <schulz.benjamin at googlemail dot com> --- I solved the problem somehow. It apparently was triggered by a function which was not even called but tried to run a kernel with a class that could not be copied easily. Only the datastruct struct should be copied to the device in my code. I often call these variables with a d prefix, and in one case, I wrote M in a target region, instead of dM where dM is the member variable of type datastruct in M.... So with correct code, this does not happen... I declare this as resolved for me. However, the question is, from the compiler side, whether incorrect code should trigger an ICE, instead of just saying "I cant compile this because of..." especially if the function was not even called.... But that is for gcc to debate.