我收到以下错误
main.c:107:2: internal compiler error: in extract_for_fields, at cilk-spawn.c:1857
}
相关线路是:
cilk_for (index = 0; table_name[index]!=NULL; ++index )
{
/* some work*/
}
Line 107
对应于 cilk_for 循环的右大括号。
任何帮助表示赞赏!
尝试构建没有优化(省略任何优化标志,或-O0
明确使用)。
如果这有帮助,您可以尝试看看-O1
(一些优化)是否有效,然后-O2
,等等。如果幸运的话,您可以找出导致问题的优化方式,然后简单地使用一些-fno-foo
标志禁用该优化。
我上面所做的不是一个有效cilk_for
的循环,因为cilk_for
循环必须测试控制变量。还必须能够预测循环将运行多少次,在这种情况下这是不可能的。所以正确的版本是
int count=0;
while(table_name[count]!=NULL)
count++;
cilk_for (index = 0; index!=count; ++index )
{
/* some work*/
}