| /* { dg-do compile } */ |
| /* { dg-options "-fcilkplus" } */ |
| |
| int function_call (int x); |
| int function_call (int x) |
| { |
| return x; |
| } |
| |
| int main (void) |
| { |
| int array[100], array2[100][100]; |
| int argc = 4; |
| array[:] = array[:] + array2[:][:]; /* { dg-error "rank mismatch between" } */ |
| |
| if (array[:] + array2[:][:]) /* { dg-error "rank mismatch between" } */ |
| return argc == 5; |
| |
| argc += function_call (array[:] + array2[5:10:2][:]); /* { dg-error "rank mismatch between" } */ |
| |
| argc += function_call (function_call (array[:] + array2[5:10:2][:])); /* { dg-error "rank mismatch between" } */ |
| |
| argc += __sec_reduce_add (array[:], array2[:][:]); /* { dg-error "rank mismatch between" } */ |
| |
| argc += __sec_reduce_add (array2[:][:]) + argc; /* This is OK. */ |
| return argc; |
| } |