https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80035
--- Comment #5 from Tom de Vries <vries at gcc dot gnu.org> --- (In reply to Alexander Monakov from comment #3) > ptxas gets confused around loops lacking > exit edges (and perhaps other "unusual" CFG structures). They can easily > appear even in original source and do not require presence of noreturn > functions: > > extern __device__ void g(); > extern __device__ void h(); > __device__ void f(int v) > { > if (v) goto L; > for (;;) { > g(); > L: > h(); > } > } > This problem goes away for ptxas -ori in cuda 6.5 and later (haven't tried earlier versions).