我收到以下错误
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*/
}