/* { dg-do run } */

#include <assert.h>

#define test(type)				\
void						\
test_##type ()					\
{						\
  signed type b[100];				\
  signed type i, j, x = -1, y = -1;		\
						\
  _Pragma("acc parallel loop copyout (b)")	\
  for (j = 0; j > -5; j--)			\
    {						\
      type c = x+y;                             \
      _Pragma("acc loop vector")		\
      for (i = 0; i < 20; i++)			\
	b[-j*20 + i] = c;			\
      b[5-j] = c;                               \
    }						\
						\
  for (i = 0; i < 100; i++)			\
    assert (b[i] == -2);			\
}

test(char)
test(short)

int
main ()
{
  test_char ();
  test_short ();

  return 0;
}
