extern "C" void abort (void);

int g;
#pragma omp declare target (g)

#pragma omp declare target
int
foo (void)
{
  static int s;
  return ++s + g;
}
#pragma omp end declare target

int
bar (void)
{
  static int s;
  #pragma omp declare target to (s)
  return ++s;
}
#pragma omp declare target (bar)

int
main ()
{
  int r;
  #pragma omp target map(from:r)
  {
    r = (foo () == 1) + (bar () == 1);
    r += (foo () == 2) + (bar () == 2);
  }
  if (r != 4)
    abort ();
  return 0;
}
