使用gcc-4.7编译cilk plus时出错

使用gcc-4.7编译cilk plus时出错,gcc,cilk,cilk-plus,Gcc,Cilk,Cilk Plus,我得到以下错误 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*/ } 第107行对应于cilk_for loop的右括号 感谢您的帮助 尝试在没有优化的情况下构建(省略任何优化标志,或明确使用-O0) 如

我得到以下错误

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*/
}
第107行
对应于cilk_for loop的右括号


感谢您的帮助

尝试在没有优化的情况下构建(省略任何优化标志,或明确使用
-O0

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

我上面所做的不是有效的
cilk\u for
循环,因为
cilk\u for
循环必须测试控制变量。此外,还必须能够预测循环将运行多少时间,在这种情况下,这是不可能的。因此,正确的版本是

int count=0;
while(table_name[count]!=NULL)
    count++;
cilk_for (index = 0; index!=count; ++index )
{
      /* some work*/
}

这是一个编译器错误。它在4.6中有效吗?您使用的是4.7的某个预发行版吗?没有。cilk plus只能使用
gcc-4.7
构建,因为intel仅将该分支添加到
gcc-4.7
中。所以,除了发送一个bug报告之外,我什么也做不了。我得到了修复并在上面发布了它。