使用 GCC-4.7 编译 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*/
}

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*/
}

相关内容

  • 没有找到相关文章

最新更新