#include template T foo() { T a, b; #pragma acc declare create (a) #pragma acc parallel copyout (b) { a = 5; b = a; } return b; } int main (void) { int rc; rc = foo(); if (rc != 5) abort (); return 0; }