0

我收到以下错误

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 循环的右大括号。

任何帮助表示赞赏!

4

2 回答 2

0

尝试构建没有优化(省略任何优化标志,或-O0明确使用)。

如果这有帮助,您可以尝试看看-O1(一些优化)是否有效,然后-O2,等等。如果幸运的话,您可以找出导致问题的优化方式,然后简单地使用一些-fno-foo标志禁用该优化。

于 2012-06-20T17:50:30.047 回答
0

我上面所做的不是一个有效cilk_for的循环,因为cilk_for循环必须测试控制变量。还必须能够预测循环将运行多少次,在这种情况下这是不可能的。所以正确的版本是

int count=0;
while(table_name[count]!=NULL)
    count++;
cilk_for (index = 0; index!=count; ++index )
{
      /* some work*/
}
于 2012-06-20T18:02:03.433 回答