[Bug c/63336] cilkplus array notation ICE in find_rank
yves.vandriessche at intel dot com
gcc-bugzilla@gcc.gnu.org
Tue Aug 30 15:13:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63336
--- Comment #10 from Yves Vandriessche <yves.vandriessche at intel dot com> ---
A similar internal compile error is triggered in find_rank when dealing with
two-dimensional array arguments, for both g++-5.2 and g++-6.1.1.
>void test(double Arr[][16]) {
> double A[16]= {0};
> for(int i=0; i<4; i++) {
> A[:] += Arr[i][:]; // internal compile error:
> // in find_rank, at c-family/array-notation-common.c:232
> }
> printf("%f \n", A[0]);
>}
This only happens on two-dimensional arrays. Passing a regular array (e.g.
Arr[16]) correctly yields a normal compile error (not an ICE); start-index and
length cannot be determined as `double Arr[16]` degenerates into `double *Arr`.
Complete test code has been attached attached.
More information about the Gcc-bugs
mailing list