| /* { 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; | |
| } |