#include <omp.h>

extern void abort (void);

struct X
{
  int a;
  char b;
  int c;
};

main()
{
  int i = 0;
  struct X x;
  int bad = 0;

  #pragma omp parallel private (i, x) shared (bad)
    {
      i = 5;

      #pragma omp single copyprivate (i, x)
	{
	  i++;
	  x.a = 23;
	  x.b = 42;
	  x.c = 26;
	}

      if (i != 6 || x.a != 23 || x.b != 42 || x.c != 26)
	bad = 1;
    }

  if (bad)
    abort ();

  return 0;
}
