使用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报告之外,我什么也做不了。我得到了修复并在上面发布了它。