https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121573
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- "In C or C++ global scope, a variable or array in a device_resident clause will be available to accelerator routines . A C or C++ extern variable may appear in a device_resident clause only if the actual declaration and all extern declarations are also followed by device_resident clauses. " That sounds like a bug in nvc++ then. The spec is what GCC is following here as far as I can tell.