https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63336
Yves Vandriessche <yves.vandriessche at intel dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |yves.vandriessche at intel dot com --- Comment #8 from Yves Vandriessche <yves.vandriessche at intel dot com> --- reconfirming for g++ (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20151010 compiling with -std-gnu++11 -fcilkplus I did find a workaround: I do not get the error if I avoid using the array notation extension on a member. Using a local variable that takes on the pointer value of the member compiles perfectly. > struct Test { > int nrows; > int * rows; > Test(int _nrows, int * in_rows): nrows(_nrows) { > rows = new int[nrows + 1]; > > // internal compiler error: in find_rank, at > c-family/array-notation-common.c:244 > rows[0:nrows+1] = 0; > > // // workaround > // int * _rows = rows; > // _rows[0:nrows+1] = 0; > } > }; > > int main() { > Test t{1024*1024, nullptr}; > }